Tutorial: Crie um AWS Transit Gateway usando a linha de AWS comando - Amazon VPC

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:

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

  1. Conecte-se à sua EC2 instância na primeira VPC usando SSH ou Instance Connect EC2

  2. 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.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.

  1. Exclua os anexos da VPC usando o comando. delete-transit-gateway-vpc-attachment Para obter mais informações sobre o delete-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" } }
  2. Os anexos ficam em um deleting estado até serem excluídos. Depois de excluído, você pode excluir o gateway de trânsito. Use o delete-transit-gateway comando junto com transit-gateway-id o. Para obter mais informações sobre delete-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.