Este tópico descreve como usar um transit router da Enterprise Edition para permitir que instâncias ecs em uma Virtual Private Cloud (VPC) acessem o OSS entre regiões de forma privada.
Execute o código de exemplo deste tutorial com um único clique: execução com um clique.
Cenário
Neste cenário, uma empresa implantou aplicações em instâncias ecs na VPC1, localizada na região China (Shanghai). A empresa também utiliza um serviço OSS na região China (Hangzhou). O objetivo é permitir que essas instâncias ecs acessem o serviço OSS e recuperem recursos de forma privada.
O OSS é um serviço regional e não reside em nenhuma VPC. No entanto, uma VPC na mesma região pode acessar o serviço OSS por meio de seu endpoint interno. Portanto, crie uma VPC (VPC2) na região China (Hangzhou), onde o serviço OSS está disponível, para atuar como rede de trânsito. Em seguida, conecte a VPC1 e a VPC2 aos transit routers da Enterprise Edition em suas respectivas regiões e crie uma conexão inter-regional entre os dois transit routers. Adicione manualmente rotas para o bloco CIDR interno do OSS na VPC1 e no transit router da região China (Hangzhou). Após a configuração, os dados de uma instância ecs na VPC1 fluem para o OSS da seguinte forma: instância ecs → transit router em China (Shanghai) → conexão inter-regional → transit router em China (Hangzhou) → VPC2 → endpoint interno do OSS.
Nesta solução, a VPC2 serve apenas como rede de trânsito, fornecendo um caminho para o tráfego inter-regional até o endpoint interno do OSS. Se você já possui uma VPC na região China (Hangzhou), conecte-a diretamente ao transit router da Enterprise Edition para atuar como rede de trânsito. Não é necessário criar a VPC2.
Planejamento de rede
Certifique-se de que os blocos CIDR das VPCs interconectadas não se sobreponham.
|
Recurso |
Região da VPC |
CIDR e ip |
|
VPC1 |
China (Shanghai) |
Bloco CIDR primário: 192.168.0.0/16
|
|
VPC2 |
China (Hangzhou) |
Bloco CIDR primário: 172.16.0.0/16
|
Etapas
Este tópico descreve dois métodos de configuração: console e Terraform.
Console
Antes de começar
Antes de iniciar, conclua as seguintes preparações. Para obter informações sobre os blocos CIDR de cada recurso, consulte a seção Planejamento de rede acima.
Na região China (Shanghai): Crie uma VPC chamada VPC1 com o bloco CIDR primário 192.168.0.0/16. Na VPC1, crie vSwitches em duas zonas de disponibilidade distintas. Cada vSwitch deve ter pelo menos um endereço ip disponível, e uma instância ecs deve estar implantada em um dos vSwitches. Para mais informações, consulte Criar uma VPC IPv4.
Na região China (Hangzhou): Implante um serviço OSS criando um bucket do OSS. Para instruções, consulte Guia de início rápido.
Configure as regras do grupo de segurança da VPC1 para permitir o tráfego necessário. Para mais informações, consulte Consultar regras de grupo de segurança e Adicionar regras de grupo de segurança.
Etapa 1: Criar uma VPC de trânsito
Na região China (Hangzhou), crie uma VPC chamada VPC2 com o bloco CIDR primário 172.16.0.0/16. Em seguida, crie vSwitches em duas zonas de disponibilidade distintas, garantindo que cada vSwitch tenha pelo menos um endereço ip disponível. Nesta solução, a VPC2 atua como rede de trânsito para acessar o serviço OSS. Se você já possui uma instância de VPC na região China (Hangzhou), pule esta etapa e selecione a VPC existente na Etapa 2. Para mais informações, consulte Criar e gerenciar uma VPC.
Após criar a VPC2, verifique se as regras do grupo de segurança permitem o tráfego necessário e não bloqueiam o tráfego inter-regional proveniente da VPC1. Para mais informações, consulte Consultar regras de grupo de segurança e Adicionar regras de grupo de segurança.
Etapa 2: Usar a ferramenta de rede baseada em cenários
Use a ferramenta de rede baseada em cenários do CEN para criar automaticamente uma instância CEN, transit routers da Enterprise Edition, conexões de VPC e uma conexão inter-regional, além de configurar suas rotas.
Faça login no console do CEN. Na página CEN Instance, clique em Create CEN Instance.
Na caixa de diálogo Create CEN Instance, selecione Create Scenario-specific CEN (Recommended). Para VPC Interconnection, selecione VPC Interconnection e clique em Start scenario-based creation.
-
Na primeira aba de região, adicione as configurações de rede:
Region: Selecione China (Hangzhou).
Zone: Selecione Availability Zone J e Availability Zone K.
VPC: Selecione a VPC2 e seus dois vSwitches correspondentes.
-
Clique em + no lado direito da aba para adicionar uma nova aba de região e adicione as configurações de rede:
Region: Selecione China (Shanghai).
Zone: Selecione Availability Zone M e Availability Zone N.
VPC: Selecione a VPC1 e seus dois vSwitches correspondentes.
Clique em Next. A geração do resumo da configuração leva alguns minutos. Na página Confirm Networking Settings and Fees, revise os recursos que serão criados automaticamente e seus custos. Após confirmar as informações, clique em Start deployment.
-
A implantação leva cerca de 10 minutos. Após a conclusão, os seguintes recursos são criados automaticamente:
Uma instância CEN.
Um transit router da Enterprise Edition na região China (Hangzhou) e outro na região China (Shanghai).
Conexões de VPC da VPC1 e da VPC2 para os transit routers em suas respectivas regiões.
Uma conexão inter-regional entre os dois transit routers.
Embora a VPC1 e a VPC2 possam se comunicar por uma conexão privada após a conclusão da configuração de rede baseada em cenários, as instâncias ecs na VPC1 ainda não conseguem acessar o serviço OSS.
Etapa 3: Configurar rotas da VPC para o OSS
Após a criação da conexão inter-regional, a VPC1 e a VPC2 podem se comunicar através dos transit routers da Enterprise Edition. No entanto, as instâncias ecs na VPC1 ainda não conseguem acessar o serviço OSS de forma privada por meio do transit router da Enterprise Edition e da VPC2. Adicione rotas para o serviço OSS na tabela de rotas da VPC1 para direcionar o tráfego destinado ao serviço OSS para o transit router da Enterprise Edition.
Faça login no console da VPC.
-
Na barra de navegação superior, selecione a região onde a instância VPC1 está implantada.
Neste exemplo, China (Shanghai) está selecionado.
No painel de navegação à esquerda, clique em Route Tables.
-
Na página Route Tables, localize a tabela de rotas da VPC1 e clique em seu ID.
Neste exemplo, a VPC1 possui apenas uma tabela de rotas do sistema. Se sua VPC tiver várias tabelas de rotas, selecione a tabela associada ao vSwitch onde a instância ecs está implantada.
Na aba Route Entry List, clique na aba Custom Route e clique em Add Route Entry.
-
No painel Add Route Entry, configure os seguintes parâmetros e clique em OK.
Adicione rotas para todos os blocos CIDR do serviço OSS na região China (Hangzhou) à tabela de rotas da VPC1.
Para obter uma lista de todos os blocos CIDR do serviço OSS na região China (Hangzhou), consulte Acessar o OSS usando endpoints e nomes de domínio de bucket.
Parâmetro
Descrição
Entrada de rota 1
Entrada de rota 2
Entrada de rota 3
Entrada de rota 4
Name
Insira um nome para a entrada de rota personalizada.
Bloco CIDR do OSS 1
Bloco CIDR do OSS 2
Bloco CIDR do OSS 3
Bloco CIDR do OSS 4
Destination CIDR Block
Insira o bloco CIDR de destino.
100.118.28.0/24
100.114.102.0/24
100.98.170.0/24
100.118.31.0/24
Next Hop Type
Selecione o tipo de próximo salto para a entrada de rota personalizada e selecione o próximo salto.
Selecione Transit Router e selecione a conexão da VPC1.
Selecione Transit Router e selecione a conexão da VPC1.
Selecione Transit Router e selecione a conexão da VPC1.
Selecione Transit Router e selecione a conexão da VPC1.
Etapa 4: Configurar rotas do transit router para o OSS
Adicione rotas para o serviço OSS na tabela de rotas do transit router da Enterprise Edition na região China (Hangzhou). Essas rotas direcionam o tráfego das instâncias ecs na VPC1 para a VPC2, permitindo o acesso privado ao serviço OSS.
Faça login no console do CEN.
Na página Cloud Enterprise Network, localize a instância CEN desejada e clique em seu ID.
Na aba , localize a instância do transit router na região China (Hangzhou) e clique em seu ID.
-
Na página de detalhes da instância do transit router, clique na aba Route Table. No lado esquerdo da aba, selecione a tabela de rotas desejada.
Por padrão, as configurações avançadas das conexões da VPC1 e da VPC2 as associam à tabela de rotas padrão do transit router. Portanto, a tabela de rotas padrão (tabela de rotas do sistema) do transit router é selecionada neste exemplo.
Na aba Route Entry, clique em Add Route Entry.
-
Na caixa de diálogo Add Route Entry, configure os seguintes parâmetros e clique em OK.
Adicione rotas para todos os blocos CIDR do serviço OSS na região China (Hangzhou) à tabela de rotas do transit router.
Parâmetro
Descrição
Entrada de rota 1
Entrada de rota 2
Entrada de rota 3
Entrada de rota 4
Name
Insira um nome para a entrada de rota.
OSS CIDR block 1
OSS CIDR block 2
OSS CIDR block 3
OSS CIDR block 4
Destination CIDR
Insira o bloco CIDR de destino para a entrada de rota.
100.118.28.0/24
100.114.102.0/24
100.98.170.0/24
100.118.31.0/24
Blackhole Route
Indica se a rota é uma rota blackhole.
-
Yes: A rota é uma rota blackhole. Todo o tráfego destinado a esta rota é descartado.
-
No: A rota não é uma rota blackhole. Especifique um próximo salto para a rota.
Selecione No.
Selecione No.
Selecione No.
Selecione No.
Next Hop
Selecione o próximo salto para a entrada de rota.
Selecione a conexão da VPC2.
Selecione a conexão da VPC2.
Selecione a conexão da VPC2.
Selecione a conexão da VPC2.
-
Etapa 5: Testar a conectividade
Após concluir as etapas anteriores, as instâncias ecs na VPC1 podem acessar o serviço OSS inter-regional de forma privada. Este exemplo testa a conectividade baixando uma imagem do serviço OSS para uma instância ecs na VPC1.
Faça login na instância ecs na VPC1. Para mais informações, consulte Guia de conexão para instâncias ecs.
-
Na instância ecs, tente baixar uma imagem chamada OSStest.jpg do serviço OSS.
NotaAntes de executar o teste, certifique-se de que as permissões do arquivo de destino permitem o acesso a partir da instância ecs. Para mais informações, consulte Visão geral de permissões e controle de acesso.
wget https://zxtXXXXX.oss-cn-hangzhou-internal.aliyuncs.com/OSStest.jpg # zxtXXXXX.oss-cn-hangzhou-internal.aliyuncs.com is the access domain name of the OSS service. # OSStest.jpg is the name of the destination file.Para mais informações sobre nomes de domínio de acesso ao OSS, consulte Acessar o OSS via IPv6.
Se for retornada uma resposta semelhante à seguinte, a instância ecs consegue acessar o serviço OSS inter-regional de forma privada.
[root@iZuf6bxxx hblZ ~]# wget https://zxxx2.oss-cn-hangzhou-internal.aliyuncs.com/OSStest.jpg --2023-01-29 16:54:46-- https://zxtxxx2.oss-cn-hangzhou-internal.aliyuncs.com/OSStest.jpg Resolving zxtxxx2.oss-cn-hangzhou-internal.aliyuncs.com (zxtxxx2.oss-cn-hangzhou-internal.aliyuncs.com)... 100.xxx.50, 100.xxx.49, 100. 45, ... Connecting to zxtxxx2.oss-cn-hangzhou-internal.aliyuncs.com (zxxxx s2.oss-cn-hangzhou-internal.aliyuncs.com)|100.xxx.50|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 611894 (598K) [image/jpeg] Saving to: 'OSStest.jpg.5' OSStest.jpg.5 100%[=================================================>] 597.55K 132KB/s in 4.5s 2023-01-29 16:54:51 (132 KB/s) - 'OSStest.jpg.5' saved [611894/611894]
Terraform
Use o Terraform para construir o ambiente deste exemplo. Para obter informações sobre como instalar e configurar o Terraform, consulte Instalar o Terraform.
As etapas a seguir descrevem como executar o Terraform v1.9.8 em um host Linux. Antes de começar, certifique-se de ter configurado a Autenticação.
Alguns recursos neste tutorial podem gerar custos. Para evitar cobranças adicionais, libere os recursos quando eles não forem mais necessários.
Etapa 1: Criar recursos
-
Crie um diretório para o cenário e navegue até ele.
mkdir tf-cen-oss && cd tf-cen-oss -
Crie um arquivo
main.tfpara definir as informações dos recursos.touch main.tf -
Abra o arquivo
main.tfe copie e cole o seguinte código no arquivo. Este arquivo contém os recursos e configurações necessários para este cenário.variable "pname" { description = "The prefix name for resources" type = string default = "tf-cen-oss" } variable "region_id_hangzhou" { description = "The region id of hangzhou" type = string default = "cn-hangzhou" } variable "region_id_shanghai" { # description = "The region id of shanghai" type = string default = "cn-shanghai" } variable "az_hangzhou" { description = "List of availability zones to use" type = list(string) default = ["cn-hangzhou-j", "cn-hangzhou-k"] } variable "az_shanghai" { description = "List of availability zones to use" type = list(string) default = ["cn-shanghai-m", "cn-shanghai-n"] } variable "cidr_list" { description = "List of VPC CIDR block" type = list(string) default = ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"] } # --- provider --- provider "alicloud" { # default region hangzhou region = var.region_id_hangzhou } provider "alicloud" { alias = "hangzhou" region = var.region_id_hangzhou } provider "alicloud" { alias = "shanghai" region = var.region_id_shanghai } # --- oss --- resource "random_uuid" "default" { } resource "alicloud_oss_bucket" "bucket1" { provider = alicloud.hangzhou bucket = substr("${var.pname}-${replace(random_uuid.default.result, "-", "")}", 0, 32) } resource "alicloud_oss_bucket_policy" "default" { provider = alicloud.hangzhou policy = jsonencode({ "Version" : "1", "Statement" : [{ "Action" : ["oss:GetObject"], "Effect" : "Allow", "Resource" : ["acs:oss:*:*:${alicloud_oss_bucket.bucket1.bucket}"] }] }) bucket = alicloud_oss_bucket.bucket1.bucket } resource "alicloud_oss_bucket_object" "obj1" { provider = alicloud.hangzhou bucket = alicloud_oss_bucket.bucket1.bucket key = "example.txt" # Name of the file in the bucket content = "this is example text content \n" # Content of the file acl = "public-read" } # --- vpc --- resource "alicloud_vpc" "vpc1" { provider = alicloud.shanghai vpc_name = "${var.pname}-1" cidr_block = "192.168.0.0/16" } resource "alicloud_vpc" "vpc2" { provider = alicloud.hangzhou vpc_name = "${var.pname}-2" cidr_block = "172.16.0.0/16" } resource "alicloud_vswitch" "vsw1-1" { provider = alicloud.shanghai vpc_id = alicloud_vpc.vpc1.id cidr_block = "192.168.0.0/24" zone_id = var.az_shanghai[0] vswitch_name = "${var.pname}-vsw1-1" } resource "alicloud_vswitch" "vsw1-2" { provider = alicloud.shanghai vpc_id = alicloud_vpc.vpc1.id cidr_block = "192.168.1.0/24" zone_id = var.az_shanghai[1] vswitch_name = "${var.pname}-vsw1-2" } resource "alicloud_vswitch" "vsw2-1" { provider = alicloud.hangzhou vpc_id = alicloud_vpc.vpc2.id cidr_block = "172.16.0.0/24" zone_id = var.az_hangzhou[0] vswitch_name = "${var.pname}-vsw2-1" } resource "alicloud_vswitch" "vsw2-2" { provider = alicloud.hangzhou vpc_id = alicloud_vpc.vpc2.id cidr_block = "172.16.1.0/24" zone_id = var.az_hangzhou[1] vswitch_name = "${var.pname}-vsw2-2" } # --- cen --- # cen resource "alicloud_cen_instance" "cen1" { cen_instance_name = "${var.pname}-cen1" } # tr resource "alicloud_cen_transit_router" "tr1" { provider = alicloud.shanghai transit_router_name = "${var.pname}-tr1" cen_id = alicloud_cen_instance.cen1.id } resource "alicloud_cen_transit_router" "tr2" { provider = alicloud.hangzhou transit_router_name = "${var.pname}-tr2" cen_id = alicloud_cen_instance.cen1.id } data "alicloud_cen_transit_router_route_tables" "tr1" { # get tr sys table transit_router_id = alicloud_cen_transit_router.tr1.transit_router_id transit_router_route_table_type = "System" } data "alicloud_cen_transit_router_route_tables" "tr2" { transit_router_id = alicloud_cen_transit_router.tr2.transit_router_id transit_router_route_table_type = "System" } # tr-peer resource "alicloud_cen_transit_router_peer_attachment" "peer" { provider = alicloud.shanghai cen_id = alicloud_cen_instance.cen1.id transit_router_id = alicloud_cen_transit_router.tr1.transit_router_id peer_transit_router_region_id = var.region_id_hangzhou peer_transit_router_id = alicloud_cen_transit_router.tr2.transit_router_id bandwidth_type = "DataTransfer" bandwidth = 1 auto_publish_route_enabled = true # default is false } resource "alicloud_cen_transit_router_route_table_association" "ass_peer1" { transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr1.tables[0].id transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.peer.transit_router_attachment_id } resource "alicloud_cen_transit_router_route_table_propagation" "propa_peer1" { transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr1.tables[0].id transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.peer.transit_router_attachment_id } resource "alicloud_cen_transit_router_route_table_association" "ass_peer2" { transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.peer.transit_router_attachment_id } resource "alicloud_cen_transit_router_route_table_propagation" "propa_peer2" { transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id transit_router_attachment_id = alicloud_cen_transit_router_peer_attachment.peer.transit_router_attachment_id } # attach1 resource "alicloud_cen_transit_router_vpc_attachment" "attach1" { provider = alicloud.shanghai cen_id = alicloud_cen_instance.cen1.id transit_router_id = alicloud_cen_transit_router.tr1.transit_router_id vpc_id = alicloud_vpc.vpc1.id zone_mappings { zone_id = var.az_shanghai[0] vswitch_id = alicloud_vswitch.vsw1-1.id } zone_mappings { zone_id = var.az_shanghai[1] vswitch_id = alicloud_vswitch.vsw1-2.id } transit_router_vpc_attachment_name = "attach1" } resource "alicloud_cen_transit_router_route_table_association" "ass1" { transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr1.tables[0].id transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.attach1.transit_router_attachment_id } resource "alicloud_cen_transit_router_route_table_propagation" "propa1" { transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr1.tables[0].id transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.attach1.transit_router_attachment_id } resource "alicloud_route_entry" "vpc1_to_tr1" { provider = alicloud.shanghai count = 3 route_table_id = alicloud_vpc.vpc1.route_table_id destination_cidrblock = var.cidr_list[count.index] nexthop_type = "Attachment" nexthop_id = alicloud_cen_transit_router_vpc_attachment.attach1.transit_router_attachment_id } # attach2 resource "alicloud_cen_transit_router_vpc_attachment" "attach2" { provider = alicloud.hangzhou cen_id = alicloud_cen_instance.cen1.id transit_router_id = alicloud_cen_transit_router.tr2.transit_router_id vpc_id = alicloud_vpc.vpc2.id zone_mappings { zone_id = var.az_hangzhou[0] vswitch_id = alicloud_vswitch.vsw2-1.id } zone_mappings { zone_id = var.az_hangzhou[1] vswitch_id = alicloud_vswitch.vsw2-2.id } transit_router_vpc_attachment_name = "attach2" } resource "alicloud_cen_transit_router_route_table_association" "ass2" { transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.attach2.transit_router_attachment_id } resource "alicloud_cen_transit_router_route_table_propagation" "propa2" { transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id transit_router_attachment_id = alicloud_cen_transit_router_vpc_attachment.attach2.transit_router_attachment_id } resource "alicloud_route_entry" "vpc2_to_tr2" { provider = alicloud.hangzhou count = 3 route_table_id = alicloud_vpc.vpc2.route_table_id destination_cidrblock = var.cidr_list[count.index] nexthop_type = "Attachment" nexthop_id = alicloud_cen_transit_router_vpc_attachment.attach2.transit_router_attachment_id } # oss_cidr variable "oss_cidr" { description = "The OSS CIDR block" type = list(string) default = ["100.118.28.0/24", "100.114.102.0/24", "100.98.170.0/24", "100.118.31.0/24"] } # vpc entry resource "alicloud_route_entry" "entry" { provider = alicloud.shanghai count = 4 route_table_id = alicloud_vpc.vpc1.route_table_id destination_cidrblock = var.oss_cidr[count.index] nexthop_type = "Attachment" nexthop_id = alicloud_cen_transit_router_vpc_attachment.attach1.transit_router_attachment_id } # tr entry resource "alicloud_cen_transit_router_route_entry" "tr2_rt1_entry1" { count = 4 transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id transit_router_route_entry_destination_cidr_block = var.oss_cidr[count.index] transit_router_route_entry_next_hop_type = "Attachment" transit_router_route_entry_next_hop_id = alicloud_cen_transit_router_vpc_attachment.attach2.transit_router_attachment_id } # --- ecs --- resource "alicloud_instance" "main" { provider = alicloud.shanghai depends_on = [alicloud_cen_transit_router_route_entry.tr2_rt1_entry1] instance_name = "${var.pname}-ecs" instance_type = "ecs.e-c1m1.large" security_groups = [alicloud_security_group.default.id] vswitch_id = alicloud_vswitch.vsw1-1.id image_id = "aliyun_3_x64_20G_qboot_alibase_20230727.vhd" system_disk_category = "cloud_essd" private_ip = "192.168.0.1" instance_charge_type = "PostPaid" user_data = base64encode(<<-EOT #!/bin/bash curl https://${alicloud_oss_bucket.bucket1.bucket}.${alicloud_oss_bucket.bucket1.intranet_endpoint}/${alicloud_oss_bucket_object.obj1.key} > /root/curl.txt EOT ) } # sg resource "alicloud_security_group" "default" { provider = alicloud.shanghai name = var.pname vpc_id = alicloud_vpc.vpc1.id } resource "alicloud_security_group_rule" "allow_inbound_ssh" { provider = alicloud.shanghai type = "ingress" ip_protocol = "tcp" nic_type = "intranet" policy = "accept" port_range = "22/22" priority = 1 security_group_id = alicloud_security_group.default.id cidr_ip = "0.0.0.0/0" } resource "alicloud_security_group_rule" "allow_inbound_icmp" { provider = alicloud.shanghai type = "ingress" ip_protocol = "icmp" nic_type = "intranet" policy = "accept" port_range = "-1/-1" priority = 1 security_group_id = alicloud_security_group.default.id cidr_ip = "0.0.0.0/0" } # --- output --- output "ecs_login_address" { value = "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs®ionId=${var.region_id_shanghai}&instanceId=${alicloud_instance.main.id}" } output "test_command" { value = "curl ${alicloud_oss_bucket.bucket1.bucket}.${alicloud_oss_bucket.bucket1.intranet_endpoint}/${alicloud_oss_bucket_object.obj1.key}" } -
Inicialize sua configuração do Terraform.
terraform init -
Crie os recursos. O Terraform exibirá uma prévia dos recursos a serem criados. Após confirmar, insira
yespara iniciar o processo de criação.terraform apply
Etapa 2: Testar conectividade
-
Faça login na instância ecs chamada
tf-cen-oss-ecs.Nos Outputs do Terraform, localize o endereço de login da instância ecs. Abra este endereço em um navegador. Ao fazer login, selecione Temporary SSH Key-based como método de autenticação.
Outputs: ecs_login_address = "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs®ionId=cn-shanghai&instanceId=i-uf6xxx" test_command = "curl xxx" -
Nos Outputs, copie o comando que começa com
curl:Outputs: ecs_login_address = "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs®ionId=cn-shanghai" test_command = "curl tf-cen-oss-xxx.oss-cn-hangzhou-internal.aliyuncs.com/example.txt" -
Na instância ecs, execute o comando
curl:curl tf-cen-oss-xxxxxx.oss-cn-hangzhou-internal.aliyuncs.com/example.txt[root@iZuf6xxx ~]# curl tf-cen-oss-2821xxx xxx.oss-cn-hangzhou-internal.aliyuncs.com/example.txt this is example text content [root@iZuf6xxx ~]#Se o comando retornar o conteúdo de texto esperado, a conexão foi bem-sucedida.
Etapa 3: Liberar recursos
Ao terminar, execute o seguinte comando para liberar os recursos e evitar cobranças adicionais.
terraform destroy --auto-approve
Roteamento
Neste tópico, as conexões de VPC e a conexão inter-regional são criadas automaticamente usando uma ferramenta de rede baseada em cenários, que aplica uma configuração de roteamento padrão. Com essa configuração, o CEN anuncia e aprende rotas automaticamente para habilitar a comunicação entre a VPC1 e a VPC2. A configuração de roteamento padrão é a seguinte:
VPC
Ao criar uma conexão de VPC usando a configuração de roteamento padrão (com todas as configurações avançadas ativadas), o sistema aplica automaticamente as seguintes configurações de roteamento à VPC:
-
Associate with Default Route Table of Transit Router
Quando este recurso está ativado, o sistema associa automaticamente a conexão da VPC à tabela de rotas padrão do transit router. O transit router então encaminha o tráfego da VPC com base nesta tabela de rotas.
-
Propagate system routes to transit router route table
Quando este recurso está ativado, a VPC propaga suas rotas de sistema para a tabela de rotas padrão do transit router, permitindo a comunicação entre instâncias de rede.
-
Auto-add transit router routes to all VPC route tables
Quando este recurso está ativado, o sistema adiciona automaticamente três entradas de rota a todas as tabelas de rotas da instância de VPC: 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. O próximo salto dessas entradas de rota é a conexão da VPC.
Conexão inter-regional
Ao criar uma conexão inter-regional usando a configuração de roteamento padrão (com todas as configurações avançadas ativadas), o sistema aplica automaticamente as seguintes configurações de roteamento:
-
Associate with Default Route Table of Transit Router
Associa a conexão inter-regional às tabelas de rotas do sistema dos transit routers em ambas as regiões. O tráfego inter-regional é encaminhado com base nessas tabelas de rotas do sistema.
-
Propagate system routes to transit router route table
Estabelece uma relação de aprendizado de rotas entre a conexão inter-regional e as tabelas de rotas do sistema dos transit routers em ambas as regiões.
-
Automatically Advertise Routes to Peer Region
Anuncia rotas da tabela de rotas do transit router local para a tabela de rotas do transit router remoto, habilitando a conectividade inter-regional para instâncias de rede.
Visualizar entradas de rota
Visualize as entradas de rota de cada instância no Alibaba Cloud Management Console:
Para visualizar entradas de rota de um transit router da Enterprise Edition, consulte Visualizar entradas de rota de um transit router da Enterprise Edition.
Para visualizar entradas de rota de uma instância de VPC, consulte Criar e gerenciar uma tabela de rotas.