Traffine I/O

日本語

2022-10-09

Terraformの主要コマンド

はじめに

Terraformは、インフラストラクチャのタスクを自動化することができ、複雑なインフラストラクチャ環境を管理することが容易になります。

この記事では、terraform initterraform planterraform applyterraform destroyterraform stateterraform validateterraform fmt、およびterraform providersを含む、必要不可欠なTerraformコマンドについて探求します。

また、terraform applyコマンドのオプションについても説明し、Terraformが変更を適用する方法をカスタマイズする方法を紹介します。

terraform init

terraform initは、必要なプロバイダーとモジュールをダウンロードし、.terraformディレクトリを作成して構成ファイルを保存し、現在のインフラストラクチャの状態を保存するterraform.tfstateファイルを生成して、新しいまたは既存のTerraformプロジェクトを初期化します。以下は例です。

bash
$ terraform init

terraform plan

terraform planは、Terraformコードを分析し、作成、変更、または削除されるリソースを示します。

bash
$ terraform plan

terraform apply

terraform applyは、Terraformが前の段階で計画した変更を適用し、Terraformコードで定義したリソースを作成、変更、または削除することで変更を適用します。

bash
$ terraform apply

terraform applyコマンドの基本的な使用方法に加えて、Terraformが変更を適用する方法をカスタマイズするために使用できるいくつかのオプションがあります。

-auto-approve

このオプションは、確認のプロンプトを表示せずに、変更を自動的に承認および適用します。

bash
$ terraform apply -auto-approve

-var

このオプションを使用すると、コマンドラインで変数値を指定できます。

bash
$ terraform apply -var="region=us-west-2"

-target

このオプションを使用すると、全てのリソースに変更を適用する代わりに、特定のリソースに変更を適用できます。

bash
$ terraform apply -target=aws_instance.example

-input=false

このオプションは、確認プロンプトや変数入力などのユーザー入力を無効にします。

bash
$ terraform apply -input=false

-parallelism=n

このオプションは、Terraformが並列で実行するリソース操作の数を制御できます。

bash
$ terraform apply -parallelism=10

-refresh=false

このオプションは、変更を適用する前に状態データを更新しないようにします。

bash
$ terraform apply -refresh=false

terraform destroy

terraform destroyは、Terraformが作成したリソースを破棄します。このコマンドは、インフラストラクチャを解体したり、新しく始める場合に便利です。

bash
$ terraform destroy

terraform state

terraform stateは、terrafrom.tfstateファイルのリソースの状態を表示および変更できるようにすることで、インフラストラクチャの状態を管理します。

bash
$ terraform state list

terraform validate

terraform validateは、構文エラーや無効なリファレンス、その他の問題をチェックすることで、Terraformコードを検証します。

bash
$ terraform validate

terraform fmt

terraform fmtは、Terraformコードを一貫してフォーマットし、読みやすく理解しやすくします。

bash
$ terraform fmt

terraform providers

terraform providersは、リスト、インストール、およびプロバイダーの更新を許可することで、Terraformコードで使用するプロバイダーを管理します。

bash
$ terraform providers

参考

https://developer.hashicorp.com/terraform/cli/commands

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!