

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Tutoriel : Création d'un AWS Transit Gateway à l'aide de la ligne de AWS commande
<a name="tgw-getting-started-cli"></a>

Dans ce didacticiel, vous allez apprendre à utiliser le AWS CLI pour créer une passerelle de transit et en VPCs connecter deux. Vous allez créer la passerelle de transit, associer les deux VPCs, puis configurer les itinéraires nécessaires pour permettre la communication entre la passerelle de transit et votre VPCs.

## Conditions préalables
<a name="prerequisites"></a>

Avant de commencer, assurez-vous d'avoir :
+ AWS CLI installé et configuré avec les autorisations appropriées. Si vous ne l'avez pas AWS CLI installé, consultez la *documentation de l'interface de ligne de AWS commande*.
+ Ils ne VPCs peuvent être ni identiques ni se chevaucher CIDRs. Pour plus d'informations, consultez [Créer un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) dans le *Guide de l'utilisateur Amazon VPC*.
+ Une instance EC2 dans chaque VPC. Pour connaître les étapes de lancement d'une instance EC2 dans un VPC, [consultez la section Lancer une](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) instance dans le guide de l'utilisateur *Amazon EC2*. 
+ Groupes de sécurité configurés pour autoriser le trafic ICMP entre les instances. Pour connaître les étapes à suivre pour contrôler le trafic à l'aide de groupes de sécurité, consultez la section [Contrôler le trafic vers vos AWS ressources à l'aide de groupes de sécurité](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) dans le *guide de l'utilisateur Amazon VPC*.
+ Autorisations IAM appropriées pour travailler avec les passerelles de transit. *Pour vérifier les autorisations IAM des passerelles de transit, consultez la section [Gestion des identités et des accès dans les passerelles de AWS transit](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-authentication-access-control.html) du AWS Transit Gateway guide.* 

