Terraform Planの実行速度を上げる3つの方法
管理するリソースが増えるにつれ、terraform planコマンドの実行に
とんでもなく時間がかかる……。
そんな経験はありませんか?
この記事では、インフラエンジニアの頭を悩ませるそんなお悩みを解決し、
Terraformでの変更を高速化する3つの方法を共有します。
--parallelism オプションで 並列処理の数を増やす
Terraform公式で -parallelism というオプションが存在します。
説明は以下の通りです。
-parallelism=n - Limit the number of concurrent operation as Terraform walks the graph. Defaults to 10.
parallelismオプションを活用し、並列処理の数を増やします。(デフォルトは10)
自分のPCのスペックにもよりますが、20や30に変えると
ある程度の改善が見込めるでしょう。
terraform plan -parallelism=20
環境変数として設定することも可能です。
export TF_CLI_ARGS_plan=20
.terraformignore を使う
変更しないファイルを .terraformignore に追加すると
その分は差分検知されないので、
terraform planの実行速度が向上します。
example: .terraformignore
/dir ec2.tf
-target オプションを使う
terraform plan , terraform apply といったコマンドを実行する際は
-target オプションを使って、特定のリソースだけに対象を絞ることができます。
たとえばEC2インスタンスにだけterraform planを実行したい場合、
以下のようなリソース名を設定していれば
resource "aws_instance" "this" { ... }
このようにtargetを指定することが可能です。
terraform plan --target=aws_instance.this
いかがだったでしょうか。
ぜひ様々な手法を用いてTerraformを快適に使いましょう。