HiRoLabブログ

HiRoのゆるふわIT備忘録

はじめてのTerraform Cloudで仮想マシンを作ってみた

■はじめに

Terraform Cloudを使い自宅ESXi環境にVM 2台をデプロイしたブログ

本ブログは過去に実施したTerraformでVMwareの自動化にチャレンジした内容を
使い方を含めTerraform Cloudでやってみた内容となっている

hiro1325.hatenablog.com

■目次

■対象者

・Terraform Cloudで自動化を初めようと思っている人

VMware周りの自動化に興味がある人

■前提知識

・gitの操作が出来る

・vSphereの基礎的な知識がある

・dockerの基礎的な知識がある

■構成図

Terraform Cloud実行における構成図は以下

■terrform cloudの設定

ワークスペースの作成

プロジェクトの選択としてDefault Projectを選択

ワークスペースの作成

githubと連携したいので
Version Control Workflowを選択

github.comを選択

次にリポジトリを選択

ワークスペース名を入力して作成

作成されていることをワークスペースの画面より確認

terrform cloud agentの設定

terraform cloud agentを使用には terraform cloudでtokenを発行

作成済みのOrganization nameを選択 setting->Agentsにてagent poolを作成

pool名を入力して次へ

Descriptionを入力してtoken作成

次の工程の環境変数とdockerコンテナ起動で使用するので 出力された以下コマンドや変数をメモして終了 -dオプションが無いことに注意

■ terraform cloud agent用VMの設定

・agent用のVM(Ubuntu)を準備 事前のインストールパッケージ

apt install docker

環境変数にtokenやagent名を設定しておく

export TFC_AGENT_TOKEN=<生成されたtoken>
export TFC_AGENT_NAME=<エージェント名>

次にterraform cloud agentのコンテナを起動
terraform cloudでtoken発行した際に出力されたdockerコマンドを入力

docker run -d -e TFC_AGENT_TOKEN -e TFC_AGENT_NAME hashicorp/tfc-agent:latest

私の場合はバックグラウンドで実行させてたいので-dオプションを付けて実行

以前のブログで検証したterraformのファイルをgithubにpush

ワークスペースの実行

ワークスペースの実行には「New Run」をクリック

次に実行するRun nameを入力

terraform planが正常に終了
confirm&applyをクリック

必要に応じてコメントを入力
confirm planを実行
※コメントは必須ではありません

成功したこと確認

vCenterのタスクの開始時刻からもApplyの時刻と同じことから
正常に作成されたことを確認

■お片付け

最後に作成した環境のお片付けを行う terraform destoroyをTerraform Cloudで実行する手順にあたる

ワークスペースの Settings->Destruction and Deletionにて Queue destroy planをクリック

確認の為のワークスペース名が求められるので入力しQueue destroy planをクリック

作成時と同様に destoroyのterraform plan正常終了したので
confirm & applyをクリック

同様にコメントを入力して confirm planをクリック

成功してVMが削除されたことが分かる

同様にvCenterからも確認

■まとめ

今回は前回terraformのコマンドのみで実施した検証をTerraform Cloudで同じことをやってみた
次はAvi Load Balancerに対して実施予定