diff --git a/solution/tech-solution/tltcamanidl/README.md b/solution/tech-solution/tltcamanidl/README.md
new file mode 100644
index 000000000..3c70d659a
--- /dev/null
+++ b/solution/tech-solution/tltcamanidl/README.md
@@ -0,0 +1,106 @@
+
+## Introduction
+
+
+本示例基于阿里云洛神网络全球基础设施及云原生 SDN 技术,帮助企业客户在云上快速构建[两地三中心跨域多活网络](https://www.aliyun.com/solution/tech-solution/tltcamanidl),保障企业核心业务在全球多地域的高品质互联。
+
+
+
+This example is based on Alibaba Cloud's Luoshen Network global infrastructure and cloud-native SDN technology, helping enterprise customers quickly build a two-site, three-center cross-region active-active network on the cloud, ensuring high-quality interconnection for enterprise core businesses across multiple global regions.
+
+
+
+
+
+## Providers
+
+| Name | Version |
+|------|---------|
+| [alicloud](#provider\_alicloud) | n/a |
+| [alicloud.user1\_region1](#provider\_alicloud.user1\_region1) | n/a |
+| [alicloud.user1\_region2](#provider\_alicloud.user1\_region2) | n/a |
+
+## Modules
+
+No modules.
+
+## Resources
+
+| Name | Type |
+|------|------|
+| [alicloud_alb_listener.listener1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/alb_listener) | resource |
+| [alicloud_alb_listener.listener2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/alb_listener) | resource |
+| [alicloud_alb_load_balancer.alb1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/alb_load_balancer) | resource |
+| [alicloud_alb_load_balancer.alb2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/alb_load_balancer) | resource |
+| [alicloud_alb_server_group.server_group1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/alb_server_group) | resource |
+| [alicloud_alb_server_group.server_group2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/alb_server_group) | resource |
+| [alicloud_cen_instance.cen](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_instance) | resource |
+| [alicloud_cen_transit_router.tr1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router) | resource |
+| [alicloud_cen_transit_router.tr2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router) | resource |
+| [alicloud_cen_transit_router_peer_attachment.user2_peer_attachment](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_peer_attachment) | resource |
+| [alicloud_cen_transit_router_route_entry.route_entry1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_entry) | resource |
+| [alicloud_cen_transit_router_route_entry.route_entry2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_entry) | resource |
+| [alicloud_cen_transit_router_route_table.route_table1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_table) | resource |
+| [alicloud_cen_transit_router_route_table.route_table2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_table) | resource |
+| [alicloud_cen_transit_router_route_table_association.association1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_table_association) | resource |
+| [alicloud_cen_transit_router_route_table_association.association2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_table_association) | resource |
+| [alicloud_cen_transit_router_route_table_association.association3](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_table_association) | resource |
+| [alicloud_cen_transit_router_route_table_association.association4](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_table_association) | resource |
+| [alicloud_cen_transit_router_route_table_propagation.propagation3](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_table_propagation) | resource |
+| [alicloud_cen_transit_router_route_table_propagation.propagation4](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_route_table_propagation) | resource |
+| [alicloud_cen_transit_router_vpc_attachment.vpc_att1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_vpc_attachment) | resource |
+| [alicloud_cen_transit_router_vpc_attachment.vpc_att2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_transit_router_vpc_attachment) | resource |
+| [alicloud_dts_instance.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/dts_instance) | resource |
+| [alicloud_ecs_command.cmd1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ecs_command) | resource |
+| [alicloud_ecs_command.cmd2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ecs_command) | resource |
+| [alicloud_ecs_invocation.default1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ecs_invocation) | resource |
+| [alicloud_ecs_invocation.default2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ecs_invocation) | resource |
+| [alicloud_ecs_invocation.default3](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ecs_invocation) | resource |
+| [alicloud_ecs_invocation.default4](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ecs_invocation) | resource |
+| [alicloud_instance.ecs1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/instance) | resource |
+| [alicloud_instance.ecs2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/instance) | resource |
+| [alicloud_instance.ecs3](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/instance) | resource |
+| [alicloud_instance.ecs4](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/instance) | resource |
+| [alicloud_polardb_account.polardb_account1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/polardb_account) | resource |
+| [alicloud_polardb_account.polardb_account2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/polardb_account) | resource |
+| [alicloud_polardb_account_privilege.privilege](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/polardb_account_privilege) | resource |
+| [alicloud_polardb_account_privilege.privilege2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/polardb_account_privilege) | resource |
+| [alicloud_polardb_cluster.polardb1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/polardb_cluster) | resource |
+| [alicloud_polardb_cluster.polardb2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/polardb_cluster) | resource |
+| [alicloud_polardb_database.polardb_database1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/polardb_database) | resource |
+| [alicloud_polardb_database.polardb_database2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/polardb_database) | resource |
+| [alicloud_route_entry.route_entry2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/route_entry) | resource |
+| [alicloud_route_entry.user1_region1_route_entry](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/route_entry) | resource |
+| [alicloud_security_group.group1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group) | resource |
+| [alicloud_security_group.group2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group) | resource |
+| [alicloud_security_group_rule.rule1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group_rule) | resource |
+| [alicloud_security_group_rule.rule2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group_rule) | resource |
+| [alicloud_vpc.vpc1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vpc) | resource |
+| [alicloud_vpc.vpc2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vpc) | resource |
+| [alicloud_vswitch.vsw1-1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vswitch) | resource |
+| [alicloud_vswitch.vsw1-2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vswitch) | resource |
+| [alicloud_vswitch.vsw2-1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vswitch) | resource |
+| [alicloud_vswitch.vsw2-2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vswitch) | resource |
+| [alicloud_cen_transit_router_service.open](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/cen_transit_router_service) | data source |
+| [alicloud_polardb_node_classes.data_polardb1](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/polardb_node_classes) | data source |
+| [alicloud_polardb_node_classes.data_polardb2](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/polardb_node_classes) | data source |
+
+## Inputs
+
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [db\_password](#input\_db\_password) | Please enter the PolarDB database password. The password must be 8-32 characters long and include uppercase letters, lowercase letters, numbers, and special characters (e.g., !@#$%^&*()\_+-=). If repeating the configuration in this tutorial, please ensure that the MySQL database password is identical to the one set during the first execution of the template. Otherwise, the configuration result will be invalid. | `string` | n/a | yes |
+| [ecs\_instance\_password](#input\_ecs\_instance\_password) | Please enter the ECS login password, with a length of 8-30 characters, and it must include three of the following: uppercase letters, lowercase letters, numbers, and special characters from ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/.` | `string` | n/a | yes |
+| [polardb\_account\_name](#input\_polardb\_account\_name) | n/a | `string` | `"terraform"` | no |
+| [polardb\_class](#input\_polardb\_class) | n/a | `string` | `"polar.mysql.x4.large"` | no |
+| [region1](#input\_region1) | n/a | `string` | `"cn-shanghai"` | no |
+| [region1\_instance\_type1](#input\_region1\_instance\_type1) | n/a | `string` | `"ecs.g8i.large"` | no |
+| [region1\_instance\_type2](#input\_region1\_instance\_type2) | n/a | `string` | `"ecs.g8i.large"` | no |
+| [region1\_zone\_id1](#input\_region1\_zone\_id1) | n/a | `string` | `"cn-shanghai-e"` | no |
+| [region1\_zone\_id2](#input\_region1\_zone\_id2) | n/a | `string` | `"cn-shanghai-f"` | no |
+| [region2](#input\_region2) | n/a | `string` | `"cn-beijing"` | no |
+| [region2\_instance\_type1](#input\_region2\_instance\_type1) | n/a | `string` | `"ecs.g7.large"` | no |
+| [region2\_instance\_type2](#input\_region2\_instance\_type2) | n/a | `string` | `"ecs.g7.large"` | no |
+| [region2\_zone\_id1](#input\_region2\_zone\_id1) | n/a | `string` | `"cn-beijing-k"` | no |
+| [region2\_zone\_id2](#input\_region2\_zone\_id2) | n/a | `string` | `"cn-beijing-l"` | no |
+
\ No newline at end of file
diff --git a/solution/tech-solution/tltcamanidl/main.tf b/solution/tech-solution/tltcamanidl/main.tf
new file mode 100644
index 000000000..9ff5d3ee0
--- /dev/null
+++ b/solution/tech-solution/tltcamanidl/main.tf
@@ -0,0 +1,615 @@
+provider "alicloud" {
+ alias = "user1_region1"
+ region = var.region1
+}
+
+provider "alicloud" {
+ alias = "user1_region2"
+ region = var.region2
+}
+
+# vpc1
+resource "alicloud_vpc" "vpc1" {
+ provider = alicloud.user1_region1
+ vpc_name = "vpc1"
+ cidr_block = "10.0.0.0/16"
+}
+
+resource "alicloud_vswitch" "vsw1-1" {
+ provider = alicloud.user1_region1
+ vpc_id = alicloud_vpc.vpc1.id
+ cidr_block = "10.0.1.0/24"
+ zone_id = var.region1_zone_id1
+}
+
+resource "alicloud_vswitch" "vsw1-2" {
+ provider = alicloud.user1_region1
+ vpc_id = alicloud_vpc.vpc1.id
+ cidr_block = "10.0.2.0/24"
+ zone_id = var.region1_zone_id2
+}
+
+# vpc2
+resource "alicloud_vpc" "vpc2" {
+ provider = alicloud.user1_region2
+ vpc_name = "vpc2"
+ cidr_block = "172.16.0.0/16"
+}
+
+resource "alicloud_vswitch" "vsw2-1" {
+ provider = alicloud.user1_region2
+ vpc_id = alicloud_vpc.vpc2.id
+ cidr_block = "172.16.1.0/24"
+ zone_id = var.region2_zone_id1
+}
+
+resource "alicloud_vswitch" "vsw2-2" {
+ provider = alicloud.user1_region2
+ vpc_id = alicloud_vpc.vpc2.id
+ cidr_block = "172.16.2.0/24"
+ zone_id = var.region2_zone_id2
+}
+
+resource "alicloud_route_entry" "user1_region1_route_entry" {
+ provider = alicloud.user1_region1
+ for_each = toset(["172.16.1.0/24", "172.16.2.0/24"])
+ route_table_id = alicloud_vpc.vpc1.route_table_id
+ destination_cidrblock = each.key
+ nexthop_type = "Attachment"
+ nexthop_id = alicloud_cen_transit_router_vpc_attachment.vpc_att1.transit_router_attachment_id
+}
+
+resource "alicloud_route_entry" "route_entry2" {
+ provider = alicloud.user1_region2
+ for_each = toset(["10.0.1.0/24", "10.0.2.0/24"])
+ route_table_id = alicloud_vpc.vpc2.route_table_id
+ destination_cidrblock = each.key
+ nexthop_type = "Attachment"
+ nexthop_id = alicloud_cen_transit_router_vpc_attachment.vpc_att2.transit_router_attachment_id
+}
+
+resource "alicloud_instance" "ecs1" {
+ provider = alicloud.user1_region1
+ instance_name = "APP001"
+ instance_type = var.region1_instance_type1
+ security_groups = alicloud_security_group.group1.*.id
+ vswitch_id = alicloud_vswitch.vsw1-1.id
+ image_id = "aliyun_3_x64_20G_alibase_20250629.vhd"
+ system_disk_category = "cloud_essd"
+ instance_charge_type = "PostPaid"
+ password = var.ecs_instance_password
+
+}
+
+resource "alicloud_security_group" "group1" {
+ provider = alicloud.user1_region1
+ vpc_id = alicloud_vpc.vpc1.id
+}
+
+resource "alicloud_security_group_rule" "rule1" {
+ provider = alicloud.user1_region1
+ type = "ingress"
+ ip_protocol = "all"
+ nic_type = "intranet"
+ policy = "accept"
+ port_range = "22/22"
+ priority = 1
+ security_group_id = alicloud_security_group.group1.id
+ cidr_ip = "0.0.0.0/0"
+}
+
+resource "alicloud_security_group" "group2" {
+ provider = alicloud.user1_region2
+ vpc_id = alicloud_vpc.vpc2.id
+}
+
+resource "alicloud_security_group_rule" "rule2" {
+ provider = alicloud.user1_region2
+ type = "ingress"
+ ip_protocol = "all"
+ nic_type = "intranet"
+ policy = "accept"
+ port_range = "22/22"
+ priority = 1
+ security_group_id = alicloud_security_group.group2.id
+ cidr_ip = "0.0.0.0/0"
+}
+
+resource "alicloud_instance" "ecs2" {
+ provider = alicloud.user1_region1
+ instance_name = "APP002"
+ instance_type = var.region1_instance_type2
+ security_groups = alicloud_security_group.group1.*.id
+ vswitch_id = alicloud_vswitch.vsw1-2.id
+ image_id = "aliyun_3_x64_20G_alibase_20250629.vhd"
+ system_disk_category = "cloud_essd"
+ instance_charge_type = "PostPaid"
+ password = var.ecs_instance_password
+}
+
+resource "alicloud_instance" "ecs3" {
+ provider = alicloud.user1_region2
+ instance_name = "APP003"
+ instance_type = var.region2_instance_type1
+ security_groups = alicloud_security_group.group2.*.id
+ vswitch_id = alicloud_vswitch.vsw2-1.id
+ image_id = "aliyun_3_x64_20G_alibase_20250629.vhd"
+ system_disk_category = "cloud_essd"
+ instance_charge_type = "PostPaid"
+ password = var.ecs_instance_password
+}
+
+resource "alicloud_instance" "ecs4" {
+ provider = alicloud.user1_region2
+ instance_name = "APP004"
+ instance_type = var.region2_instance_type2
+ security_groups = alicloud_security_group.group2.*.id
+ vswitch_id = alicloud_vswitch.vsw2-2.id
+ image_id = "aliyun_3_x64_20G_alibase_20250629.vhd"
+ system_disk_category = "cloud_essd"
+ instance_charge_type = "PostPaid"
+ password = var.ecs_instance_password
+}
+
+# create cmd
+locals {
+ add_index_page = < index.html
+cat index.html
+service nginx status
+curl localhost
+
+ EOF
+}
+
+resource "alicloud_ecs_command" "cmd1" {
+ provider = alicloud.user1_region1
+ name = "tf-test"
+ command_content = base64encode(local.add_index_page)
+ type = "RunShellScript"
+ working_dir = "/root"
+ enable_parameter = true
+}
+
+resource "alicloud_ecs_command" "cmd2" {
+ provider = alicloud.user1_region2
+ name = "tf-test"
+ command_content = base64encode(local.add_index_page)
+ type = "RunShellScript"
+ working_dir = "/root"
+ enable_parameter = true
+}
+
+resource "alicloud_ecs_invocation" "default1" {
+ provider = alicloud.user1_region1
+ command_id = alicloud_ecs_command.cmd1.id
+ instance_id = [alicloud_instance.ecs1.id]
+ parameters = {
+ instance_name = alicloud_instance.ecs1.instance_name
+ }
+}
+
+resource "alicloud_ecs_invocation" "default2" {
+ provider = alicloud.user1_region1
+ command_id = alicloud_ecs_command.cmd1.id
+ instance_id = [alicloud_instance.ecs2.id]
+ parameters = {
+ instance_name = alicloud_instance.ecs2.instance_name
+ }
+}
+
+resource "alicloud_ecs_invocation" "default3" {
+ provider = alicloud.user1_region2
+ command_id = alicloud_ecs_command.cmd2.id
+ instance_id = [alicloud_instance.ecs3.id]
+ parameters = {
+ instance_name = alicloud_instance.ecs3.instance_name
+ }
+}
+
+resource "alicloud_ecs_invocation" "default4" {
+ provider = alicloud.user1_region2
+ command_id = alicloud_ecs_command.cmd2.id
+ instance_id = [alicloud_instance.ecs4.id]
+ parameters = {
+ instance_name = alicloud_instance.ecs4.instance_name
+ }
+}
+
+# resource "random_string" "s" {
+# length = 10
+# lower = true
+# min_lower = 10
+# special = false
+# }
+
+# --- polardb
+data "alicloud_polardb_node_classes" "data_polardb1" {
+ provider = alicloud.user1_region1
+ db_type = "MySQL"
+ db_version = "8.0"
+ pay_type = "PostPaid"
+ zone_id = var.region1_zone_id2
+}
+
+data "alicloud_polardb_node_classes" "data_polardb2" {
+ provider = alicloud.user1_region2
+ db_type = "MySQL"
+ db_version = "8.0"
+ pay_type = "PostPaid"
+ zone_id = var.region2_zone_id1
+}
+
+resource "alicloud_polardb_cluster" "polardb1" {
+ provider = alicloud.user1_region1
+ db_type = "MySQL"
+ db_version = "8.0"
+ db_node_class = var.polardb_class
+ pay_type = "PostPaid"
+ vswitch_id = alicloud_vswitch.vsw1-1.id
+ description = "terraform-example"
+ loose_polar_log_bin = "ON"
+
+ db_cluster_ip_array {
+ db_cluster_ip_array_name = "default"
+ security_ips = [alicloud_instance.ecs1.private_ip, alicloud_instance.ecs2.private_ip]
+ }
+}
+
+resource "alicloud_polardb_cluster" "polardb2" {
+ provider = alicloud.user1_region2
+ db_type = "MySQL"
+ db_version = "8.0"
+ db_node_class = var.polardb_class
+ pay_type = "PostPaid"
+ vswitch_id = alicloud_vswitch.vsw2-1.id
+ description = "terraform-example"
+ loose_polar_log_bin = "ON"
+
+ db_cluster_ip_array {
+ db_cluster_ip_array_name = "default"
+ security_ips = [alicloud_instance.ecs3.private_ip, alicloud_instance.ecs4.private_ip]
+ }
+}
+
+resource "alicloud_polardb_account" "polardb_account1" {
+ provider = alicloud.user1_region1
+ db_cluster_id = alicloud_polardb_cluster.polardb1.id
+ account_name = var.polardb_account_name
+ account_password = var.db_password
+ account_description = "terraform-example"
+}
+
+resource "alicloud_polardb_account" "polardb_account2" {
+ provider = alicloud.user1_region2
+ db_cluster_id = alicloud_polardb_cluster.polardb2.id
+ account_name = var.polardb_account_name
+ account_password = var.db_password
+ account_description = "terraform-example"
+ # account_type = "Super"
+}
+
+resource "alicloud_polardb_database" "polardb_database1" {
+ provider = alicloud.user1_region1
+ db_cluster_id = alicloud_polardb_cluster.polardb1.id
+ db_name = "terraform-example"
+}
+
+resource "alicloud_polardb_database" "polardb_database2" {
+ provider = alicloud.user1_region2
+ db_cluster_id = alicloud_polardb_cluster.polardb2.id
+ db_name = "terraform-example"
+}
+
+resource "alicloud_polardb_account_privilege" "privilege" {
+ provider = alicloud.user1_region1
+ db_cluster_id = alicloud_polardb_cluster.polardb1.id
+ account_name = alicloud_polardb_account.polardb_account1.account_name
+ account_privilege = "ReadOnly"
+ db_names = [alicloud_polardb_database.polardb_database1.db_name]
+}
+
+resource "alicloud_polardb_account_privilege" "privilege2" {
+ provider = alicloud.user1_region2
+ db_cluster_id = alicloud_polardb_cluster.polardb2.id
+ account_name = alicloud_polardb_account.polardb_account2.account_name
+ account_privilege = "ReadWrite"
+ db_names = [alicloud_polardb_database.polardb_database2.db_name]
+}
+
+# --- alb ---
+resource "alicloud_alb_load_balancer" "alb1" {
+ provider = alicloud.user1_region1
+ vpc_id = alicloud_vpc.vpc1.id
+ address_type = "Internet"
+ address_allocated_mode = "Fixed"
+ load_balancer_name = "test_create_by_ros"
+ load_balancer_edition = "Basic"
+ load_balancer_billing_config {
+ pay_type = "PayAsYouGo"
+ }
+ zone_mappings {
+ vswitch_id = alicloud_vswitch.vsw1-1.id
+ zone_id = var.region1_zone_id1
+ }
+ zone_mappings {
+ vswitch_id = alicloud_vswitch.vsw1-2.id
+ zone_id = var.region1_zone_id2
+ }
+}
+
+resource "alicloud_alb_load_balancer" "alb2" {
+ provider = alicloud.user1_region2
+ vpc_id = alicloud_vpc.vpc2.id
+ address_type = "Internet"
+ address_allocated_mode = "Fixed"
+ load_balancer_name = "test_create_by_ros"
+ load_balancer_edition = "Basic"
+ load_balancer_billing_config {
+ pay_type = "PayAsYouGo"
+ }
+ zone_mappings {
+ vswitch_id = alicloud_vswitch.vsw2-1.id
+ zone_id = var.region2_zone_id1
+ }
+ zone_mappings {
+ vswitch_id = alicloud_vswitch.vsw2-2.id
+ zone_id = var.region2_zone_id2
+ }
+}
+
+resource "alicloud_alb_server_group" "server_group1" {
+ provider = alicloud.user1_region1
+ protocol = "HTTP"
+ vpc_id = alicloud_vpc.vpc1.id
+ server_group_name = "test_create_by_ros"
+ health_check_config {
+ health_check_connect_port = "46325"
+ health_check_enabled = true
+ health_check_host = "tf-example.com"
+ health_check_codes = ["http_2xx", "http_3xx"]
+ health_check_http_version = "HTTP1.1"
+ health_check_interval = "2"
+ health_check_method = "HEAD"
+ health_check_path = "/tf-example"
+ health_check_protocol = "HTTP"
+ health_check_timeout = 5
+ healthy_threshold = 3
+ unhealthy_threshold = 3
+ }
+ sticky_session_config {
+ sticky_session_enabled = true
+ cookie = "tf-example"
+ sticky_session_type = "Server"
+ }
+ servers {
+ port = 80
+ server_id = alicloud_instance.ecs1.id
+ server_ip = alicloud_instance.ecs1.private_ip
+ server_type = "Ecs"
+ weight = 100
+ }
+ servers {
+ port = 80
+ server_id = alicloud_instance.ecs2.id
+ server_ip = alicloud_instance.ecs2.private_ip
+ server_type = "Ecs"
+ weight = 100
+ }
+}
+
+resource "alicloud_alb_server_group" "server_group2" {
+ provider = alicloud.user1_region2
+ protocol = "HTTP"
+ vpc_id = alicloud_vpc.vpc2.id
+ server_group_name = "test_create_by_ros"
+ health_check_config {
+ health_check_connect_port = "46325"
+ health_check_enabled = true
+ health_check_host = "tf-example.com"
+ health_check_codes = ["http_2xx", "http_3xx"]
+ health_check_http_version = "HTTP1.1"
+ health_check_interval = "2"
+ health_check_method = "HEAD"
+ health_check_path = "/tf-example"
+ health_check_protocol = "HTTP"
+ health_check_timeout = 5
+ healthy_threshold = 3
+ unhealthy_threshold = 3
+ }
+ sticky_session_config {
+ sticky_session_enabled = true
+ cookie = "tf-example"
+ sticky_session_type = "Server"
+ }
+ servers {
+ port = 80
+ server_id = alicloud_instance.ecs3.id
+ server_ip = alicloud_instance.ecs3.private_ip
+ server_type = "Ecs"
+ weight = 100
+ }
+ servers {
+ port = 80
+ server_id = alicloud_instance.ecs4.id
+ server_ip = alicloud_instance.ecs4.private_ip
+ server_type = "Ecs"
+ weight = 100
+ }
+}
+
+resource "alicloud_alb_listener" "listener1" {
+ provider = alicloud.user1_region1
+ load_balancer_id = alicloud_alb_load_balancer.alb1.id
+ listener_protocol = "HTTP"
+ listener_port = 80
+ default_actions {
+ type = "ForwardGroup"
+ forward_group_config {
+ server_group_tuples {
+ server_group_id = alicloud_alb_server_group.server_group1.id
+ }
+ }
+ }
+}
+
+resource "alicloud_alb_listener" "listener2" {
+ provider = alicloud.user1_region2
+ load_balancer_id = alicloud_alb_load_balancer.alb2.id
+ listener_protocol = "HTTP"
+ listener_port = 80
+ default_actions {
+ type = "ForwardGroup"
+ forward_group_config {
+ server_group_tuples {
+ server_group_id = alicloud_alb_server_group.server_group2.id
+ }
+ }
+ }
+}
+
+# --- cen --
+resource "alicloud_cen_instance" "cen" {
+ cen_instance_name = "two-location-three-center-BY-TERRAFORM"
+}
+
+data "alicloud_cen_transit_router_service" "open" {
+ enable = "On"
+}
+
+resource "alicloud_cen_transit_router" "tr1" {
+ provider = alicloud.user1_region1
+ cen_id = alicloud_cen_instance.cen.id
+ depends_on = [data.alicloud_cen_transit_router_service.open]
+}
+
+resource "alicloud_cen_transit_router" "tr2" {
+ provider = alicloud.user1_region2
+ cen_id = alicloud_cen_instance.cen.id
+ depends_on = [data.alicloud_cen_transit_router_service.open]
+}
+
+resource "alicloud_cen_transit_router_vpc_attachment" "vpc_att1" {
+ provider = alicloud.user1_region1
+ transit_router_vpc_attachment_name = "vpc_attachment_1"
+ cen_id = alicloud_cen_instance.cen.id
+ transit_router_id = alicloud_cen_transit_router.tr1.transit_router_id
+ vpc_id = alicloud_vpc.vpc1.id
+ zone_mappings {
+ zone_id = var.region1_zone_id1
+ vswitch_id = alicloud_vswitch.vsw1-1.id
+ }
+ zone_mappings {
+ zone_id = var.region1_zone_id2
+ vswitch_id = alicloud_vswitch.vsw1-2.id
+ }
+}
+
+resource "alicloud_cen_transit_router_vpc_attachment" "vpc_att2" {
+ provider = alicloud.user1_region2
+ transit_router_vpc_attachment_name = "vpc_attachment_2"
+ cen_id = alicloud_cen_instance.cen.id
+ transit_router_id = alicloud_cen_transit_router.tr2.transit_router_id
+ vpc_id = alicloud_vpc.vpc2.id
+ zone_mappings {
+ zone_id = var.region2_zone_id1
+ vswitch_id = alicloud_vswitch.vsw2-1.id
+ }
+ zone_mappings {
+ zone_id = var.region2_zone_id2
+ vswitch_id = alicloud_vswitch.vsw2-2.id
+ }
+}
+
+resource "alicloud_cen_transit_router_route_table" "route_table1" {
+ provider = alicloud.user1_region1
+ transit_router_id = alicloud_cen_transit_router.tr1.transit_router_id
+}
+
+resource "alicloud_cen_transit_router_route_table" "route_table2" {
+ provider = alicloud.user1_region2
+ transit_router_id = alicloud_cen_transit_router.tr2.transit_router_id
+}
+
+resource "alicloud_cen_transit_router_route_entry" "route_entry1" {
+ provider = alicloud.user1_region1
+ for_each = toset(["10.0.1.0/24", "10.0.2.0/24"])
+ transit_router_route_table_id = alicloud_cen_transit_router_route_table.route_table1.transit_router_route_table_id
+ transit_router_route_entry_destination_cidr_block = each.key
+ transit_router_route_entry_next_hop_type = "Attachment"
+ transit_router_route_entry_next_hop_id = alicloud_cen_transit_router_vpc_attachment.vpc_att1.transit_router_attachment_id
+}
+
+resource "alicloud_cen_transit_router_route_entry" "route_entry2" {
+ provider = alicloud.user1_region2
+ for_each = toset(["172.16.1.0/24", "172.16.2.0/24"])
+ transit_router_route_table_id = alicloud_cen_transit_router_route_table.route_table2.transit_router_route_table_id
+ transit_router_route_entry_destination_cidr_block = each.key
+ transit_router_route_entry_next_hop_type = "Attachment"
+ transit_router_route_entry_next_hop_id = alicloud_cen_transit_router_vpc_attachment.vpc_att2.transit_router_attachment_id
+}
+
+
+resource "alicloud_cen_transit_router_route_table_association" "association1" {
+ provider = alicloud.user1_region1
+ transit_router_route_table_id = alicloud_cen_transit_router_route_table.route_table1.transit_router_route_table_id
+ transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.vpc_att1.transit_router_attachment_id
+}
+
+resource "alicloud_cen_transit_router_route_table_association" "association2" {
+ provider = alicloud.user1_region2
+ transit_router_route_table_id = alicloud_cen_transit_router_route_table.route_table2.transit_router_route_table_id
+ transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.vpc_att2.transit_router_attachment_id
+}
+
+resource "alicloud_cen_transit_router_peer_attachment" "user2_peer_attachment" {
+ provider = alicloud.user1_region2
+ cen_id = alicloud_cen_instance.cen.id
+ transit_router_id = alicloud_cen_transit_router.tr2.transit_router_id
+ peer_transit_router_region_id = var.region1
+ peer_transit_router_id = alicloud_cen_transit_router.tr1.transit_router_id
+ bandwidth_type = "DataTransfer"
+ bandwidth = 2
+ auto_publish_route_enabled = true
+}
+
+resource "alicloud_cen_transit_router_route_table_association" "association3" {
+ provider = alicloud.user1_region1
+ transit_router_route_table_id = alicloud_cen_transit_router_route_table.route_table1.transit_router_route_table_id
+ transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user2_peer_attachment.transit_router_attachment_id
+}
+
+resource "alicloud_cen_transit_router_route_table_propagation" "propagation3" {
+ provider = alicloud.user1_region1
+ transit_router_route_table_id = alicloud_cen_transit_router_route_table.route_table1.transit_router_route_table_id
+ transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user2_peer_attachment.transit_router_attachment_id
+}
+
+resource "alicloud_cen_transit_router_route_table_association" "association4" {
+ provider = alicloud.user1_region2
+ transit_router_route_table_id = alicloud_cen_transit_router_route_table.route_table2.transit_router_route_table_id
+ transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user2_peer_attachment.transit_router_attachment_id
+}
+
+resource "alicloud_cen_transit_router_route_table_propagation" "propagation4" {
+ provider = alicloud.user1_region2
+ transit_router_route_table_id = alicloud_cen_transit_router_route_table.route_table2.transit_router_route_table_id
+ transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.user2_peer_attachment.transit_router_attachment_id
+}
+
+# --- dts ---
+resource "alicloud_dts_instance" "default" {
+ provider = alicloud.user1_region1
+ type = "sync"
+ payment_type = "PayAsYouGo"
+ instance_class = "large"
+ source_endpoint_engine_name = "MySQL"
+ source_region = var.region1
+ destination_endpoint_engine_name = "MySQL"
+ destination_region = var.region2
+}
\ No newline at end of file
diff --git a/solution/tech-solution/tltcamanidl/variables.tf b/solution/tech-solution/tltcamanidl/variables.tf
new file mode 100644
index 000000000..f44ac5f07
--- /dev/null
+++ b/solution/tech-solution/tltcamanidl/variables.tf
@@ -0,0 +1,92 @@
+variable "region1" {
+ type = string
+ description = ""
+ default = "cn-shanghai"
+}
+
+variable "region2" {
+ type = string
+ description = ""
+ default = "cn-beijing"
+}
+
+variable "region1_zone_id1" {
+ type = string
+ description = ""
+ default = "cn-shanghai-e"
+}
+
+variable "region1_zone_id2" {
+ type = string
+ description = ""
+ default = "cn-shanghai-f"
+}
+
+variable "region2_zone_id1" {
+ type = string
+ description = ""
+ default = "cn-beijing-k"
+}
+
+variable "region2_zone_id2" {
+ type = string
+ description = ""
+ default = "cn-beijing-l"
+}
+
+variable "region1_instance_type1" {
+ description = ""
+ default = "ecs.g8i.large"
+}
+
+variable "region1_instance_type2" {
+ description = ""
+ default = "ecs.g8i.large"
+}
+
+variable "region2_instance_type1" {
+ description = ""
+ default = "ecs.g7.large"
+}
+
+variable "region2_instance_type2" {
+ description = ""
+ default = "ecs.g7.large"
+}
+
+# variable "ecs_password" {
+# type = string
+# sensitive = true
+# description = ""
+# }
+
+variable "polardb_account_name" {
+ type = string
+ description = ""
+ default = "terraform"
+}
+
+# variable "polardb_password" {
+# type = string
+# sensitive = true
+# description = ""
+# }
+
+variable "ecs_instance_password" {
+ type = string
+ sensitive = true
+ description = "Please enter the ECS login password, with a length of 8-30 characters, and it must include three of the following: uppercase letters, lowercase letters, numbers, and special characters from ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/."
+}
+
+variable "db_password" {
+ description = "Please enter the PolarDB database password. The password must be 8-32 characters long and include uppercase letters, lowercase letters, numbers, and special characters (e.g., !@#$%^&*()_+-=). If repeating the configuration in this tutorial, please ensure that the MySQL database password is identical to the one set during the first execution of the template. Otherwise, the configuration result will be invalid."
+ type = string
+ sensitive = true
+}
+
+variable "polardb_class" {
+ type = string
+ description = ""
+ default = "polar.mysql.x4.large"
+ # default = "polar.mysql.g2m.large.c"
+}
\ No newline at end of file