As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: Crie um AWS Transit Gateway usando a linha de AWS comando
Neste tutorial, você aprenderá a usar o AWS CLI para criar um gateway de trânsito e conectar dois VPCs a ele. Você criará o gateway de trânsito, conectará os dois e VPCs, em seguida, configurará as rotas necessárias para permitir a comunicação entre o gateway de trânsito e o seu VPCs.
Pré-requisitos
Antes de começar, verifique se você tem:
AWS CLI instalado e configurado com as permissões apropriadas. Se você não tiver o AWS CLI instalado, consulte a documentação da interface de linha de AWS comando.
Eles não VPCs podem ser idênticos nem sobrepostos CIDRs. Para obter mais informações, consulte Criar uma VPC no Guia do usuário da Amazon VPC.
Uma EC2 instância em cada VPC. Para ver as etapas para iniciar uma EC2 instância em uma VPC, consulte Iniciar uma instância no Guia EC2 do usuário da Amazon.
Grupos de segurança configurados para permitir tráfego ICMP entre as instâncias. Para ver as etapas para controlar o tráfego usando grupos de segurança, consulte Controle o tráfego para seus AWS recursos usando grupos de segurança no Guia do usuário da Amazon VPC.
Permissões apropriadas do IAM para trabalhar com gateways de trânsito. Para verificar as permissões do IAM do gateway de trânsito, consulte Gerenciamento de identidade e acesso nos gateways de trânsito da Amazon VPC no Guia.AWS Transit Gateway
Etapas
Etapa 1: Criar o gateway de trânsito
Quando você cria um gateway de trânsito,AWS cria uma tabela de rotas padrão do gateway de trânsito e a usa como tabela de rotas de associação padrão e tabela de rotas de propagação padrão. Veja a seguir um exemplo de create-transit-gateway
solicitação na us-west-2
Região. Outros options
foram aprovados na solicitação. Para obter mais informações sobre o create-transit-gateway
comando, incluindo uma lista das opções que você pode passar na solicitação, consulte create-transit-gateway.
aws ec2 create-transit-gateway \ --description "My Transit Gateway" \ --region us-west-2
A resposta então mostra que o gateway de trânsito foi criado. Na resposta, os Options
que são retornados são todos valores padrão.
{ "TransitGateway": { "TransitGatewayId": "tgw-1234567890abcdef0", "TransitGatewayArn": "arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-1234567890abcdef0", "State": "pending", "OwnerId": "123456789012", "Description": "My Transit Gateway", "CreationTime": "2025-06-23T17:39:33+00:00", "Options": { "AmazonSideAsn": 64512, "AutoAcceptSharedAttachments": "disable", "DefaultRouteTableAssociation": "enable", "AssociationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "DefaultRouteTablePropagation": "enable", "PropagationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "VpnEcmpSupport": "enable", "DnsSupport": "enable", "SecurityGroupReferencingSupport": "disable", "MulticastSupport": "disable" } } }
nota
Esse comando retorna informações sobre seu novo gateway de trânsito, incluindo seu ID. Anote a ID do gateway de trânsito (tgw-1234567890abcdef0
), pois você precisará dela nas etapas subsequentes.
Etapa 2: Verificar o estado de disponibilidade do gateway de trânsito
Quando você cria um gateway de trânsito, ele é colocado em um pending
estado. O estado mudará de pendente para disponível automaticamente, mas até que isso aconteça, você não poderá anexar nenhum VPCs até que o estado mude. Para verificar o estado, execute o describe-transit-gatweways
comando usando o ID do gateway de trânsito recém-criado junto com a opção de filtros. A filters
opção usa Name=state
e Values=available
emparelha. Em seguida, o comando pesquisa para verificar se o estado do seu gateway de trânsito está em um estado disponível. Se for, a resposta será exibida"State": "available"
. Se estiver em qualquer outro estado, ainda não está disponível para uso. Aguarde alguns minutos antes de executar o comando.
Para obter mais informações sobre o comando describe-transit-gateways
, consulte describe-transit-gateways.
aws ec2 describe-transit-gateways \ --transit-gateway-ids tgw-1234567890abcdef0 \ --filters Name=state,Values=available
Espere até que o estado do gateway de trânsito mude de pending
para available
antes de continuar. Na resposta a seguir, o State
mudou paraavailable
.
{ "TransitGateways": [ { "TransitGatewayId": "tgw-1234567890abcdef0", "TransitGatewayArn": "arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-1234567890abcdef0", "State": "available", "OwnerId": "123456789012", "Description": "My Transit Gateway", "CreationTime": "2022-04-20T19:58:25+00:00", "Options": { "AmazonSideAsn": 64512, "AutoAcceptSharedAttachments": "disable", "DefaultRouteTableAssociation": "enable", "AssociationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "DefaultRouteTablePropagation": "enable", "PropagationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "VpnEcmpSupport": "enable", "DnsSupport": "enable", "SecurityGroupReferencingSupport": "disable", "MulticastSupport": "disable" }, "Tags": [ { "Key": "Name", "Value": "example-transit-gateway" } ] } ] }
Etapa 3: conecte seu VPCs ao seu gateway de trânsito
Quando seu gateway de trânsito estiver disponível, crie um anexo para cada VPC usando o. create-transit-gateway-vpc-attachment
Você precisará incluir o transit-gateway-id
vpc-id
, o e subnet-ids
o.
Para obter mais informações sobre o create-transit-vpc attachment
comando, consulte create-transit-gateway-vpc-attachment.
No exemplo a seguir, o comando é executado duas vezes, uma para cada VPC.
Para a primeira VPC, execute o seguinte usando a primeira vpc_id
e: subnet-ids
aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id tgw-1234567890abcdef0 \ --vpc-id vpc-1234567890abcdef0 \ --subnet-ids subnet-1234567890abcdef0
A resposta mostra o anexo bem-sucedido. O anexo é criado em um pending
estado. Não há necessidade de alterar esse estado, pois ele muda para um available
estado automaticamente. Isso pode demorar vários minutos.
{ "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-1234567890abcdef0", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-1234567890abcdef0", "VpcOwnerId": "123456789012", "State": "pending", "SubnetIds": [ "subnet-1234567890abcdef0", "subnet-abcdef1234567890" ], "CreationTime": "2025-06-23T18:35:11+00:00", "Options": { "DnsSupport": "enable", "SecurityGroupReferencingSupport": "enable", "Ipv6Support": "disable", "ApplianceModeSupport": "disable" } } }
Para a segunda VPC, execute o mesmo comando acima usando a segunda vpc_id
e: subnet-ids
aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id tgw-1234567890abcdef0 \ --vpc-id vpc-abcdef1234567890 \ --subnet-ids subnet-abcdef01234567890
A resposta para esse comando também mostra um anexo bem-sucedido, com o anexo atualmente em um pending
estado.
{ { "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-abcdef1234567890", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "pending", "SubnetIds": [ "subnet-fedcba0987654321", "subnet-0987654321fedcba" ], "CreationTime": "2025-06-23T18:42:56+00:00", "Options": { "DnsSupport": "enable", "SecurityGroupReferencingSupport": "enable", "Ipv6Support": "disable", "ApplianceModeSupport": "disable" } } }
Etapa 4: Verificar se os anexos do Transit Gateway estão disponíveis
Os anexos do Transit Gateway são criados em um estado inicialpending
. Você não poderá usar esses anexos em suas rotas até que o estado mude para. available
Isso acontece automaticamente. Use o describe-transit-gateways
comando, junto com otransit-gateway-id
, para verificar State
o. Para obter mais informações sobre o comando describe-transit-gateways
, consulte describe-transit-gateways.
Execute o comando a seguir para verificar o status. Neste exemplo, Values
os campos opcionais Name
e de filtros são passados na solicitação:
aws ec2 describe-transit-gateway-vpc-attachments \ --filters Name=transit-gateway-id,Values=tgw-1234567890abcdef0
A resposta a seguir mostra que os dois anexos estão em um available
estado:
{ "TransitGatewayVpcAttachments": [ { "TransitGatewayAttachmentId": "tgw-attach-1234567890abcdef0", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-1234567890abcdef0", "VpcOwnerId": "123456789012", "State": "available", "SubnetIds": [ "subnet-1234567890abcdef0", "subnet-abcdef1234567890" ], "CreationTime": "2025-06-23T18:35:11+00:00", "Options": { "DnsSupport": "enable", "SecurityGroupReferencingSupport": "enable", "Ipv6Support": "disable", "ApplianceModeSupport": "disable" }, "Tags": [] }, { "TransitGatewayAttachmentId": "tgw-attach-abcdef1234567890", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "available", "SubnetIds": [ "subnet-fedcba0987654321", "subnet-0987654321fedcba" ], "CreationTime": "2025-06-23T18:42:56+00:00", "Options": { "DnsSupport": "enable", "SecurityGroupReferencingSupport": "enable", "Ipv6Support": "disable", "ApplianceModeSupport": "disable" }, "Tags": [] } ] }
Etapa 5: Adicione rotas entre seu gateway de trânsito e VPCs
Configure rotas em cada tabela de rotas da VPC para direcionar o tráfego para a outra VPC por meio do gateway de trânsito usando o create-route
comando junto com a tabela de rotas de transit-gateway-id
cada VPC. No exemplo a seguir, o comando é executado duas vezes, uma para cada tabela de rotas. A solicitação inclui o route-table-id
destination-cidr-block
, o e transit-gateway-id
para cada rota de VPC que você está criando.
Para obter mais informações sobre o create-route
comando, consulte create-route.
Para a primeira tabela de rotas da VPC, execute o seguinte comando:
aws ec2 create-route \ --route-table-id rtb-1234567890abcdef0 \ --destination-cidr-block 10.2.0.0/16 \ --transit-gateway-id tgw-1234567890abcdef0
Para a segunda tabela de rotas da VPC, execute o comando a seguir. Essa rota usa um route-table-id
e é destination-cidr-block
diferente da primeira VPC. No entanto, como você está usando apenas um único gateway de trânsito, o mesmo transit-gateway-id
é usado.
aws ec2 create-route \ --route-table-id rtb-abcdef1234567890 \ --destination-cidr-block 10.1.0.0/16 \ --transit-gateway-id tgw-1234567890abcdef0
A resposta retorna true
para cada rota, indicando que as rotas foram criadas.
{ "Return": true }
nota
Substitua os blocos CIDR de destino pelos blocos CIDR reais do seu. VPCs
Etapa 6: testar o gateway de trânsito
Você pode confirmar se o gateway de trânsito foi criado com sucesso conectando-se a uma EC2 instância em uma VPC, fazendo ping em uma instância na outra VPC e, em seguida, executando o comando. ping
-
Conecte-se à sua EC2 instância na primeira VPC usando SSH ou Instance Connect EC2
-
Faça o ping do endereço IP privado da EC2 instância na segunda VPC:
ping 10.2.0.50
nota
10.2.0.50
Substitua pelo endereço IP privado real da sua EC2 instância na segunda VPC.
Se o ping for bem-sucedido, seu gateway de trânsito está configurado corretamente e roteará o tráfego entre seus VPCs.
Etapa 7: Excluir os anexos do gateway de trânsito e o gateway de trânsito
Quando você não precisar mais do gateway de trânsito, poderá excluí-lo. Primeiro, você deve excluir todos os anexos. Execute o delete-transit-gateway-vpc-attachment
comando usando o transit-gateway-attachment-id
para cada anexo. Depois de executar o comando, use delete-transit-gateway
para excluir o gateway de trânsito. Para o seguinte, exclua os dois anexos de VPC e o gateway de trânsito único que foram criados nas etapas anteriores.
Importante
Você deixará de incorrer em cobranças depois de excluir todos os anexos do Transit Gateway.
-
Exclua os anexos da VPC usando o comando.
delete-transit-gateway-vpc-attachment
Para obter mais informações sobre odelete-transit-gateway-vpc-attachment
comando, consulte delete-transit-gateway-vpc-attachment.Para o primeiro anexo, execute o seguinte comando:
aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-1234567890abcdef0
A resposta de exclusão para o primeiro anexo de VPC retorna o seguinte:
{ "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-1234567890abcdef0", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "deleting", "CreationTime": "2025-06-23T18:42:56+00:00" } }
Execute o
delete-transit-gateway-vpc-attachment
comando para o segundo anexo:aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-abcdef1234567890
A resposta de exclusão para o segundo anexo de VPC retorna o seguinte:
The response returns: { "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-abcdef1234567890", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "deleting", "CreationTime": "2025-06-23T18:42:56+00:00" } }
-
Os anexos ficam em um
deleting
estado até serem excluídos. Depois de excluído, você pode excluir o gateway de trânsito. Use odelete-transit-gateway
comando junto comtransit-gateway-id
o. Para obter mais informações sobredelete-transit-gateway
o comando, consulte delete-transit-gateway.O exemplo a seguir exclui
My Transit Gateway
o que você criou na primeira etapa acima:aws ec2 delete-transit-gateway \ --transit-gateway-id tgw-1234567890abcdef0
Veja a seguir a resposta à solicitação, que inclui o ID e o nome do gateway de trânsito excluídos, junto com as opções originais definidas para o gateway de trânsito quando ele foi criado.
{ "TransitGateway": { "TransitGatewayId": "tgw-1234567890abcdef0", "TransitGatewayArn": "arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-1234567890abcdef0", "State": "deleting", "OwnerId": "123456789012", "Description": "My Transit Gateway", "CreationTime": "2025-06-23T17:39:33+00:00", "Options": { "AmazonSideAsn": 64512, "AutoAcceptSharedAttachments": "disable", "DefaultRouteTableAssociation": "enable", "AssociationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "DefaultRouteTablePropagation": "enable", "PropagationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "VpnEcmpSupport": "enable", "DnsSupport": "enable", "SecurityGroupReferencingSupport": "disable", "MulticastSupport": "disable" }, "Tags": [ { "Key": "Name", "Value": "example-transit-gateway" } ] } }
Conclusão
Você criou com sucesso um gateway de trânsito, anexou dois VPCs a ele, configurou o roteamento entre eles e verificou a conectividade. Este exemplo simples demonstra a funcionalidade básica dos Amazon VPC Transit Gateways. Para cenários mais complexos, como conectar-se a redes locais ou implementar configurações de roteamento mais avançadas, consulte o Guia do usuário do Amazon VPC Transit Gateways.