私個人の解釈ですが、「Terraform」の「Terra」はラテン語(イタリア語)で「地面」、「form」は「形成する」なので、Terraformは地面の形成、つまり基礎工事となります。
同種のツールとして、引き合いに出される「Ansible」は、その上に立つ建物(上物)の構成に向いていると考えており、
「Infrastructure as Code」を実現する上で、TerraformとAnsibleをうまく使い分けれると良いと考えています。
まずはこれだけは押さえたいTerraformの基本コマンドを4つ。
(逆に言えば、これだけで大丈夫⁉)
【terraform init】
ワークスペースで必要なプラグインを読み込みます。
このコマンドは毎回実行する必要はありませんが、最初と構成が変更される場合は実行するようにします。
【terraform plan】
実際にどのような環境が構築されるかを、詳細に表示してくれるので、事前に確認/検証を行うことができます。
【terraform apply】
実際に環境を構築、もしくは更新を反映させます。
※更新には、現環境への修正レベルの更新と現環境を破棄して再作成するレベルの更新があります。
【terraform destroy】
前述のterraform apply で作成した環境を破棄します。