Tutorial: Crear una AWS Transit Gateway mediante la línea de AWS comandos - Amazon VPC

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Crear una AWS Transit Gateway mediante la línea de AWS comandos

En este tutorial, aprenderás a usar la AWS CLI para crear una pasarela de tránsito y conectar dos VPCs a ella. Creará la pasarela de transporte, conectará ambas y VPCs, a continuación, configurará las rutas necesarias para permitir la comunicación entre la pasarela de transporte y la suya VPCs.

Requisitos previos

Antes de empezar, asegúrate de tener:

  • AWS CLI instalado y configurado con los permisos adecuados. Si no la tiene AWS CLI instalada, consulte la documentación de la interfaz de línea de AWS comandos.

  • No VPCs pueden ser idénticos ni superpuestos CIDRs. Para obtener más información, consulte Crear una VPC en la Guía del usuario de Amazon VPC.

  • Una EC2 instancia en cada VPC. Para conocer los pasos para lanzar una EC2 instancia en una VPC, consulte Lanzar una instancia en la Guía EC2 del usuario de Amazon.

  • Grupos de seguridad configurados para permitir el tráfico ICMP entre las instancias. Para conocer los pasos para controlar el tráfico mediante grupos de seguridad, consulte Controlar el tráfico de sus AWS recursos mediante grupos de seguridad en la Guía del usuario de Amazon VPC.

  • Permisos de IAM adecuados para trabajar con pasarelas de tránsito. Para comprobar los permisos de IAM de las pasarelas de tránsito, consulte Administración de identidad y acceso en las pasarelas de tránsito de Amazon VPC en la guía.AWS Transit Gateway

Paso 1: Crear la gateway de tránsito

Al crear una puerta de enlace de tránsito,AWS crea una tabla de rutas de la puerta de enlace de tránsito predeterminada y la usa como tabla de rutas de asociación predeterminada y tabla de rutas de propagación predeterminada. A continuación, se muestra un ejemplo de create-transit-gateway solicitud en la us-west-2 región. Se options incluyeron más en la solicitud. Para obtener más información sobre el create-transit-gateway comando, incluida una lista de las opciones que puede incluir en la solicitud, consulte create-transit-gateway.

aws ec2 create-transit-gateway \ --description "My Transit Gateway" \ --region us-west-2

A continuación, la respuesta muestra que se creó la pasarela de tránsito. En la respuesta, todos los Options que se devuelven son valores predeterminados.

{ "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

Este comando devuelve información sobre su nueva puerta de enlace de tránsito, incluida su ID. Anota el ID de la pasarela de transporte público (tgw-1234567890abcdef0), ya que lo necesitarás en los pasos siguientes.

Paso 2: Verifica el estado de disponibilidad de la pasarela de tránsito

Cuando creas una pasarela de tránsito, se coloca en un pending estado. El estado pasará de estar pendiente a estar disponible automáticamente, pero hasta que no lo haga, no podrás adjuntar ninguno VPCs hasta que el estado cambie. Para verificar el estado, ejecuta el describe-transit-gatweways comando con el ID de Transit Gateway recién creado junto con la opción de filtros. La filters opción usa Name=state y se Values=available empareja. A continuación, el comando busca verificar si el estado de su pasarela de tránsito se encuentra en un estado disponible. Si es así, aparecerá la respuesta"State": "available". Si se encuentra en cualquier otro estado, significa que aún no está disponible para su uso. Espere unos minutos antes de ejecutar el comando.

Para obtener más información acerca del comando describe-transit-gateways, consulte describe-transit-gateways.

aws ec2 describe-transit-gateways \ --transit-gateway-ids tgw-1234567890abcdef0 \ --filters Name=state,Values=available

Espere a que el estado de la puerta de enlace de tránsito cambie de pending a available antes de continuar. En la siguiente respuesta, el State ha cambiado aavailable.

{ "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" } ] } ] }

Paso 3: Adjunte el suyo VPCs a su pasarela de transporte

Una vez que su pasarela de transporte público esté disponible, cree un adjunto para cada VPC mediante. create-transit-gateway-vpc-attachment Deberás incluir el transit-gateway-idvpc-id, el y elsubnet-ids.

Para obtener más información sobre el create-transit-vpc attachment comando, consulte create-transit-gateway-vpc-attachment.

En el siguiente ejemplo, el comando se ejecuta dos veces, una para cada VPC.

Para la primera VPC, ejecute lo siguiente con las teclas first vpc_id and: subnet-ids

aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id tgw-1234567890abcdef0 \ --vpc-id vpc-1234567890abcdef0 \ --subnet-ids subnet-1234567890abcdef0

La respuesta muestra que el adjunto se ha adjuntado correctamente. El adjunto se crea en un pending estado. No es necesario cambiar este estado, ya que pasa a ser un available estado automáticamente. Esto podría tardar varios 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 la segunda VPC, ejecute el mismo comando anterior con la segunda vpc_id y: subnet-ids

aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id tgw-1234567890abcdef0 \ --vpc-id vpc-abcdef1234567890 \ --subnet-ids subnet-abcdef01234567890

La respuesta a este comando también muestra que el adjunto se ha adjuntado correctamente, con el adjunto actualmente en un 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" } } }

Paso 4: Compruebe que los archivos adjuntos de la pasarela de tránsito estén disponibles

Los adjuntos de la pasarela de tránsito se crean en un pending estado inicial. No podrás usar estos archivos adjuntos en tus rutas hasta que el estado cambie aavailable. Esto ocurre automáticamente. Utilice el describe-transit-gateways comando, junto con eltransit-gateway-id, para comprobar laState. Para obtener más información acerca del comando describe-transit-gateways, consulte describe-transit-gateways.

