Tutorial: creare un AWS Transit Gateway utilizzando la AWS riga di comando - Amazon VPC

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial: creare un AWS Transit Gateway utilizzando la AWS riga di comando

In questo tutorial, imparerai come utilizzare il per AWS CLI creare un gateway di transito e VPCs collegarne due. Creerai il gateway di transito, collegherai entrambi VPCs e quindi configurerai i percorsi necessari per abilitare la comunicazione tra il gateway di transito e il tuo VPCs.

Prerequisiti

Prima di iniziare, assicurati di avere:

  • AWS CLI installato e configurato con le autorizzazioni appropriate. Se non lo hai AWS CLI installato, consulta la documentazione dell'interfaccia a riga di AWS comando.

  • Non VPCs possono essere né identici né sovrapposti CIDRs. Per ulteriori informazioni, consulta Crea un VPC nella Guida per l'utente di Amazon VPC.

  • Un' EC2 istanza in ogni VPC. Per i passaggi per avviare un' EC2 istanza in un VPC, consulta Launch an instance nella Amazon EC2 User Guide.

  • Gruppi di sicurezza configurati per consentire il traffico ICMP tra le istanze. Per i passaggi per controllare il traffico utilizzando i gruppi di sicurezza, consulta Controlla il traffico verso AWS le tue risorse utilizzando i gruppi di sicurezza nella Amazon VPC User Guide.

  • Autorizzazioni IAM appropriate per lavorare con i gateway di transito. Per verificare le autorizzazioni IAM del gateway di transito, consulta Gestione delle identità e degli accessi in Amazon VPC Transit Gateways nella Guida.AWS Transit Gateway

Fase 1: creazione del gateway di transito

Quando crei un gateway di transito,AWS crea una tabella di routing del gateway di transito predefinita e la utilizza come tabella di routing di associazione e tabella di routing di propagazione predefinita. Di seguito viene illustrato un esempio di create-transit-gateway richiesta nella us-west-2 regione. Nella richiesta options sono state inserite altre informazioni. Per ulteriori informazioni sul create-transit-gateway comando, incluso un elenco delle opzioni che è possibile inserire nella richiesta, vedere create-transit-gateway.

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

La risposta mostra quindi che il gateway di transito è stato creato. Nella risposta, Options i valori restituiti sono tutti valori predefiniti.

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

Questo comando restituisce informazioni sul nuovo gateway di transito, incluso il relativo ID. Prendi nota dell'ID del gateway di transito (tgw-1234567890abcdef0) poiché ti servirà nei passaggi successivi.

Fase 2: Verifica lo stato di disponibilità del gateway di transito

Quando crei un gateway di transito, questo viene collocato in uno pending stato. Lo stato passerà automaticamente da pendente a disponibile, ma finché non lo farà non potrai allegarne nessuno VPCs finché non cambierà lo stato. Per verificare lo stato, esegui il describe-transit-gatweways comando utilizzando l'ID del gateway di transito appena creato insieme all'opzione filters. L'filtersopzione utilizza Name=state e Values=available accoppia. Il comando esegue quindi una ricerca per verificare se lo stato del gateway di transito è disponibile. In caso affermativo, viene visualizzata "State": "available" la risposta. Se si trova in qualsiasi altro stato, non è ancora disponibile per l'uso. Attendi alcuni minuti prima di eseguire il comando.

Per ulteriori informazioni sul comando describe-transit-gateways, consulta describe-transit-gateways.

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

Attendi che lo stato del gateway di transito cambi da pending a available prima di procedere. Nella risposta seguente, State è cambiato inavailable.

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

Fase 3: Collega il tuo VPCs al tuo gateway di transito

Una volta che il gateway di transito è disponibile, crea un allegato per ogni VPC utilizzando il. create-transit-gateway-vpc-attachment Dovrai includere il transit-gateway-idvpc-id, il e ilsubnet-ids.

Per ulteriori informazioni sul create-transit-vpc attachment comando, vedere create-transit-gateway-vpc-attachment.

Nell'esempio seguente, il comando viene eseguito due volte, una volta per ogni VPC.

Per il primo VPC esegui quanto segue utilizzando il primo vpc_id e: subnet-ids

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

La risposta mostra l'allegato riuscito. L'allegato viene creato in uno pending stato. Non è necessario modificare questo stato poiché passa automaticamente a uno available stato. Questo processo potrebbe richiedere diversi minuti.

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

Per il secondo VPC, esegui lo stesso comando di cui sopra usando il secondo vpc_id e: subnet-ids

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

La risposta a questo comando mostra anche un allegato riuscito, con l'allegato attualmente in uno pending stato.

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

Fase 4: Verificare che gli allegati del gateway di transito siano disponibili