**Topics**
+ [Conditions préalables](#prerequisites)
+ [Étape 1 : Création de la passerelle de transit](#create-transit-gateway)
+ [Étape 2 : vérifier l'état de disponibilité de la passerelle de transit](#verify-state)
+ [Étape 3 : Attachez votre véhicule VPCs à votre passerelle de transport en commun](#attach-vpcs)
+ [Étape 4 : Vérifiez que les pièces jointes de la passerelle de transit sont disponibles](#configure-routes)
+ [Étape 5 : Ajoutez des itinéraires entre votre passerelle de transport en commun et VPCs](#create-routes)
+ [Étape 6 : Testez la passerelle de transit](#test-connectivity)
+ [Étape 7 : Supprimer les pièces jointes de la passerelle de transit et la passerelle de transit](#cleanup)
+ [Conclusion](#conclusion)

## Étape 1 : Création de la passerelle de transit
<a name="create-transit-gateway"></a>

Lorsque vous créez une passerelle de transit, vous AWS créez une table de routage de passerelle de transit par défaut et l'utilisez comme table de routage d'association par défaut et comme table de routage de propagation par défaut. Voici un exemple de `create-transit-gateway` demande dans la `us-west-2` région. D'autres `options` ont été transmis dans la demande. Pour plus d'informations sur la `create-transit-gateway` commande, y compris une liste des options que vous pouvez transmettre dans la demande, consultez [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
```

La réponse indique ensuite que la passerelle de transit a été créée. Dans la réponse, les valeurs `Options` renvoyées sont toutes des valeurs par défaut.

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

**Note**  
Cette commande renvoie des informations sur votre nouvelle passerelle de transit, y compris son identifiant. Prenez note de l'ID de passerelle de transit (`tgw-1234567890abcdef0`), car vous en aurez besoin lors des étapes suivantes.

## Étape 2 : vérifier l'état de disponibilité de la passerelle de transit
<a name="verify-state"></a>

Lorsque vous créez une passerelle de transit, elle est placée dans un `pending` état. L'état passera automatiquement de « en attente » à « disponible », mais tant que ce n'est pas le cas, vous ne pourrez pas en joindre VPCs tant que l'état ne changera pas. Pour vérifier l'état, exécutez la `describe-transit-gatweways` commande à l'aide de l'ID de passerelle de transit nouvellement créé et de l'option filtres. L'`filters`option utilise `Name=state` et `Values=available` associe. La commande recherche ensuite si l'état de votre passerelle de transit est disponible. Si c'est le cas, la réponse s'affiche`"State": "available"`. S'il se trouve dans un autre état, il n'est pas encore disponible pour utilisation. Patientez quelques minutes avant d'exécuter la commande.

Pour plus d'informations sur la commande `describe-transit-gateways`, consultez [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
```

Attendez que l'état de la passerelle de transit passe de `pending` à `available` avant de continuer. Dans la réponse suivante, le `State` est devenu`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"
                }
            ]
        }
    ]
}
```

## Étape 3 : Attachez votre véhicule VPCs à votre passerelle de transport en commun
<a name="attach-vpcs"></a>

Une fois que votre passerelle de transit est disponible, créez une pièce jointe pour chaque VPC à l'aide du. `create-transit-gateway-vpc-attachment` Vous devrez inclure le`transit-gateway-id`, le`vpc-id`, et le`subnet-ids`.

Pour plus d'informations sur la `create-transit-vpc attachment` commande, consultez [create-transit-gateway-vpc-attachment](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-transit-gateway-vpc-attachment).

 Dans l'exemple suivant, la commande est exécutée deux fois, une fois pour chaque VPC.

Pour le premier VPC, exécutez ce qui suit en utilisant le premier `vpc_id` et : `subnet-ids`

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

La réponse indique que la pièce jointe a été correctement jointe. La pièce jointe est créée dans un `pending` état. Il n'est pas nécessaire de modifier cet état car il passe automatiquement à un `available` état. Cela peut prendre plusieurs minutes.

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

Pour le second VPC, exécutez la même commande que ci-dessus en utilisant le second `vpc_id` et : `subnet-ids`

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

La réponse à cette commande indique également une pièce jointe réussie, la pièce jointe étant actuellement dans un `pending` état.

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

## Étape 4 : Vérifiez que les pièces jointes de la passerelle de transit sont disponibles
<a name="configure-routes"></a>

Les pièces jointes aux passerelles de transit sont créées dans un `pending` état initial. Vous ne pourrez pas utiliser ces pièces jointes dans vos itinéraires tant que l'état ne sera pas changé en`available`. Cela se fait automatiquement. Utilisez la `describe-transit-gateways` commande, ainsi que le`transit-gateway-id`, pour vérifier le`State`. Pour plus d'informations sur la commande `describe-transit-gateways`, consultez [describe-transit-gateways](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route).

Exécutez la commande suivante pour vérifier l'état. Dans cet exemple, les champs facultatifs `Name` et `Values` les champs de filtres sont transmis dans la demande :

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

La réponse suivante montre que les deux pièces jointes sont dans un `available` même état :

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

## Étape 5 : Ajoutez des itinéraires entre votre passerelle de transport en commun et VPCs
<a name="create-routes"></a>

Configurez les itinéraires dans la table de routage de chaque VPC pour diriger le trafic vers l'autre VPC via la passerelle de transit à l'aide de la `create-route` commande associée à la table de routage de `transit-gateway-id` chaque VPC. Dans l'exemple suivant, la commande est exécutée deux fois, une fois pour chaque table de routage. La demande inclut le`route-table-id`, le`destination-cidr-block`, et `transit-gateway-id` pour chaque route VPC que vous créez.

Pour plus d'informations sur `create-route` la commande, consultez [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route).

Pour la table de routage du premier VPC, exécutez la commande suivante :

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

Pour la table de routage du second VPC, exécutez la commande suivante. Cette route utilise un `route-table-id` et `destination-cidr-block` différent du premier VPC. Toutefois, comme vous n'utilisez qu'une seule passerelle de transit, c'est la même chose `transit-gateway-id` qui est utilisée.

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

La réponse est renvoyée `true` pour chaque itinéraire, indiquant que les itinéraires ont été créés.

```
{
    "Return": true
}
```

**Note**  
Remplacez les blocs d'adresse CIDR de destination par les blocs d'adresse CIDR réels de votre. VPCs

## Étape 6 : Testez la passerelle de transit
<a name="test-connectivity"></a>

Vous pouvez vérifier que la passerelle de transit a bien été créée en vous connectant à une instance EC2 dans un VPC et en envoyant un ping à une instance dans l'autre VPC, puis en exécutant la commande. `ping`

1. Connectez-vous à votre instance EC2 dans le premier VPC à l'aide de SSH ou EC2 Instance Connect

1. Envoyez un ping à l'adresse IP privée de l'instance EC2 dans le deuxième VPC :

   ```
   ping 10.2.0.50
   ```
**Note**  
`10.2.0.50`Remplacez-la par l'adresse IP privée réelle de votre instance EC2 dans le deuxième VPC.

Si le ping est réussi, votre passerelle de transit est correctement configurée et achemine le trafic entre vos VPCs.

## Étape 7 : Supprimer les pièces jointes de la passerelle de transit et la passerelle de transit
<a name="cleanup"></a>

Lorsque vous n'avez plus besoin de la passerelle de transit, vous pouvez la supprimer. Tout d'abord, vous devez supprimer toutes les pièces jointes. Exécutez la `delete-transit-gateway-vpc-attachment` commande en utilisant le `transit-gateway-attachment-id` pour chaque pièce jointe. Après avoir exécuté la commande, utilisez-le `delete-transit-gateway` pour supprimer la passerelle de transit. Pour ce qui suit, supprimez les deux pièces jointes VPC et la passerelle de transit unique créées lors des étapes précédentes.

**Important**  
Vous cesserez de payer des frais une fois que vous aurez supprimé toutes les pièces jointes de la passerelle de transit.

1. Supprimez les pièces jointes du VPC à l'aide de la `delete-transit-gateway-vpc-attachment` commande. Pour plus d'informations sur `delete-transit-gateway-vpc-attachment` la commande, consultez [delete-transit-gateway-vpc-attachment](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-transit-gateway-vpc-attachment). 

   Pour la première pièce jointe, exécutez la commande suivante :

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

    La réponse de suppression pour le premier attachement VPC renvoie ce qui suit : 

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

   Exécutez la `delete-transit-gateway-vpc-attachment` commande pour la deuxième pièce jointe :

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

   La réponse de suppression pour le deuxième attachement VPC renvoie ce qui suit :

   ```
   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. Les pièces jointes sont conservées `deleting` jusqu'à ce qu'elles soient supprimées. Une fois supprimée, vous pouvez supprimer la passerelle de transit. Utilisez la `delete-transit-gateway` commande en même temps que le`transit-gateway-id`. Pour plus d'informations sur les `delete-transit-gateway` commandes, consultez [delete-transit-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-transit-gateway). 

   L'exemple suivant supprime `My Transit Gateway` ce que vous avez créé à la première étape ci-dessus :

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

   Ce qui suit montre la réponse à la demande, qui inclut l'ID et le nom de la passerelle de transit supprimés, ainsi que les options d'origine définies pour la passerelle de transit lors de sa création. 

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

## Conclusion
<a name="conclusion"></a>

Vous avez créé avec succès une passerelle de transit, vous y avez VPCs attaché deux passerelles, configuré le routage entre elles et vérifié la connectivité. Cet exemple simple illustre les fonctionnalités de base des passerelles de AWS transport en commun. Pour des scénarios plus complexes, tels que la connexion à des réseaux locaux ou la mise en œuvre de configurations de routage plus avancées, consultez le Guide des [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).