Terraformは、クラウドのインフラストラクチャとリソースを安全かつ効率的にプレビュー、設定、管理できるオープンソースツールです。 このトピックでは、Terraformの概要と、Key Management Service (KMS) での使用事例について説明します。
Terraformの紹介
Terraformは、ITインフラストラクチャの自動オーケストレーションをサポートするツールです。 Terraformを使用すると、コードを使用してITリソースを管理および維持できます。 詳細については、「Terraformとは何ですか?」をご参照ください。
Terraformは、Alibaba Cloudサービスまたはサードパーティのクラウドサービスのワークロードに設定ファイルをデプロイし、設定ファイルのバージョンを管理できる使いやすいCLIを提供します。 Terraformでは、クラウドトポロジの構築に必要なインフラストラクチャリソースを設定ファイルで定義できます。 リソースには、仮想マシン (VM) 、ストレージアカウント、およびネットワークインターフェイスが含まれます。
TerraformをAlibaba Cloudプロバイダーと統合して、新しいインフラストラクチャをサポートできます。 テンプレートを使用して、Alibaba Cloudプロバイダーを設定し、Alibaba cloud上のクラウドインフラストラクチャを定義、プレビュー、デプロイできます。
Terraformを使用すると、Elastic Compute services (ECS) 、Virtual Private Cloud (VPC) 、ApsaraDB RDS、Server Load Balancer (SLB) などの複数のAlibaba Cloudサービスのリソースを作成、変更、削除できます。
Terraformを使用したKMSリソースの管理
KMSでは、Terraformを使用して次のリソースを管理できます。
リソース | 説明 | プロバイダのバージョン |
エイリアスを作成および管理します。 | 1.77.0以降 | |
アプリケーションアクセスポイント (AAP) を作成および管理します。 詳細については、「AAPの作成」をご参照ください。 | 1.210.0以降 | |
クライアントキーを作成および管理します。 詳細については、「AAPの作成」をご参照ください。 | 1.210.0以降 | |
ソフトウェアキー管理タイプのインスタンスを購入して有効にします。 詳細については、「ソフトウェアキー管理タイプのKMSインスタンスの購入と有効化」をご参照ください。 重要 Terraformを使用して、ソフトウェアキー管理タイプのインスタンスのみを購入および有効化できます。 Terraformを使用して、ハードウェアキー管理タイプのインスタンスを購入および有効化することはできません。 | 1.210.0以降 | |
キーを作成および管理します。 詳細については、「キーの作成」をご参照ください。 | 1.85.0以降 | |
キーバージョンを作成および管理します。 | 1.85.0以降 | |
ネットワークアクセスルールを作成および管理します。 詳細については、「AAPの作成」をご参照ください。 | 1.210.0以降 | |
権限ポリシーを作成および管理します。 詳細については、「AAPの作成」をご参照ください。 | 1.210.0以降 | |
秘密を作成および管理します。 詳細については、「シークレットの作成」をご参照ください。 | 1.76.0以降 |
Terraformの使用
Terraform 0.14.0以降をインストールします。
Alibaba Cloudアカウントに関する情報を設定します。
説明権限管理の柔軟性とセキュリティを向上させるために、Terraformという名前のRAM (Resource Access management) ユーザーを作成し、RAMユーザーのAccessKeyペアを作成してから、AliyunKMSFullAccess権限をRAMユーザーに付与することを推奨します。 詳細については、「RAMユーザーの作成」および「RAMユーザーへの権限付与」をご参照ください。
Alibaba Cloudの認証方法を選択して、Terraformに必要な認証情報を提供できます。
(推奨) 方法1: 認証情報を格納する環境変数を設定します。
環境変数を設定するために使用される方法は、オペレーティングシステムによって異なります。 詳細については、「Linux、macOS、およびWindowsでの環境変数の設定」をご参照ください。
export ALICLOUD_ACCESS_KEY="******" export ALICLOUD_SECRET_KEY="******" export ALICLOUD_REGION="******"方法2: 設定ファイルの
providerコードブロックで認証情報を指定します。provider "alicloud" { access_key = "******" secret_key = "******" region = "******" }
プロバイダーのバージョンをアップグレードする必要があるかどうかを確認します。
プロバイダーのバージョンを照会します。
terraform -versionプロバイダーのバージョンをアップグレードします。
terraform init -upgrade
Terraformをインストールしたら、terraform -- versionコマンドを実行してTerraformのバージョンを確認できます。 Terraformのバージョンが0.14.0より前の場合は、必要なバージョンをインストールしてTerraformを上書きします。