Tutoriel : Création d'un AWS Transit Gateway à l'aide de la ligne de AWS commande - Amazon VPC

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

Dans ce didacticiel, vous allez apprendre à utiliser le AWS CLI pour créer une passerelle de transit et y VPCs connecter deux passerelles. 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.

Prérequis

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 dans le Guide de l'utilisateur Amazon VPC.

  • Une EC2 instance dans chaque VPC. Pour connaître les étapes de lancement d'une EC2 instance dans un VPC, consultez la section Lancer une instance dans le guide de EC2 l'utilisateur Amazon.

  • 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é 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 Amazon VPC Transit Gateways dans le guide.AWS Transit Gateway

Étape 1 : Création de la passerelle de transit

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.

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, notamment 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

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'filtersoption 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.

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

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

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-idvpc-id, le et lesubnet-ids.

Pour plus d'informations sur la create-transit-vpc attachment commande, consultez 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

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é enavailable. Cela se fait automatiquement. Utilisez la describe-transit-gateways commande, ainsi que letransit-gateway-id, pour vérifier leState. Pour plus d'informations sur la commande describe-transit-gateways, consultez describe-transit-gateways.

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

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 leroute-table-id, ledestination-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.

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

Vous pouvez vérifier que la passerelle de transit a bien été créée en vous connectant à une EC2 instance 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 EC2 instance dans le premier VPC à l'aide de SSH ou Instance Connect EC2

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

    ping 10.2.0.50
    Note

    10.2.0.50Remplacez-la par l'adresse IP privée réelle de votre EC2 instance 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

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.

    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" } }
  2. 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 letransit-gateway-id. Pour plus d'informations sur les delete-transit-gateway commandes, consultez 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

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 d'Amazon VPC Transit Gateways. Pour des scénarios plus complexes, tels que la connexion à des réseaux sur site ou la mise en œuvre de configurations de routage plus avancées, consultez le guide de l'utilisateur d'Amazon VPC Transit Gateways.