Terraform は、Resource Orchestration Service(ROS)でマネージドサービスとして利用できます。 Terraform テンプレートを作成して、Alibaba Cloud、Amazon Web Services(AWS)、および Microsoft Azure リソースを定義し、リソースパラメータを指定し、リソースの依存関係を設定できます。
シナリオ
AWS や Microsoft Azure などのサードパーティクラウドプラットフォームのリソースを Alibaba Cloud 上で作成および管理する場合、Terraform テンプレートでサードパーティリソースを定義し、リソースの依存関係を設定できます。 これにより、クラウドプラットフォーム全体のリソースを便利に管理できます。
背景情報
Terraform テンプレートの構造の詳細については、「Terraform テンプレートの構造」をご参照ください。
手順
[ROS コンソール] にログオンします。
左側のナビゲーションペインで、[テンプレート] > [マイテンプレート] を選択します。
[マイテンプレート] ページで、[テンプレートの作成] をクリックします。
[テンプレートの種類] パラメータを [terraform テンプレート] に設定します。
Terraform テンプレートを作成します。
次のセクションでは、Terraform テンプレートを作成する方法の例を示します。 この例では、仮想プライベートクラウド(VPC)に vSwitch が作成されます。
modules/vpc/ディレクトリに main.tf という名前のファイルを作成し、VPC を作成するためのファイルコンテンツを入力します。[ディレクトリ] セクションの右上隅にある [+] アイコンをクリックし、[フォルダの作成] を選択します。
[フォルダの作成] ダイアログボックスに modules と入力し、[OK] をクリックします。 [ディレクトリ] セクションに modules という名前のフォルダが作成されます。
modules フォルダにポインタを移動し、右側にある [+] アイコンをクリックして、[フォルダの作成] を選択します。
[フォルダの作成] ダイアログボックスに
vpcと入力し、[OK] をクリックします。 modules フォルダにvpcという名前のフォルダが作成されます。vpcフォルダにポインタを移動し、右側にある [+] アイコンをクリックして、[ファイルの作成] を選択します。[ファイルの作成] ダイアログボックスに main.tf と入力し、[OK] をクリックします。
vpcフォルダに main.tf という名前のファイルが作成されます。main.tf ファイルをクリックし、右側のコードエディタに次のコードを入力して VPC を作成します。
resource "alicloud_vpc" "vpc" { name = "tf_test" cidr_block = "172.16.0.0/12" } output "vpc_id" { value = "${alicloud_vpc.vpc.id}" }
ルートディレクトリの main.tf ファイルを編集して、VPC に vSwitch を作成します。
ルートディレクトリの main.tf ファイルをクリックします。
右側のコードエディタに、次のコードを入力して vSwitch を作成します。
module "my_vpc" { source = "./modules/vpc" } resource "alicloud_vswitch" "vsw" { vpc_id = "${module.my_vpc.vpc_id}" cidr_block = "172.16.0.0/21" availability_zone = "cn-shanghai-b" } output "vsw_id" { value = "${alicloud_vswitch.vsw.id}" }
[テンプレートの作成] ページの左下隅で、 を選択します。
[マイテンプレートとして保存] ダイアログボックスで、[テンプレート名]、[テンプレートの説明]、[リソースグループ]、および [タグ] パラメータを設定します。
[OK] をクリックします。