Terraformでいう「Dry Run」は、実際にはリソースを変更せず、「何が変更されるか」を確認することです。
WindowsでもLinuxでも基本的な方法は同じです。
方法1:terraform plan(最も一般的)
これがTerraformのDry Runです。
terraform plan
実行すると、
+ create~ update- destroy
のように、
を表示します。
この時点ではAWSやAzureなどのリソースは変更されません。
方法2:Planファイルを作成する
実務ではこちらをよく使います。
terraform plan -out=tfplan
これにより、実行計画をtfplanファイルとして保存できます。
後から内容を確認するには、
terraform show tfplan
問題なければ、
terraform apply tfplan
と実行すると、planした内容そのままが適用されます。
これにより、「レビューした内容と違うものが適用される」リスクを減らせます。
方法3:差分だけ見たい場合
変更点を簡潔に見たい場合は、
terraform plan -compact-warnings
や、必要に応じて出力をファイルへ保存することもあります。
terraform plan > plan.txt
Windowsでの実行手順
PowerShellまたはコマンドプロンプトでTerraformファイルのあるフォルダへ移動します。
cd C:\terraform\sample
初回のみ初期化します。
terraform init
その後、
terraform validate
で構文チェックを行い、
terraform plan
でDry Runを実施します。
よくある検証の流れ
実務では次のような流れが一般的です。
terraform init ↓terraform fmt ↓terraform validate ↓terraform plan ↓(内容をレビュー) ↓terraform apply
注意点
terraform planは変更は行いませんが、プロバイダー(AWS、Azure、GCPなど)には接続して現在の状態を取得します。そのため、
は必要です。
また、terraform planは構文チェックだけではなく、現在のインフラの状態とコードを比較して差分を表示するため、「Dry Run」でありながら実環境との通信を伴う点を理解しておくとよいでしょう。
この記事へのコメント