Ejecute el siguiente comando para comprobar el estado. En este ejemplo, Values los campos opcionales Name y de filtro se pasan a la solicitud:

aws ec2 describe-transit-gateway-vpc-attachments \ --filters Name=transit-gateway-id,Values=tgw-1234567890abcdef0

La siguiente respuesta muestra que ambos archivos adjuntos están en un 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": [] } ] }

Paso 5: Agrega rutas entre tu pasarela de tránsito y VPCs

Configure las rutas en la tabla de enrutamiento de cada VPC para dirigir el tráfico a la otra VPC a través de la puerta de enlace de tránsito mediante el create-route comando junto con la tabla de enrutamiento for transit-gateway-id each VPC. En el siguiente ejemplo, el comando se ejecuta dos veces, una para cada tabla de enrutamiento. La solicitud incluye la route-table-iddestination-cidr-block, la y transit-gateway-id para cada ruta de VPC que esté creando.

Para obtener más información sobre el create-route comando, consulte create-route.

Para la tabla de rutas de la primera VPC, ejecute el siguiente comando:

aws ec2 create-route \ --route-table-id rtb-1234567890abcdef0 \ --destination-cidr-block 10.2.0.0/16 \ --transit-gateway-id tgw-1234567890abcdef0

Para la tabla de enrutamiento de la segunda VPC, ejecute el siguiente comando. Esta ruta utiliza una route-table-id destination-cidr-block VPC diferente a la primera. Sin embargo, dado que solo utiliza una única puerta de enlace de tránsito, transit-gateway-id se utiliza la misma.

aws ec2 create-route \ --route-table-id rtb-abcdef1234567890 \ --destination-cidr-block 10.1.0.0/16 \ --transit-gateway-id tgw-1234567890abcdef0

La respuesta se devuelve true para cada ruta e indica que las rutas se crearon.

{ "Return": true }
nota

Sustituya los bloques CIDR de destino por los bloques CIDR reales de su. VPCs

Paso 6: Pruebe la puerta de enlace de tránsito

Para confirmar que la puerta de enlace de tránsito se creó correctamente, conéctese a una EC2 instancia de una VPC, haga ping a una instancia de la otra VPC y, a continuación, ejecute el comando. ping

  1. Conéctate a tu EC2 instancia en la primera VPC mediante SSH o Instance Connect EC2

  2. Haga ping a la dirección IP privada de la EC2 instancia en la segunda VPC:

    ping 10.2.0.50
    nota

    10.2.0.50Sustitúyala por la dirección IP privada real de la EC2 instancia en la segunda VPC.

Si el ping se realiza correctamente, su puerta de enlace de tránsito está configurada correctamente y redirige el tráfico entre las suyas VPCs.

Paso 7: Elimine los archivos adjuntos de la pasarela de transporte y la pasarela de transporte

Cuando ya no necesites la pasarela de tránsito, puedes eliminarla. En primer lugar, debes eliminar todos los archivos adjuntos. Ejecute el delete-transit-gateway-vpc-attachment comando utilizando el transit-gateway-attachment-id para cada archivo adjunto. Después de ejecutar el comando, utilícelo delete-transit-gateway para eliminar la puerta de enlace de tránsito. Para lo siguiente, elimine los dos adjuntos de VPC y la puerta de enlace de tránsito única que se crearon en los pasos anteriores.

importante

Dejarás de incurrir en cargos una vez que elimines todos los archivos adjuntos de Transit Gateway.

  1. Elimine los adjuntos de la VPC mediante el delete-transit-gateway-vpc-attachment comando. Para obtener más información sobre el delete-transit-gateway-vpc-attachment comando, consulte delete-transit-gateway-vpc-attachment.

    Para el primer archivo adjunto, ejecute el siguiente comando:

    aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-1234567890abcdef0

    La respuesta de eliminación del primer adjunto de la VPC devuelve lo siguiente:

    { "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-1234567890abcdef0", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "deleting", "CreationTime": "2025-06-23T18:42:56+00:00" } }

    Ejecute el delete-transit-gateway-vpc-attachment comando para el segundo adjunto:

    aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-abcdef1234567890

    La respuesta de eliminación del segundo adjunto de la VPC devuelve lo siguiente:

    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. Los archivos adjuntos permanecen en un deleting estado hasta que se eliminan. Una vez eliminados, podrás eliminar la pasarela de tránsito. Utilice el delete-transit-gateway comando junto contransit-gateway-id. Para obtener más información sobre delete-transit-gateway el comando, consulte delete-transit-gateway.

    En el siguiente ejemplo, My Transit Gateway se elimina lo que creó en el primer paso anterior:

    aws ec2 delete-transit-gateway \ --transit-gateway-id tgw-1234567890abcdef0

    A continuación se muestra la respuesta a la solicitud, que incluye el nombre y el ID de la pasarela de tránsito eliminados, junto con las opciones originales definidas para la pasarela de tránsito cuando se creó.

    { "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" } ] } }

Conclusión

Creaste correctamente una pasarela de tránsito, le conectaste dos VPCs , configuraste el enrutamiento entre ellas y verificaste la conectividad. Este sencillo ejemplo demuestra la funcionalidad básica de Amazon VPC Transit Gateways. Para situaciones más complejas, como conectarse a redes locales o implementar configuraciones de enrutamiento más avanzadas, consulte la Guía del usuario de Amazon VPC Transit Gateways.