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 Transit Gateway, consulte Gerenciamento de identidade e acesso em AWS Transit Gateways no AWS Transit Gateway Guia.
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-idvpc-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-iddestination-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.50nota
10.2.0.50Substitua 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-attachmentPara obter mais informações sobre odelete-transit-gateway-vpc-attachmentcomando, 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-1234567890abcdef0A 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-attachmentcomando para o segundo anexo:aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-abcdef1234567890A 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
deletingestado até serem excluídos. Depois de excluído, você pode excluir o gateway de trânsito. Use odelete-transit-gatewaycomando junto comtransit-gateway-ido. Para obter mais informações sobredelete-transit-gatewayo comando, consulte delete-transit-gateway.O exemplo a seguir exclui
My Transit Gatewayo que você criou na primeira etapa acima:aws ec2 delete-transit-gateway \ --transit-gateway-id tgw-1234567890abcdef0Veja 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 AWS 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 de Gateways de AWS Trânsito.