Come posso creare un collegamento Amazon VPC in Transit Gateway per un gateway di transito che si trova in un altro account?
Desidero creare un collegamento Amazon Virtual Private Cloud (Amazon VPC) in AWS Transit Gateway per un gateway di transito che si trova in un altro account AWS.
Breve descrizione
Per collegare un VPC a un gateway di transito che si trova in un altro account, utilizza AWS Resource Access Manager (AWS RAM) per condividere il gateway di transito con l'account proprietario del VPC.
Nella seguente risoluzione, l'account che possiede il gateway di transito è l'account di origine e l'account che possiede il VPC è l'account di destinazione. Una volta che l'account di destinazione accetta la condivisione delle risorse, crea un collegamento VPC per connettere il tuo VPC al gateway di transito condiviso dell'account di origine.
Puoi utilizzare la Console di gestione AWS o l'Interfaccia della linea di comando AWS (AWS CLI) per completare i seguenti passaggi.
Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori relativi ad AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Risoluzione
Prerequisito: prima di creare un collegamento VPC a un gateway di transito, verifica che l'utente o il ruolo di AWS Identity and Access Management (IAM) nell'account di destinazione disponga dell'autorizzazione per creare ruoli collegati ai servizi. AWS crea automaticamente il ruolo collegato al servizio AWSServiceRoleForVPCTransitGateway durante la creazione del collegamento VPC. Questo ruolo consente a Transit Gateway di creare e gestire interfacce di rete elastiche nelle sottoreti VPC e di configurare il routing necessario per il collegamento.
Per verificare di disporre delle autorizzazioni richieste, conferma che la tua policy IAM includa la seguente dichiarazione:
{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForTransitGateway*"
Se l'utente o il ruolo IAM non dispone dell'autorizzazione per creare un ruolo collegato al servizio, si riceve un errore "Access Denied".
Condividi il gateway di transito con l'account di destinazione
Console AWS RAM
Completa i seguenti passaggi:
- Nell'account di origine apri la console AWS RAM.
- Nell'elenco a discesa della Regione AWS, seleziona la Regione del tuo gateway di transito.
- Scegli Crea una condivisione di risorse.
- Inserisci le seguenti informazioni:
Per Nome, inserisci un nome per la condivisione di risorse.
Per Seleziona il tipo di risorsa, scegli Gateway di transito, quindi seleziona il tuo ID del gateway di transito. - Scegli Avanti.
- Scegli un'autorizzazione gestita da associare al gateway di transito.
- Scegli Avanti.
- Scegli Concessione dell'accesso ai principali, quindi inserisci le seguenti informazioni:
Per Principali, inserisci l'ID dell'account di destinazione o un ID dell'organizzazione per un account in AWS Organizations.
Se l'account non fa parte di un'organizzazione, scegli Consenti la condivisione con chiunque.
Se l'account fa parte di un'organizzazione, scegli Consenti la condivisione solo all'interno dell'organizzazione.
Nota: per utilizzare l'ID dell'organizzazione come tipo principale, attiva l'accesso sicuro. Per aggiornare i principali dopo aver creato la condivisione delle risorse, seleziona la condivisione delle risorse, quindi scegli Modifica. - Scegli Crea una condivisione di risorse.
AWS CLI
Nota: nei seguenti comandi, sostituisci i parametri di esempio con i seguenti valori:
- Per TGWSHARE, inserisci un nome per la condivisione di risorse.
- Per 222222222222, sostituisci con l'ID dell'account di destinazione.
- Per resource-arns, fornisci il nome della risorsa Amazon (ARN) del gateway di transito dell'account di origine.
- Per le organizzazioni principali, fornisci l'ARN dell'organizzazione.
- Per resource-share-arn, fornisci l'ARN della condivisione di risorse esistente che desideri modificare.
Per creare una condivisione di risorse con account che non fanno parte di un'organizzazione, esegui il comando create-resource-share:
aws ram create-resource-share \ --name TGWSHARE \ --resource-arns arn:aws:ec2:region:123456789012:transit-gateway/tgw-1234567890abcdef0 \ --principals 222222222222 \ --allow-external-principals
Per creare una condivisione delle risorse in modo da consentire l'accesso solo agli account della tua organizzazione, esegui il comando create-resource-share:
aws ram create-resource-share \ --name TGWSHARE \ --resource-arns arn:aws:ec2:region:123456789012:transit-gateway/tgw-1234567890abcdef0 \ --principals organizations::123456789012:organization/o-exampleorgid \ --no-allow-external-principals
Per modificare una condivisione delle risorse esistente, esegui il comando update-resource-share:
aws ram update-resource-share \ --allow-external-principals \ --resource-share-arn arn:aws:ram:us-west-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE
Per ulteriori informazioni, consulta Creazione di una condivisione di risorse in AWS RAM.
Accetta la condivisione del gateway di transito nell'account di destinazione
Console AWS RAM
Per istruzioni, consulta Accetta una condivisione di risorse AWS Transit Gateway utilizzando la console AWS Resource Access Manager.
Utilizza la console Amazon VPC per verificare che il gateway di transito condiviso appaia nell'account di destinazione.
AWS CLI
Completa i seguenti passaggi:
-
Esegui il comando get-resource-share-invitations per elencare gli inviti alla condivisione delle risorse in sospeso:
aws ram get-resource-share-invitations -
Copia resourceShareInvitationArn dall'output.
-
Esegui il comando accept-resource-share-invitation per accettare l'invito:
aws ram accept-resource-share-invitation \ --resource-share-invitation-arn arn:aws:ram:us-west-2:111111111111:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLENota: sostituisci resource-share-invitation-arn con l'ARN dell'invito.
Esegui il comando describe-transit-gateways per verificare che il gateway di transito condiviso sia visualizzato nell'account di destinazione:
aws ec2 describe-transit-gateways
Crea il collegamento VPC nell'account di destinazione
Console Amazon VPC
Per istruzioni, consulta Crea un collegamento VPC in AWS Transit Gateway.
AWS CLI
Esegui il comando create-transit-gateway-vpc-attachment:
aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id SHARED-TRANSIT-GATEWAY-ID \ --vpc-id DESTINATION-VPC-ID \ --subnet-ids SUBNET-A SUBNET-B \ --options DnsSupport=enable,Ipv6Support=disable
Nota: sostituisci SHARED-TRANSIT-GATEWAY-ID con l'ID del gateway di transito condiviso e DESTINATION-VPC-ID con l'ID del VPC di destinazione. Sostituisci SUBNET-A e SUBNET-B con gli ID della sottorete. Specifica una sola sottorete per ogni zona di disponibilità. Per una migliore disponibilità, è buona prassi specificare una sottorete in due zone di disponibilità. Il gateway di transito utilizza un indirizzo IP per ogni sottorete specificata.
Dopo aver creato il collegamento VPC, controllane lo stato. Se hai attivato l'opzione Accetta automaticamente i collegamenti condivisi, il gateway di transito accetta automaticamente il collegamento. Se non hai attivato l'opzione Accetta automaticamente i collegamenti condivisi durante la creazione del gateway di transito, lo stato visualizza Accettazione in sospeso. Per accettare il collegamento VPC dall'account di origine, consulta la sezione seguente Accetta il collegamento VPC nell'account di origine.
Accetta il collegamento VPC nell'account di origine
Console Amazon VPC
Nell'account di origine accetta un collegamento condiviso.
AWS CLI
Oppure, esegui questo comando AWS CLI describe-transit-gateway-attachments per elencare i collegamenti PendingAcceptance:
aws ec2 describe-transit-gateway-attachments \ --filters Name=state,Values=pendingAcceptance
Quindi, esegui questo comando accept-transit-gateway-vpc-attachment per accettare il collegamento VPC:
aws ec2 accept-transit-gateway-vpc-attachment \ --transit-gateway-attachment-ids TGW-ATTACH-1122
Nota: utilizza l'ID del collegamento del gateway di transito alla VPN dall'output del comando. Quindi, sostituisci TGW-ATTACH-1122 con l'ID del collegamento VPC.
Informazioni correlate
Collegamenti Amazon VPC in AWS Transit Gateway
- Argomenti
- Networking & Content Delivery
- Lingua
- Italiano
