Resource Orchestration Service (ROS) は、マネージド Terraform 機能を提供します。Terraform テンプレートを作成して、Alibaba Cloud、AWS、または Azure のリソースを定義し、リソースパラメーターを設定し、リソース間の依存関係を設定できます。
ユースケース
Alibaba Cloud、AWS、Azure などの複数のクラウドプラットフォームにまたがるリソースを単一のテンプレートから定義および管理するには、Terraform テンプレートでターゲットリソースとその依存関係を宣言します。次の手順では、Alibaba Cloud のリソースをプロビジョニングする Terraform テンプレートを作成する方法を示します。同じワークフローが AWS と Azure のリソースにも適用されます。
背景情報
Terraform テンプレートの構造の詳細については、「Terraform テンプレートの構造」をご参照ください。
手順
ROS コンソールにログインします。
左側のナビゲーションペインで、[Templates] > [My Templates] の順に選択します。
[My Templates] ページで、[Create Template] をクリックします。
[Template Type] で [Terraform] を選択します。
Terraform テンプレートを記述します。
次の例では、仮想プライベートクラウド (VPC) に vSwitch を作成し、Terraform テンプレートの作成方法を示します。
modules/vpc/main.tfファイルを作成し、その内容を編集して VPC を作成します。ディレクトリの右側にある [+] をクリックし、次に [Create Folder] をクリックします。

[Create Folder] ダイアログボックスに
modulesと入力して、ディレクトリにmodulesという名前のフォルダーを作成します。modulesフォルダーにカーソルを合わせ、右側の [+] をクリックし、次に [Create Folder] をクリックします。[フォルダーの作成] ダイアログボックスで、
vpcを入力して、modulesフォルダーにvpcという名前のフォルダーを作成します。vpcフォルダーにカーソルを合わせ、右側の [+] をクリックし、次に [Create File] をクリックします。[ファイルの作成] ダイアログボックスで
main.tfと入力し、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}" }
説明availability_zoneパラメーターはcn-shanghai-bに設定されています。この値を、お使いのリージョンで利用可能なアベイラビリティーゾーンに置き換えてください。[Create Template] ページの左下隅で、[Save Template] > [Save as My Template] の順に選択します。
[Save as My Template] ダイアログボックスで、[Template Name]、[Template Description]、[Resource Group]、[Tags] を設定します。
[OK] をクリックします。
テンプレートは保存され、[My Templates] ページに表示されます。