

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

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

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](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) nella *Guida per l'utente di Amazon VPC*.
+ Un'istanza EC2 in ogni VPC. Per i passaggi per avviare un'istanza EC2 in un VPC, [consulta Launch an](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) 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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) 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 la sezione [Gestione delle identità e degli accessi nei gateway di AWS transito nella](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-authentication-access-control.html) Guida.AWS Transit Gateway * 

**Topics**
+ [Prerequisiti](#prerequisites)
+ [Fase 1: creazione del gateway di transito](#create-transit-gateway)
+ [Fase 2: Verifica lo stato di disponibilità del gateway di transito](#verify-state)
+ [Fase 3: Collega il tuo VPCs al tuo gateway di transito](#attach-vpcs)
+ [Fase 4: Verificare che gli allegati del gateway di transito siano disponibili](#configure-routes)
+ [Passaggio 5: aggiungi percorsi tra il tuo gateway di transito e VPCs](#create-routes)
+ [Passaggio 6: testare il gateway di transito](#test-connectivity)
+ [Passo 7: Eliminare gli allegati del gateway di transito e il gateway di transito](#cleanup)
+ [Conclusioni](#conclusion)

## Fase 1: creazione del gateway di transito
<a name="create-transit-gateway"></a>

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 predefinita 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](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 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
<a name="verify-state"></a>

Quando crei un gateway di transito, questo viene inserito 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'`filters`opzione 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](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
```

Attendi che lo stato del gateway di transito cambi da `pending` a `available` prima di procedere. Nella risposta seguente, `State` è cambiato in`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"
                }
            ]
        }
    ]
}
```

## Fase 3: Collega il tuo VPCs al tuo gateway di transito
<a name="attach-vpcs"></a>

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-id``vpc-id`, il e il`subnet-ids`.

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

Gli allegati del gateway di transito vengono creati in uno stato iniziale`pending`. 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 a`transit-gateway-id`, per controllare il`State`. Per ulteriori informazioni sul comando `describe-transit-gateways`, consulta [describe-transit-gateways](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route).

Esegui il comando seguente per controllare 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
<a name="create-routes"></a>

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-id``destination-cidr-block`, e `transit-gateway-id` per ogni route VPC che stai creando.

Per ulteriori informazioni sul `create-route` comando, consulta [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/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
<a name="test-connectivity"></a>

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

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

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

   ```
   ping 10.2.0.50
   ```
**Nota**  
Sostituiscilo `10.2.0.50` con l'indirizzo IP privato effettivo dell'istanza EC2 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
<a name="cleanup"></a>

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.](https://docs.aws.amazon.com/cli/latest/reference/ec2/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"
       }
   }
   ```

1. 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 a`transit-gateway-id`. Per ulteriori informazioni sul `delete-transit-gateway` comando, vedere [delete-transit-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/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
<a name="conclusion"></a>

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 AWS Transit Gateways. [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)