このトピックでは、Terraformを使用してApsaraDB RDS for PostgreSQLインスタンスを作成、変更、および削除する方法について説明します。
このトピックのサンプルコードは、数回クリックするだけで実行できます。 詳細については、「Terraform Explorer」をご参照ください。
前提条件
Alibaba Cloudアカウントには、アカウント内のリソースに対するすべての権限があります。 Alibaba Cloudアカウントが漏洩した場合、リソースは大きなリスクにさらされます。 Resource Access Management (RAM) ユーザーを使用し、RAMユーザーのAccessKeyペアを作成することを推奨します。 詳細については、「RAMユーザーの作成」および「AccessKeyペアの作成」をご参照ください。
RAMを使用して、クラウドリソースに対するアクセス許可を効率的に管理する必要があります。 これにより、マルチユーザーコラボレーションの要件を満たすことができ、最小限の権限 (PoLP) の原則に基づいてユーザーに権限を付与して、過度の権限によるセキュリティの脆弱性を防ぐことができます。 詳細については、「RAMユーザーへの権限付与」をご参照ください。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "vpc:DescribeVpcAttribute", "vpc:DescribeRouteTableList", "vpc:DescribeVSwitchAttributes", "vpc:DeleteVpc", "vpc:DeleteVSwitch", "vpc:CreateVpc", "vpc:CreateVSwitch" ], "Resource": "*" }, { "Action": "rds:*", "Resource": "*", "Effect": "Allow" }, { "Action": "dbs:*", "Resource": "acs:rds:*:*:*", "Effect": "Allow" }, { "Action": "hdm:*", "Resource": "acs:rds:*:*:*", "Effect": "Allow" }, { "Action": "dms:LoginDatabase", "Resource": "acs:rds:*:*:*", "Effect": "Allow" }, { "Effect": "Allow", "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "ram:ServiceName": [ "backupencryption.rds.aliyuncs.com" ] } } }, { "Effect": "Allow", "Action": "bss:ModifyAgreementRecord", "Resource": "*" }, { "Effect": "Allow", "Action": [ "bss:DescribeOrderList", "bss:DescribeOrderDetail", "bss:PayOrder", "bss:CancelOrder" ], "Resource": "*" } ] }Terraform環境を準備します。 Terraformを使用するには、次のいずれかの方法を使用できます。
Terraform ExplorerでTerraformを使用する: Alibaba Cloudは、Terraformのオンラインランタイム環境であるTerraform Explorerを提供します。 Terraform Explorerにログインした後、Terraformをインストールする必要なくTerraformを使用できます。 詳細については、「Terraform ExplorerでのTerraformの使用」をご参照ください。 この方法は、Terraformを高速かつ便利な方法で追加費用なしで使用およびデバッグするシナリオに適しています。
Cloud ShellでTerraformを使用する: TerraformはCloud Shellにプリインストールされ、ID認証情報が設定されています。 Cloud ShellでTerraformコマンドを直接実行できます。 詳細については、「Cloud ShellでのTerraformの使用」をご参照ください。 この方法は、Terraformを高速で便利な方法で低コストで使用およびデバッグするシナリオに適しています。
オンプレミスのマシンにTerraformをインストールして構成する: この方法は、ネットワークの状態が悪い、またはカスタム開発環境が使用されているシナリオに適しています。 詳細については、「ローカルPCでのTerraformのインストールと設定」をご参照ください。
Resources
特定のリソースに対して課金されます。 リソースが不要になった場合は、できるだけ早い機会にリソースを解放または購読解除する必要があります。
alicloud_vpc: 仮想プライベートクラウド (VPC) を作成します。
alicloud_vswitch: VPC用のvSwitchを作成します。
alicloud_db_instance: RDSインスタンスを作成します。
RDS インスタンスの作成
このセクションでは、PostgreSQL 13を実行し、pg.n2.2c.2mインスタンスタイプを使用するRDSインスタンスを作成する方法について説明します。
作業ディレクトリとmain.tfという名前の設定ファイルをディレクトリに作成します。 次のコードをmain.tf設定ファイルにコピーします。
variable "region" { default = "cn-hangzhou" } provider "alicloud" { region = var.region } variable "zone_id" { default = "cn-hangzhou-b" } variable "instance_type" { default = "pg.n2.2c.2m" } # Create a VPC. resource "alicloud_vpc" "main" { vpc_name = "alicloud" cidr_block = "172.16.0.0/16" } # Create a vSwitch. resource "alicloud_vswitch" "main" { vpc_id = alicloud_vpc.main.id cidr_block = "172.16.192.0/20" zone_id = var.zone_id } # Create an RDS instance. resource "alicloud_db_instance" "instance" { engine = "PostgreSQL" engine_version = "13.0" instance_type = var.instance_type instance_storage = "30" instance_charge_type = "Postpaid" vswitch_id = alicloud_vswitch.main.id # If you want to use an existing VPC and vSwitch, use the following configuration: # vswitch_id = "vsw-****" # Create multiple RDS instances that have the same configuration. The value x specifies the number of RDS instances that you want to create. # count = x }説明同じ構成のRDSインスタンスを複数作成する場合は、
リソース "alicloud_db_instance" "instance"{}設定項目にcount = xを追加する必要があります。 値xは、作成するRDSインスタンスの数を指定します。異なる設定を持つ複数のRDSインスタンスを作成する場合は、
リソース "alicloud_db_instance" "instance"{}設定項目を複数回追加し、設定項目に異なるフィールドを含める必要があります。フィールドの詳細については、「ApsaraDB RDSのAlicloudドキュメント」をご参照ください。
次のコマンドを実行してTerraformを初期化します。
terraform init次の情報が返された場合、Terraformは初期化されます。
Initializing the backend... Initializing provider plugins... - Checking for available provider plugins... - Downloading plugin for provider "alicloud" (hashicorp/alicloud) 1.90.1... ... You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other実行計画を作成し、変更をプレビューします。
terraform plan次のコマンドを実行してリソースを作成します。
terraform apply実行中に、プロンプトに従って
yesと入力し、enterキーを押します。 コマンドが正常に実行されるまで待ちます。 次の情報が表示された場合、操作は成功です。alicloud_vpc.main: Creating... alicloud_vpc.main: Creation complete after 7s [id=vpc-****] alicloud_vswitch.main: Creating... alicloud_vswitch.main: Creation complete after 6s [id=vsw-****] alicloud_db_instance.instance: Creating... alicloud_db_instance.instance: Still creating... [10s elapsed] ... alicloud_db_instance.instance: Still creating... [2m30s elapsed] alicloud_db_instance.instance: Creation complete after 4m3s [id=pgm-****] Apply complete! Resources: 3 added, 0 changed, 0 destroyed.結果を確認します。
terraform showコマンドを実行します。
次のコマンドを実行して、Terraformを使用して作成されたRDSインスタンスに関する情報を照会します。
terraform show# alicloud_db_instance.instance: resource "alicloud_db_instance" "instance" { client_ca_enabled = 0 client_crl_enabled = 0 connection_string = "pgm-****.pg.rds.aliyuncs.com" connection_string_prefix = "pgm-***" db_instance_storage_type = "cloud_essd" db_time_zone = "Asia/Shanghai" deletion_protection = false engine = "PostgreSQL" engine_version = "13.0" force_restart = false ha_config = "Auto" id = "pgm-****" instance_charge_type = "Postpaid" instance_storage = 30 instance_type = "pg.n2.2c.2m" maintain_time = "18:00Z-22:00Z" monitoring_period = 300 period = 0 port = "5432" private_ip_address = "172.16.XX.XX" resource_group_id = "rg-****" security_group_ids = [] security_ip_mode = "normal" security_ips = [ "127.0.0.1", ] sql_collector_config_value = 30 sql_collector_status = "Disabled" storage_threshold = 0 storage_upper_bound = 0 target_minor_version = "rds_postgres_1300_20220730" tcp_connection_type = "LONG" vpc_id = "vpc-****" vswitch_id = "vsw-****" zone_id = "cn-hangzhou-j" } # alicloud_vpc.main: resource "alicloud_vpc" "main" { cidr_block = "172.16.0.0/16" id = "vpc-****" name = "alicloud" resource_group_id = "rg-****" route_table_id = "vtb-****" router_id = "vrt-****" router_table_id = "vtb-****" secondary_cidr_blocks = [] status = "Available" vpc_name = "alicloud" } # alicloud_vswitch.main: resource "alicloud_vswitch" "main" { availability_zone = "cn-hangzhou-j" cidr_block = "172.16.192.0/20" id = "vsw-****" status = "Available" vpc_id = "vpc-****" zone_id = "cn-hangzhou-j" }ApsaraDB RDSコンソールにログインする
ApsaraDB RDSコンソールにログインし、RDSインスタンスに関する情報を表示します。

インスタンス名の変更
このセクションでは、RDSインスタンスの名前をterraformtestに変更する方法について説明します。
main.tfファイルで、
instance_nameフィールドをリソース "alicloud_db_instance" "instance" {}設定項目に追加し、次のコードスニペットに基づいてフィールドを設定します。... resource "alicloud_db_instance" "instance" { ... instance_name = "terraformtest" }を実行します。Run the
terraform applyコマンドを実行します。次の情報が表示されたら、情報を確認してyesと入力し、RDSインスタンスの設定を変更します。
alicloud_vpc.main: Refreshing state... [id=vpc-****] alicloud_vswitch.main: Refreshing state... [id=vsw-****] alicloud_db_instance.instance: Refreshing state... [id=pgm-****] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: # alicloud_db_instance.instance will be updated in-place ~ resource "alicloud_db_instance" "instance" { id = "pgm-****" + instance_name = "terraformtest" # (33 unchanged attributes hidden) } Plan: 0 to add, 1 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:次のログが表示された場合、操作は成功です。
alicloud_db_instance.instance: Modifying... [id=pgm-****] alicloud_db_instance.instance: Modifications complete after 3s [id=pgm-****] Apply complete! Resources: 0 added, 1 changed, 0 destroyed.結果を表示します。
terraform showコマンドを実行します。
次のコマンドを実行して、RDSインスタンスの名前を表示します。
terraform show# alicloud_db_instance.instance: resource "alicloud_db_instance" "instance" { client_ca_enabled = 0 client_crl_enabled = 0 connection_string = "pgm-****.pg.rds.aliyuncs.com" connection_string_prefix = "pgm-****" db_instance_storage_type = "cloud_essd" db_time_zone = "Asia/Shanghai" deletion_protection = false engine = "PostgreSQL" engine_version = "13.0" force_restart = false ha_config = "Auto" id = "pgm-****" instance_charge_type = "Postpaid" instance_name = "terraformtest" instance_storage = 50 instance_type = "pg.n2.2c.2m" maintain_time = "18:00Z-22:00Z" monitoring_period = 300 period = 0 port = "5432" private_ip_address = "172.16.XX.XX" resource_group_id = "rg-****" security_group_ids = [] security_ip_mode = "normal" security_ips = [ "127.0.0.1", ] sql_collector_config_value = 30 sql_collector_status = "Disabled" storage_auto_scale = "Enable" storage_threshold = 30 storage_upper_bound = 100 target_minor_version = "rds_postgres_1300_20220730" tcp_connection_type = "LONG" vpc_id = "vpc-****" vswitch_id = "vsw-****" zone_id = "cn-hangzhou-j" }ApsaraDB RDSコンソールにログインする
ApsaraDB RDSコンソールにログインし、RDSインスタンスの名前を表示します。

インスタンス設定の変更
このセクションでは、RDSインスタンスのストレージ容量を50 GBに変更する方法について説明します。
main.tfファイルで、instance_storageフィールドを
リソース "alicloud_db_instance" "instance" {}設定項目に追加し、次のコードスニペットに基づいてフィールドを設定します。... resource "alicloud_db_instance" "instance" { ... instance_storage = "50" ... }を実行します。Run the
terraform applyコマンドを実行します。次の情報が表示されたら、情報を確認してyesと入力し、RDSインスタンスの設定を変更します。
alicloud_vpc.main: Refreshing state... [id=vpc-****] alicloud_vswitch.main: Refreshing state... [id=vsw-****] alicloud_db_instance.instance: Refreshing state... [id=pgm-****] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: # alicloud_db_instance.instance will be updated in-place ~ resource "alicloud_db_instance" "instance" { id = "pgm-****" ~ instance_storage = 30 -> 50 # (31 unchanged attributes hidden) } Plan: 0 to add, 1 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:次のログが表示された場合、操作は成功です。
alicloud_db_instance.instance: Modifying... [id=pgm-****] alicloud_db_instance.instance: Still modifying... [id=pgm-****, 10s elapsed] ... alicloud_db_instance.instance: Still modifying... [id=pgm-****, 4m0s elapsed] alicloud_db_instance.instance: Modifications complete after 4m1s [id=pgm-***] Apply complete! Resources: 0 added, 1 changed, 0 destroyed.結果を表示します。
terraform showコマンドを実行します。
次のコマンドを実行して、RDSインスタンスのストレージ容量を表示します。
terraform show# alicloud_db_instance.instance: resource "alicloud_db_instance" "instance" { client_ca_enabled = 0 client_crl_enabled = 0 connection_string = "pgm-****.pg.rds.aliyuncs.com" connection_string_prefix = "pgm-****" db_instance_storage_type = "cloud_essd" db_time_zone = "Asia/Shanghai" deletion_protection = false engine = "PostgreSQL" engine_version = "13.0" force_restart = false ha_config = "Auto" id = "pgm-****" instance_charge_type = "Postpaid" instance_storage = 50 instance_type = "pg.n2.2c.2m" maintain_time = "18:00Z-22:00Z" monitoring_period = 300 period = 0 port = "5432" private_ip_address = "172.16.XX.XX" resource_group_id = "rg-****" security_group_ids = [] security_ip_mode = "normal" security_ips = [ "127.0.0.1", ] sql_collector_config_value = 30 sql_collector_status = "Disabled" storage_threshold = 0 storage_upper_bound = 0 target_minor_version = "rds_postgres_1300_20220730" tcp_connection_type = "LONG" vpc_id = "vpc-****" vswitch_id = "vsw-****" zone_id = "cn-hangzhou-j" }ApsaraDB RDSコンソールにログインする
ApsaraDB RDSコンソールにログインして、RDSインスタンスのストレージ容量を表示します。
自動ストレージ拡張の設定
このセクションでは、RDSインスタンスの自動ストレージ拡張を有効にし、拡張できる最大ストレージ容量を100 GBに設定する方法について説明します。
main.tfファイルで、
storage_auto_scale、storage_threshold、およびstorage_upper_boundフィールドをresource "alicloud_db_instance" instance "{}設定項目に追加し、次のコードスニペットに基づいてフィールドを設定します。... resource "alicloud_db_instance" "instance" { ... storage_auto_scale = "Enable" storage_threshold = "30" storage_upper_bound = "100" }を実行します。Run the
terraform applyコマンドを実行します。次の情報が表示されたら、情報を確認してyesと入力し、RDSインスタンスの設定を変更します。
alicloud_vpc.main: Refreshing state... [id=vpc-****] alicloud_vswitch.main: Refreshing state... [id=vsw-****] alicloud_db_instance.instance: Refreshing state... [id=pgm-****] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: # alicloud_db_instance.instance will be updated in-place ~ resource "alicloud_db_instance" "instance" { id = "pgm-****" + storage_auto_scale = "Enable" ~ storage_threshold = 0 -> 30 ~ storage_upper_bound = 0 -> 100 # (30 unchanged attributes hidden) } Plan: 0 to add, 1 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:次のログが表示された場合、操作は成功です。
alicloud_db_instance.instance: Modifying... [id=pgm-****] alicloud_db_instance.instance: Still modifying... [id=pgm-****, 10s elapsed] ... alicloud_db_instance.instance: Still modifying... [id=pgm-****, 6m0s elapsed] alicloud_db_instance.instance: Modifications complete after 6m7s [id=pgm-****] Apply complete! Resources: 0 added, 1 changed, 0 destroyed.結果を表示します。
terraform showコマンドを実行します。
次のコマンドを実行して、RDSインスタンスの自動ストレージ容量の設定を表示します。
terraform show# alicloud_db_instance.instance: resource "alicloud_db_instance" "instance" { client_ca_enabled = 0 client_crl_enabled = 0 connection_string = "pgm-****.pg.rds.aliyuncs.com" connection_string_prefix = "pgm-****" db_instance_storage_type = "cloud_essd" db_time_zone = "Asia/Shanghai" deletion_protection = false engine = "PostgreSQL" engine_version = "13.0" force_restart = false ha_config = "Auto" id = "pgm-****" instance_charge_type = "Postpaid" instance_storage = 50 instance_type = "pg.n2.2c.2m" maintain_time = "18:00Z-22:00Z" monitoring_period = 300 period = 0 port = "5432" private_ip_address = "172.16.XX.XX" resource_group_id = "rg-****" security_group_ids = [] security_ip_mode = "normal" security_ips = [ "127.0.0.1", ] sql_collector_config_value = 30 sql_collector_status = "Disabled" storage_auto_scale = "Enable" storage_threshold = 30 storage_upper_bound = 100 target_minor_version = "rds_postgres_1300_20220730" tcp_connection_type = "LONG" vpc_id = "vpc-****" vswitch_id = "vsw-****" zone_id = "cn-hangzhou-j" }ApsaraDB RDSコンソールにログインする
ApsaraDB RDSコンソールにログインして、RDSインスタンスの自動ストレージ容量の設定を表示します。

メンテナンスウィンドウの変更
このセクションでは、RDSインスタンスのメンテナンス期間を13:00-14:00に変更する方法について説明します。
ApsaraDB RDSコンソールの表示時間はUTC + 8です。 Terraformを使用してメンテナンス期間を設定する場合は、UTCでメンテナンス期間の開始時刻と終了時刻を設定する必要があります。 この例では、メンテナンスウィンドウは05:00Z-06:00Zに設定されています。これは、UTC + 8で13:00-14:00を指定します。
main.tfファイルで、
maintain_timeフィールドをリソース "alicloud_db_instance" "instance" {}設定項目に追加し、次のコードスニペットに基づいてフィールドを設定します。... resource "alicloud_db_instance" "instance" { ... maintain_time = "05:00Z-06:00Z" }を実行します。Run the
terraform applyコマンドを実行します。次の情報が表示されたら、情報を確認してはいと入力し、RDSインスタンスのメンテナンスウィンドウを変更します。
alicloud_vpc.main: Refreshing state... [id=vpc-****] alicloud_vswitch.main: Refreshing state... [id=vsw-****] alicloud_db_instance.instance: Refreshing state... [id=pgm-****] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: # alicloud_db_instance.instance will be updated in-place ~ resource "alicloud_db_instance" "instance" { id = "pgm-****" ~ maintain_time = "18:00Z-22:00Z" -> "05:00Z-06:00Z" # (33 unchanged attributes hidden) } Plan: 0 to add, 1 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:次のログが表示された場合、操作は成功です。
alicloud_db_instance.instance: Modifying... [id=pgm-****] alicloud_db_instance.instance: Modifications complete after 4s [id=pgm-****] Apply complete! Resources: 0 added, 1 changed, 0 destroyed.結果を表示します。
terraform showコマンドを実行します。
次のコマンドを実行して、RDSインスタンスのメンテナンス期間を表示します。
terraform show# alicloud_db_instance.instance: resource "alicloud_db_instance" "instance" { client_ca_enabled = 0 client_crl_enabled = 0 connection_string = "pgm-****.pg.rds.aliyuncs.com" connection_string_prefix = "pgm-****" db_instance_storage_type = "cloud_essd" db_time_zone = "Asia/Shanghai" deletion_protection = false engine = "PostgreSQL" engine_version = "13.0" force_restart = false ha_config = "Auto" id = "pgm-****" instance_charge_type = "Postpaid" instance_name = "terraformtest" instance_storage = 50 instance_type = "pg.n2.2c.2m" maintain_time = "05:00Z-06:00Z" monitoring_period = 300 period = 0 port = "5432" private_ip_address = "172.16.XX.XX" resource_group_id = "rg-****" security_group_ids = [] security_ip_mode = "normal" security_ips = [ "127.0.0.1", ] sql_collector_config_value = 30 sql_collector_status = "Disabled" storage_auto_scale = "Enable" storage_threshold = 30 storage_upper_bound = 100 target_minor_version = "rds_postgres_1300_20220730" tcp_connection_type = "LONG" vpc_id = "vpc-****" vswitch_id = "vsw-****" zone_id = "cn-hangzhou-j" }ApsaraDB RDSコンソールにログインする
ApsaraDB RDSコンソールにログインして、RDSインスタンスのメンテナンス期間を表示します。
リソースグループの変更
このセクションでは、RDSインスタンスのリソースグループをrg-**** に変更する方法について説明します。
main.tfファイルで、
resource_group_idフィールドをリソース "alicloud_db_instance" "instance" {}設定項目に追加し、次のコードスニペットに基づいてフィールドを設定します。... resource "alicloud_db_instance" "instance" { ... resource_group_id = "rg-****" }を実行します。Run the
terraform applyコマンドを実行します。次の情報が表示されたら、情報を確認してyesと入力し、RDSインスタンスの設定を変更します。
alicloud_vpc.main: Refreshing state... [id=vpc-****] alicloud_vswitch.main: Refreshing state... [id=vsw-****] alicloud_db_instance.instance: Refreshing state... [id=pgm-****] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: # alicloud_db_instance.instance will be updated in-place ~ resource "alicloud_db_instance" "instance" { id = "pgm-****" ~ resource_group_id = "rg-****" -> "rg-****" # (33 unchanged attributes hidden) } Plan: 0 to add, 1 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:次のログが表示された場合、操作は成功です。
alicloud_db_instance.instance: Modifying... [id=pgm-****] alicloud_db_instance.instance: Modifications complete after 4s [id=pgm-****] Apply complete! Resources: 0 added, 1 changed, 0 destroyed.結果を表示します。
terraform showコマンドを実行します。
次のコマンドを実行して、RDSインスタンスのリソースグループを表示します。
terraform show# alicloud_db_instance.instance: resource "alicloud_db_instance" "instance" { client_ca_enabled = 0 client_crl_enabled = 0 connection_string = "pgm-****.pg.rds.aliyuncs.com" connection_string_prefix = "pgm-****" db_instance_storage_type = "cloud_essd" db_time_zone = "Asia/Shanghai" deletion_protection = false engine = "PostgreSQL" engine_version = "13.0" force_restart = false ha_config = "Auto" id = "pgm-****" instance_charge_type = "Postpaid" instance_name = "terraformtest" instance_storage = 50 instance_type = "pg.n2.2c.2m" maintain_time = "05:00Z-06:00Z" monitoring_period = 300 period = 0 port = "5432" private_ip_address = "172.16.XX.XX" resource_group_id = "rg-****" security_group_ids = [] security_ip_mode = "normal" security_ips = [ "127.0.0.1", ] sql_collector_config_value = 30 sql_collector_status = "Disabled" storage_auto_scale = "Enable" storage_threshold = 30 storage_upper_bound = 100 target_minor_version = "rds_postgres_1300_20220730" tcp_connection_type = "LONG" vpc_id = "vpc-****" vswitch_id = "vsw-****" zone_id = "cn-hangzhou-j" }ApsaraDB RDSコンソールにログインする
ApsaraDB RDSコンソールにログインし、RDSインスタンスのリソースグループを表示します。
可用性チェックモードの変更 (RDS High-availability Editionを実行するRDSインスタンスのみ)
このセクションでは、RDSインスタンスの可用性チェックモードを短期接続に変更する方法について説明します。
main.tfファイルで、
tcp_connection_typeフィールドをリソース "alicloud_db_instance" "instance" {}設定項目に追加し、次のコードスニペットに基づいてフィールドを設定します。... resource "alicloud_db_instance" "instance" { ... tcp_connection_type = "SHORT" }を実行します。Run the
terraform applyコマンドを実行します。次の情報が表示されたら、情報を確認してyesと入力し、RDSインスタンスの設定を変更します。
alicloud_vpc.main: Refreshing state... [id=vpc-****] alicloud_vswitch.main: Refreshing state... [id=vsw-****] alicloud_db_instance.instance: Refreshing state... [id=pgm-****] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: ~ update in-place Terraform will perform the following actions: # alicloud_db_instance.instance will be updated in-place ~ resource "alicloud_db_instance" "instance" { id = "pgm-****" ~ tcp_connection_type = "LONG" -> "SHORT" # (33 unchanged attributes hidden) } Plan: 0 to add, 1 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:次のログが表示された場合、操作は成功です。
alicloud_db_instance.instance: Modifying... [id=pgm-****] alicloud_db_instance.instance: Modifications complete after 3s [id=pgm-****] Apply complete! Resources: 0 added, 1 changed, 0 destroyed.結果を表示します。
terraform showコマンドを実行します。
次のコマンドを実行して、RDSインスタンスの可用性チェックモードを表示します。
terraform show# alicloud_db_instance.instance: resource "alicloud_db_instance" "instance" { client_ca_enabled = 0 client_crl_enabled = 0 connection_string = "pgm-****.pg.rds.aliyuncs.com" connection_string_prefix = "pgm-****" db_instance_storage_type = "cloud_essd" db_time_zone = "Asia/Shanghai" deletion_protection = false engine = "PostgreSQL" engine_version = "13.0" force_restart = false ha_config = "Auto" id = "pgm-****" instance_charge_type = "Postpaid" instance_name = "terraformtest" instance_storage = 50 instance_type = "pg.n2.2c.2m" maintain_time = "05:00Z-06:00Z" monitoring_period = 300 period = 0 port = "5432" private_ip_address = "172.16.XX.XX" resource_group_id = "rg-****" security_group_ids = [] security_ip_mode = "normal" security_ips = [ "127.0.0.1", ] sql_collector_config_value = 30 sql_collector_status = "Disabled" storage_auto_scale = "Enable" storage_threshold = 30 storage_upper_bound = 100 target_minor_version = "rds_postgres_1300_20220730" tcp_connection_type = "SHORT" vpc_id = "vpc-****" vswitch_id = "vsw-****" zone_id = "cn-hangzhou-j" }ApsaraDB RDSコンソールにログインする
ApsaraDB RDSコンソールにログインして、RDSインスタンスの可用性チェックモードを表示します。
リソースのクリア
Terraformを使用して作成または管理された上記のリソースが不要になった場合は、次のコマンドを実行してリソースを解放します。 terraform destroyコマンドの詳細については、「一般的なコマンド」をご参照ください。
terraform destroy完全なサンプルコード
このトピックのサンプルコードは、数回クリックするだけで実行できます。 詳細については、「Terraform Explorer」をご参照ください。