Gli allegati del gateway di transito vengono creati in uno stato inizialepending. Non potrai utilizzare questi allegati nei tuoi percorsi finché lo stato non cambierà a. available Ciò avviene automaticamente. Usa il describe-transit-gateways comando, insieme atransit-gateway-id, per controllare ilState. Per ulteriori informazioni sul comando describe-transit-gateways, consulta describe-transit-gateways.

Eseguite il comando seguente per verificare lo stato. In questo esempio, i campi opzionali Name e i Values filtri vengono passati nella richiesta:

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

La risposta seguente mostra che entrambi gli allegati sono in uno available stato:

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

Passaggio 5: aggiungi percorsi tra il tuo gateway di transito e VPCs

Configura i percorsi nella tabella di routing di ogni VPC per indirizzare il traffico verso l'altro VPC attraverso il gateway di transito utilizzando il create-route comando insieme alla tabella di routing for transit-gateway-id each VPC. Nell'esempio seguente, il comando viene eseguito due volte, una volta per ogni tabella di routing. La richiesta include il route-table-iddestination-cidr-block, e transit-gateway-id per ogni route VPC che stai creando.

Per ulteriori informazioni sul create-route comando, consulta create-route.

Per la prima tabella di routing del VPC esegui il seguente comando:

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

Per la tabella di routing del secondo VPC esegui il seguente comando. Questo percorso utilizza un route-table-id VPC destination-cidr-block diverso dal primo. Tuttavia, poiché si utilizza un solo gateway di transito, transit-gateway-id viene utilizzato lo stesso.

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

La risposta viene restituita true per ogni percorso, indicando che i percorsi sono stati creati.

{ "Return": true }
Nota

Sostituisci i blocchi CIDR di destinazione con i blocchi CIDR effettivi del tuo. VPCs

Passaggio 6: testare il gateway di transito

Puoi confermare che il gateway di transito è stato creato correttamente connettendoti a un' EC2 istanza in un VPC e eseguendo il ping di un'istanza nell'altro VPC, quindi eseguendo il comando. ping

  1. Connettiti alla tua EC2 istanza nel primo VPC tramite SSH o Instance Connect EC2

  2. Esegui il ping dell'indirizzo IP privato dell' EC2 istanza nel secondo VPC:

    ping 10.2.0.50
    Nota

    Sostituiscilo 10.2.0.50 con l'indirizzo IP privato effettivo dell' EC2 istanza nel secondo VPC.

Se il ping ha esito positivo, il gateway di transito è configurato correttamente e il traffico viene instradato tra di voi. VPCs

Passo 7: Eliminare gli allegati del gateway di transito e il gateway di transito

Quando non è più necessario il gateway di transito, è possibile eliminarlo. Innanzitutto, è necessario eliminare tutti gli allegati. Esegui il delete-transit-gateway-vpc-attachment comando utilizzando il comando transit-gateway-attachment-id per ogni allegato. Dopo aver eseguito il comando, utilizzare delete-transit-gateway per eliminare il gateway di transito. Per quanto segue, elimina i due allegati VPC e il gateway di transito singolo creati nei passaggi precedenti.

Importante

Smetterai di incorrere in addebiti una volta eliminati tutti gli allegati del gateway di transito.

  1. Eliminare gli allegati VPC utilizzando il comando. delete-transit-gateway-vpc-attachment Per ulteriori informazioni sul delete-transit-gateway-vpc-attachment comando, vedere delete-transit-gateway-vpc -attachment.

    Per il primo allegato, esegui il comando seguente:

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

    La risposta di eliminazione per il primo allegato VPC restituisce quanto segue:

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

    Esegui il delete-transit-gateway-vpc-attachment comando per il secondo allegato:

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

    La risposta di eliminazione per il secondo allegato VPC restituisce quanto segue:

    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. Gli allegati rimangono in uno deleting stato finché non vengono eliminati. Una volta eliminato, puoi eliminare il gateway di transito. Usa il delete-transit-gateway comando insieme atransit-gateway-id. Per ulteriori informazioni sul delete-transit-gateway comando, vedere delete-transit-gateway.

    L'esempio seguente elimina ciò My Transit Gateway che è stato creato nel primo passaggio precedente:

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

    Di seguito viene mostrata la risposta alla richiesta, che include l'ID e il nome del gateway di transito eliminati, insieme alle opzioni originali impostate per il gateway di transito al momento della creazione.

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

Conclusioni

Hai creato con successo un gateway di transito, ne hai collegati due VPCs , configurato il routing tra di essi e hai verificato la connettività. Questo semplice esempio dimostra le funzionalità di base dei gateway di transito Amazon VPC. Per scenari più complessi, come la connessione a reti locali o l'implementazione di configurazioni di routing più avanzate, consulta la Amazon VPC Transit Gateways User Guide.