

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
<a name="tgw-getting-started-cli"></a>

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
<a name="prerequisites"></a>

Antes de empezar, asegúrese de que tiene lo siguiente:
+ AWS CLI instalado y configurado 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 *.
+ No VPCs pueden ser idénticos ni superpuestos CIDRs. Para obtener más información, consulte [Crear una VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) 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, consulte[Lanzar una instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) 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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) 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 Transit Gateways, consulta la sección [Gestión de identidad y acceso en AWS Transit Gateways](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-authentication-access-control.html) en la AWS Transit Gateway Guía.* 

**Topics**
+ [Requisitos previos](#prerequisites)
+ [Paso 1: Crear la gateway de tránsito](#create-transit-gateway)
+ [Paso 2: Verificar el estado de disponibilidad de puerta de enlace de tránsito](#verify-state)
+ [Paso 3: Adjunta el tuyo VPCs a tu pasarela de transporte](#attach-vpcs)
+ [Paso 4: Comprobar que las conexiones de puerta de enlace de tránsito estén disponibles](#configure-routes)
+ [Paso 5: Agrega rutas entre tu pasarela de tránsito y VPCs](#create-routes)
+ [Paso 6: Pruebe la puerta de enlace de tránsito](#test-connectivity)
+ [Paso 7: Elimine las conexiones de puerta de enlace de tránsito y la puerta de enlace de tránsito](#cleanup)
+ [Conclusión](#conclusion)

## Paso 1: Crear la gateway de tránsito
<a name="create-transit-gateway"></a>

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 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 `create-transit-gateway` comando, incluida una lista de las opciones que puede incluir en la solicitud, consulte [create-transit-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/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
<a name="verify-state"></a>

Cuando se crea una puerta de enlace de tránsito, se coloca en un estado `pending`. El estado pasará de pendiente a disponible automáticamente, pero hasta que no lo haga, no podrá adjuntar ninguno VPCs hasta que cambie el estado. 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 acerca del comando `describe-transit-gateways`, consulte [describe-transit-gateways](https://docs.aws.amazon.com/cli/latest/reference/ec2/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: Adjunta el tuyo VPCs a tu pasarela de transporte
<a name="attach-vpcs"></a>

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 `create-transit-vpc attachment` comando, consulte [create-transit-gateway-vpc-attachment](https://docs.aws.amazon.com/cli/latest/reference/ec2/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
<a name="configure-routes"></a>

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 acerca del comando `describe-transit-gateways`, consulte [describe-transit-gateways](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route).

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: Agrega rutas entre tu pasarela de tránsito y VPCs
<a name="create-routes"></a>

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](https://docs.aws.amazon.com/cli/latest/reference/ec2/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 CIDR de destino por los bloques CIDR reales de su. VPCs

## Paso 6: Pruebe la puerta de enlace de tránsito
<a name="test-connectivity"></a>

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

1. Conectarse a la instancia de EC2 en la primera VPC mediante SSH o EC2 Instance Connect

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

   ```
   ping 10.2.0.50
   ```
**nota**  
Sustituya `10.2.0.50` por la dirección IP privada real de la instancia de EC2 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 las conexiones de puerta de enlace de tránsito y la puerta de enlace de tránsito
<a name="cleanup"></a>

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.

1. Elimine las vinculaciones de VPC mediante el comando `delete-transit-gateway-vpc-attachment`. Para obtener más información sobre `delete-transit-gateway-vpc-attachment` el comando, consulte [delete-transit-gateway-vpc-attachment](https://docs.aws.amazon.com/cli/latest/reference/ec2/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-1234567890abcdef0
   ```

    La 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-attachment` para la segunda vinculación:

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

   La 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"
       }
   }
   ```

1. Las vinculaciones están en un estado `deleting` hasta que se eliminan. Una vez eliminadas, se puede eliminar la puerta de enlace de tránsito. Utilice el comando `delete-transit-gateway` con la `transit-gateway-id`. Para obtener más información sobre `delete-transit-gateway` el comando, consulte [delete-transit-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/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-1234567890abcdef0
   ```

   A 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
<a name="conclusion"></a>

Creó correctamente una puerta de enlace de tránsito, le conectó dos VPCs , configuró el enrutamiento entre ellas y verificó la conectividad. Este sencillo ejemplo demuestra la funcionalidad básica de las pasarelas de AWS tránsito. Para situaciones más complejas, como conectarse a redes en las instalaciones o implementar configuraciones de enrutamiento más avanzadas, consulte la [https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html).