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 comandos de AWS
En este tutorial, aprenderá a usar la AWS CLI para crear una puerta de enlace de tránsito y conectarle dos VPC. Creará la puerta de enlace de tránsito, conectará las dos VPC y, a continuación, configurará las rutas necesarias para permitir la comunicación entre la puerta de enlace de tránsito y sus VPC.
Requisitos previos
Antes de empezar, asegúrese de que tiene lo siguiente:
La AWS CLI instalada y configurada con los permisos adecuados. Si no tiene la AWS CLI instalada, consulte la Documentación de la interfaz de línea de comandos de AWS.
Las VPC no pueden tener CIDR idénticos ni superpuestos. Para obtener más información, consulte Crear una VPC en la Guía del usuario de Amazon VPC.
Una instancia EC2 en cada VPC. Para conocer los pasos para lanzar una instancia EC2 en una VPC, consulteLanzar una instancia en la Guía del usuario de Amazon EC2.
Grupos de seguridad configurados para permitir el tráfico ICMP entre las instancias. Para conocer los pasos para controlar el tráfico con grupos de seguridad, consulte Controlar el tráfico hacia los recursos de AWS mediante grupos de seguridad en la Guía del usuario de Amazon VPC.
Permisos de IAM adecuados para trabajar con puertas de enlace de tránsito. Para comprobar los permisos de IAM de las puertas de enlace de tránsito, consulte la sección Administración de identidades y accesos en AWS Transit Gateway en la Guía de AWS Transit Gateway.
Pasos
Paso 2: Verificar el estado de disponibilidad de puerta de enlace de tránsito
Paso 4: Comprobar que las conexiones de puerta de enlace de tránsito estén disponibles
Paso 5: Agregar rutas entre la puerta de enlace de tránsito y las VPC
Paso 7: Elimine las conexiones de puerta de enlace de tránsito y la puerta de enlace de tránsito
Paso 1: Crear la gateway de tránsito
Cuando crea una puerta de enlace de tránsito, AWS crea una tabla de enrutamiento de la puerta de enlace de tránsito predeterminada y la utiliza como tabla de ruteo de asociación y de propagación predeterminada. A continuación se muestra un ejemplo de solicitud de create-transit-gateway en la región us-west-2. En la solicitud se incluyeron otras options. Para obtener más información sobre el comando create-transit-gateway, incluida una lista de las opciones que se pueden 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 puerta de enlace de tránsito. En la respuesta, las Options que se devuelven contienen todos 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 la ID. Anote la ID de puerta de enlace de tránsito (tgw-1234567890abcdef0), ya que se lo necesitará en los pasos siguientes.
Paso 2: Verificar el estado de disponibilidad de puerta de enlace de tránsito
Cuando se crea una puerta de enlace de tránsito, se coloca en un estado pending. El estado pasará de estar pendiente a estar disponible de manera automática, pero no se podrán adjuntar VPC hasta que el estado cambie. Para verificar el estado, ejecute el comando describe-transit-gatweways con la ID de la puerta de enlace de tránsito recién creada junto con la opción de filtros. La opción filters usa los pares Name=state y Values=available. A continuación, el comando busca verificar si el estado de su puerta de enlace de tránsito se encuentra disponible. Si es así, aparecerá la respuesta "State": "available". Si está en cualquier otro estado, entonces aún no está disponible para su uso. Espere unos minutos antes de ejecutar el comando.
Para obtener más información sobre el 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 a available.
{ "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: Adjuntar las VPC a las gateways de tránsito
Una vez que esté disponible la puerta de enlace de tránsito, cree un archivo adjunto para cada VPC mediante la create-transit-gateway-vpc-attachment. Se deben incluir la transit-gateway-id, la vpc-id y las subnet-ids.
Para obtener más información sobre el comando create-transit-vpc attachment, 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 la primera vpc_id y las 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 la vinculación se realizó correctamente. La vinculación se crea en un estado pending. No es necesario cambiar este estado, ya que pasa a ser un estado available de manera automática. 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 las 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 una vinculación correcta, con la vinculación actualmente en un estado pending.
{ { "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: Comprobar que las conexiones de puerta de enlace de tránsito estén disponibles
Las conexiones de puerta de enlace de tránsito se crean en un estado pending inicial. No podrá usar estas conexiones en sus rutas hasta que el estado cambie a available. Esto se produce automáticamente. Utilice el comando describe-transit-gateways, junto con la transit-gateway-id, para comprobar el State. Para obtener más información sobre el comando describe-transit-gateways, consulte describe-transit-gateways.
Ejecute el siguiente comando para comprobar el estado. En este ejemplo, los campos de filtro opcionales Name y Values se envían dentro de la solicitud:
aws ec2 describe-transit-gateway-vpc-attachments \ --filters Name=transit-gateway-id,Values=tgw-1234567890abcdef0
La siguiente respuesta muestra que ambas vinculaciones están en un estado available:
{ "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: Agregar rutas entre la puerta de enlace de tránsito y las VPC
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 comando create-route junto con la transit-gateway-id para cada tabla de enrutamiento de VPC. En el siguiente ejemplo, el comando se ejecuta dos veces, una para cada VPC tabla de enrutamiento. La solicitud incluye la route-table-id, el destination-cidr-block y la transit-gateway-id para cada ruta de VPC que esté creando.
Para obtener más información acerca del comando create-route, consulte create-route.
Para la tabla de enrutamiento 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 y un destination-cidr-block diferente de la primera VPC. Sin embargo, dado que solo utiliza una única puerta de enlace de tránsito, se utiliza la misma transit-gateway-id.
aws ec2 create-route \ --route-table-id rtb-abcdef1234567890 \ --destination-cidr-block 10.1.0.0/16 \ --transit-gateway-id tgw-1234567890abcdef0
La respuesta devuelve true para cada ruta e indica que las rutas se crearon.
{ "Return": true }
nota
Sustituya los bloques de CIDR de destino por los bloques de CIDR reales de sus VPC.
Paso 6: Pruebe la gateway de tránsito
Se puede confirmar que la puerta de enlace de tránsito se ha creado correctamente al conectarse a una instancia EC2 en una VPC y hacer ping a una instancia en la otra VPC y, a continuación, ejecutar el comando ping.
-
Conectarse a la instancia de EC2 en la primera VPC mediante SSH o EC2 Instance Connect
-
Haga ping a la dirección IP privada de la instancia EC2 en la segunda VPC:
ping 10.2.0.50nota
Sustituya
10.2.0.50por la dirección IP privada real de la instancia de EC2 en la segunda VPC.
Si el ping se realiza correctamente, entonces la puerta de enlace de tránsito está configurada de manera correcta y redirige el tráfico entre las VPC.
Paso 7: Elimine las conexiones de puerta de enlace de tránsito y la puerta de enlace de tránsito
Cuando ya no necesite una puerta de enlace de tránsito, puede eliminarla. En primer lugar, debe eliminar todas las vinculaciones (conexiones) Ejecute el comando delete-transit-gateway-vpc-attachment con la transit-gateway-attachment-id para cada vinculación. Después de ejecutar el comando, utilice delete-transit-gateway para eliminar la puerta de enlace de tránsito. Para lo siguiente, elimine las dos vinculaciones de VPC y la puerta de enlace de tránsito única que se crearon en los pasos anteriores.
importante
Ya no incurrirá en cargos una vez que elimine todas las conexiones de puerta de enlace de tránsito.
-
Elimine las vinculaciones de VPC mediante el comando
delete-transit-gateway-vpc-attachment. Para obtener más información sobre el comandodelete-transit-gateway-vpc-attachment, consulte delete-transit-gateway-vpc-attachment.Para la primera vinculación, ejecute el comando siguiente:
aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-1234567890abcdef0La respuesta de eliminación para la primera vinculación 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 comando
delete-transit-gateway-vpc-attachmentpara la segunda vinculación:aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-abcdef1234567890La respuesta de eliminación para la segunda vinculación 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" } } -
Las vinculaciones están en un estado
deletinghasta que se eliminan. Una vez eliminadas, se puede eliminar la puerta de enlace de tránsito. Utilice el comandodelete-transit-gatewaycon latransit-gateway-id. Para obtener más información sobre el comandodelete-transit-gateway, consulte delete-transit-gateway.En el siguiente ejemplo, se elimina
My Transit Gateway, que se creó en el primer paso anterior:aws ec2 delete-transit-gateway \ --transit-gateway-id tgw-1234567890abcdef0A continuación, se muestra la respuesta a la solicitud, que incluye el nombre y la ID de la puerta de enlace de tránsito eliminados, junto con las opciones originales definidas para la puerta de enlace 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
Ha creado correctamente una puerta de enlace de tránsito, le ha conectado dos VPC, ha configurado el enrutamiento entre ellas y ha verificado la conectividad. En este ejemplo sencillo se muestra la funcionalidad básica de AWS Transit Gateway. Para situaciones más complejas, como conectarse a redes en las instalaciones o implementar configuraciones de enrutamiento más avanzadas, consulte la Guía de AWS Transit Gateways.