Terraform を使用してクラウドインフラストラクチャを定義、プレビュー、デプロイする前に、Terraform をインストールして構成します。
手順
Terraform から、お使いのオペレーティングシステムに適したパッケージをダウンロードします。
パッケージを /usr/local/bin に展開します。
terraformを実行して、インストールを検証します。次のような出力が表示されます。
username:~$ terraform Usage: terraform [-version] [-help] <command> [args]セキュリティを強化するために RAM ユーザーを作成します。
Alibaba Cloud アカウントを使用して Resource Access Management (RAM) コンソールにログオンします。
Terraform という名前の RAM ユーザーを作成し、AccessKey ペアを作成します。 詳細については、「RAM ユーザーの作成」をご参照ください。
RAM ユーザーに権限を付与します。 この例では、AliyunEDASFullAccess と
AliyunVPCFullAccessをTerraformユーザーに付与します。 詳細については、「RAM ユーザーへの権限付与」をご参照ください。
テストディレクトリを作成します。
各 Terraform プロジェクトには、独自の作業ディレクトリが必要です。 terraform-test という名前のテストディレクトリを作成します。
[user@test bin]#mkdir terraform-testterraform-test ディレクトリに移動します。
[user@test bin]#cd terraform-test [user@test terraform-test]#構成ファイルを作成します。
Terraform は、ディレクトリ内のすべての *.tf ファイルと *.tfvars ファイルを読み取ります。 構成を複数のファイルに整理できます。
provider.tf -- プロバイダーを構成するために使用されます terraform.tfvars -- プロバイダーの構成に必要な変数を構成するために使用されます varable.tf -- 普遍的な変数を構成するために使用されます resource.tf -- リソースを定義するために使用されます data.tf -- パッケージファイルを定義するために使用されます output.tf -- 出力を構成するために使用されますたとえば、認証情報を使用して provider.tf を作成します。
[user@test terraform-test]# vim provider.tf provider "alicloud" { region = "cn-beijing" access_key = "LTA**********NO2" secret_key = "MOk8x0*********************wwff" }構成の詳細については、「alicloud_edas_application」をご参照ください。
作業ディレクトリを初期化します。
[user@test terraform-test]#terraform init プロバイダープラグインを初期化しています... - https://releases.hashicorp.com で利用可能なプロバイダープラグインを確認しています... - プロバイダー "alicloud" (1.25.0) のプラグインをダウンロードしています... 次のプロバイダーは構成にバージョン制約がないため、最新バージョンがインストールされました。 破壊的変更を含む可能性のある新しいメジャーバージョンへの自動アップグレードを防ぐために、以下で提案されている制約文字列を使用して、構成内の対応するプロバイダーブロックに version = "..." 制約を追加することをお勧めします。 * provider.alicloud: version = "~> 1.25" Terraform は正常に初期化されました! これで Terraform の使用を開始できます。 "terraform plan" を実行して、インフラストラクチャに必要な変更を確認してください。 すべての Terraform コマンドが機能するはずです。 Terraform のモジュールまたはバックエンド構成を設定または変更した場合は、このコマンドを再実行して作業ディレクトリを再初期化してください。 忘れた場合、他のコマンドがそれを検出し、必要に応じて再実行するように通知します。重要作業ディレクトリと構成ファイルを作成した後、
terraform initを実行する必要があります。