このトピックでは、Terraform を使用して VPC に Server Load Balancer (SLB) インスタンスを作成する方法について説明します。
前提条件
Alibaba Cloud アカウントと AccessKey ペアが作成されています。 AccessKey ペア ページで、Alibaba Cloud 管理コンソールの AccessKey ペアを作成または表示できます。
Terraform がインストールおよび構成されています。 詳細については、「ローカル PC に Terraform をインストールして構成する」および「Cloud Shell で Terraform を使用する」をご参照ください。
手順
VPC と VSwitch を作成します。この例では、VPC と VSwitch が杭州ゾーン B(cn-hangzhou-b)に作成されます。
terraform.tf ファイルを作成し、次のコンテンツを入力して、現在の作業ディレクトリにファイルを保存します。
provider "alicloud" { region = "cn-hangzhou" } resource "alicloud_vpc" "main" { vpc_name = "alicloud" # VPC の CIDR ブロック cidr_block = "10.1.0.0/21" } resource "alicloud_vswitch" "main" { vpc_id = alicloud_vpc.main.id # VSwitch の CIDR ブロック cidr_block = "10.1.0.0/24" # ゾーン zone_id = "cn-hangzhou-b" }terraform apply コマンドを実行してリソースを作成します。
terraform show コマンドを実行して、作成された VPC と VSwitch を表示します。
SLB インスタンスを作成し、インスタンスにリスナーを追加します。この例では、サブスクリプション SLB インスタンスが作成され、TCP リスナーが追加されます。
terraform.tf に、次のコンテンツを追加します。
resource "alicloud_slb_load_balancer" "instance" { load_balancer_name = "slb_worder" load_balancer_spec = "slb.s3.small" internet_charge_type = "PayByTraffic" address_type = "internet" vswitch_id = alicloud_vswitch.main.id } resource "alicloud_slb_listener" "listener" { load_balancer_id = alicloud_slb_load_balancer.instance.id backend_port = "2111" frontend_port = "21" protocol = "tcp" bandwidth = "5" }terraform apply コマンドを実行して、SLB インスタンスを作成し、リスナーを追加します。次のようなログエントリが表示された場合、SLB インスタンスが作成され、リスナーが追加されています。
alicloud_slb_load_balancer.instance: Creating... alicloud_slb_load_balancer.instance: Still creating... [10s elapsed] alicloud_slb_load_balancer.instance: Creation complete after 10s [id=lb-bp13b3e2m9l8wjwh3y8px] alicloud_slb_listener.listener: Creating... alicloud_slb_listener.listener: Creation complete after 3s [id=lb-bp13b3e2m9l8wjwh3y8px:tcp:21] ...... Apply complete! Resources: 2 added, 0 changed, 0 destroyed.terraform show コマンドを実行して、作成された SLB インスタンスを表示します。