View a markdown version of this page

Automatizza la configurazione del peering interregionale con AWS Transit Gateway - Prontuario AWS

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

Automatizza la configurazione del peering interregionale con AWS Transit Gateway

Ram Kandaswamy, Amazon Web Services

Riepilogo

AWS Transit Gatewaycollega cloud privati virtuali (VPCs) e reti locali tramite un hub centrale. Il traffico Transit Gateway non attraversa la rete Internet pubblica, il che riduce i vettori di minaccia, come gli exploit comuni e gli attacchi Distributed Denial of Service (S). DDo

Se è necessario comunicare tra due o più Regioni AWS, è possibile utilizzare il peering Inter-Region Transit Gateway per stabilire connessioni peering tra gateway di transito in diverse regioni. Tuttavia, la configurazione manuale del peering interregionale con Transit Gateway può essere un'operazione complessa e dispendiosa in termini di tempo. Questo modello fornisce indicazioni per l'utilizzo dell'infrastruttura come codice (IaC) per configurare il peering. È possibile utilizzare questo approccio se è necessario configurare ripetutamente diverse regioni e Account AWS per la configurazione di un'organizzazione multiregionale.

Questo modello imposta uno AWS CloudFormationstack che include un AWS Step Functions flusso di lavoro, AWS Lambda funzioni, ruoli AWS Identity and Access Management (IAM) e gruppi di log in Amazon CloudWatch Logs. Quindi esegui il flusso di lavoro Step Functions per creare la connessione peering interregionale per i tuoi gateway di transito.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

  • Solo alcuni Regioni AWS supportano il peering interregionale. Per un elenco completo delle regioni che supportano il peering interregionale, consulta la. AWS Transit Gateway FAQs

Architecture

L'approccio allo sviluppo dell'intelligenza artificiale agentica descritto in questo modello prevede i seguenti passaggi:

  1. Definizione del prompt di automazione: Kiro riceve un prompt in linguaggio naturale che descrive in dettaglio i requisiti di peering.

  2. Genera script di automazione: Kiro genera gli script CloudFormation e Lambda in base al prompt fornito.

  3. Implementa lo stack: Kiro lo utilizza per distribuire le risorse richieste. CloudFormation

  4. Configura il peering — Kiro esegue il flusso di lavoro Step Functions, che richiama le funzioni Lambda per creare connessioni peering e modificare le tabelle di routing.

Il diagramma seguente mostra il flusso di lavoro Step Functions:

Flusso di lavoro Step Functions per richiamare la funzione Lambda per modificare le tabelle di routing per il peering del gateway di transito.

Il flusso di lavoro contiene i seguenti passaggi:

  1. Il flusso di lavoro Step Functions richiama la funzione Lambda per il peering Transit Gateway. 

  2. Il flusso di lavoro attende un minuto.

  3. Il flusso di lavoro recupera lo stato del peering e lo invia al blocco delle condizioni. Il blocco è responsabile del looping. 

  4. Se la condizione di successo non viene soddisfatta, il flusso di lavoro viene codificato per entrare nella fase del timer. 

  5. Se viene soddisfatta la condizione di successo, una funzione Lambda modifica le tabelle delle rotte.

  6. Il flusso di lavoro Step Functions termina.

Tools (Strumenti)

  • AWS CloudFormationti aiuta a configurare AWS le risorse, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita tra Account AWS e. Regioni AWS 

  • Amazon CloudWatch Logs ti aiuta a centralizzare i log di tutti i tuoi sistemi e applicazioni, Servizi AWS così puoi monitorarli e archiviarli in modo sicuro.

  • AWS Identity and Access Management(IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.

  • Kiro è uno strumento di sviluppo di intelligenza artificiale agentica che ti aiuta a creare applicazioni pronte per la produzione attraverso uno sviluppo basato sulle specifiche. 

  • AWS Lambda è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.

  • AWS Step Functionsè un servizio di orchestrazione senza server che consente di combinare AWS Lambda funzioni e altro Servizi AWS per creare applicazioni aziendali critiche.  

Epiche

OperazioneDescriptionCompetenze richieste

Riempimento rapido dei segnaposto con dettagli specifici

  1. Aggiorna il seguente prompt sostituendo i nomi dei bucket e Regioni AWS :

    - Active region: ACTIVE_REGION - Passive region: PASSIVE_REGION - S3_BUCKET : my-lambda-packages-bucket - STACK_NAME : transit-gateway-peering - All Lambda functions use two boto3 EC2 clients at module level (one per region), each with signature_version v4 and retries max_attempts=1 mode=standard. - Print all API responses for CloudWatch logging.
  2. Salvalo come file markdown.

  3. Aggiungi questo file di markdown al tuo progetto Kiro per contestualizzarlo.

Nota

In alternativa, puoi aggiungerlo come prompt in linea che fa riferimento alle variabili di cui sopra senza allegare il file come contesto.

General AWS, amministratore di rete

Crea una funzione Lambda che crei gli allegati del peering.

  1. Nel tuo progetto Kiro, inserisci il seguente prompt:

    Write a Python Lambda that creates a transit gateway peering attachment from active region to passive region. Both of these regions will be read as environment variables of the Lambda function. Use two boto3 EC2 clients at the module level, one per Region. The handler should describe available transit gateways in both Regions. Then check if a peering attachment already exists on the active side by filtering describe_transit_gateway_attachments for resource-type "peering" and states: available, initiatingRequest, modifying, pendingAcceptance, pending, rejected, and rejecting. Only if zero results, create the peering attachment with tags for both Transit Gateway IDs, then wait 60 seconds (AWS needs this before the passive side can accept), then call accept_transit_gateway_peering_attachment on the passive client. Print all API responses.
  2. Salva e attribuisci un nome al file peer-transit-gateway.py.

General AWS, amministratore di rete, Prompt engineering

Crea una funzione Lambda che verifichi lo stato degli allegati di peering.

  1. Nel tuo progetto Kiro, inserisci il seguente prompt:

    Using the shared context above, write a Python Lambda that polls peering attachment status. Describe available transit gateways in both regions, then call describe_transit_gateway_attachments on the active client filtered by the active Transit Gateway ID only (no resource-type filter). Return exactly `{'status': status}` where status is the State field from the first attachment. Do not return statusCode or body — the Step Function Choice state reads `$.Payload.status` and compares to "available".
  2. Salva e attribuisci un nome al file get-transit-gateway-peering-status.py.

General AWS, amministratore di rete, Prompt engineering

Crea una funzione Lambda che aggiunga percorsi statici a entrambe le regioni.

  1. Nel tuo progetto Kiro, inserisci il seguente prompt:

    Using the shared context, write a Python Lambda that adds static routes to both regions' TGW route tables. Describe available transit gateways in both Regions, extract each transit gateway's AssociationDefaultRouteTableId. Discover routable VPCs by filtering describe_vpcs with tag `addtotransitgateway=true` in each region, collecting their CIDRs. Get the peering attachment ID from the active side by filtering on the active route table ID. For each passive CIDR, search the active route table using `route-search.exact-match` — only create the route if none found. For each active CIDR, search the passive route table using `route-search.supernet-of-match` (not exact-match — passive side may have supernet routes) — only create if none found. Both sides use the same peering attachment ID.
  2. Salva e assegna un nome a questo file come. modify-transit-gateway-routes.py

General AWS, amministratore di rete

Crea il CloudFormation modello.

  1. Immettete il seguente prompt di orchestrazione, che crea un modello: CloudFormation

    Write a CloudFormation JSON template that deploys: three Lambda functions (peer-transit-gateway with 600s timeout, get-transit-gateway-peering-status with 30s timeout, modify-transit-gateway-routes with 600s timeout), Lambda code from an S3 bucket parameter (no default value — user must supply the bucket name at deploy time), a Step Functions state machine, and CloudWatch log groups with 90-day retention. The state machine flow is: 1. Invoke peer-transit-gateway 2. Wait 20 seconds (attachment needs time after the Lambda's internal 20s sleep + acceptance) 3. Invoke get-transit-gateway-peering-status 4. Choice: if `$.Payload.status` equals "available" → go to step 5, otherwise loop back to step 2 5. Invoke modify-transit-gateway-routes → End Use `Fn::Sub` with Lambda ARN references like `${PeerTransitGateways.Arn}` in the DefinitionString. The polling loop has no max retry — it loops until "available" (typically 3-5 minutes total).
  2. Salvate e assegnate un nome al file. transit-gateway-peering.json

AWS DevOps, AWS generale, progettazione tempestiva
OperazioneDescriptionCompetenze richieste

Distribuisci lo CloudFormation stack utilizzando le istruzioni.

Inserisci il seguente prompt:

Using the outputs from Prompts 1-4, package and deploy the full stack. Steps: 1. For each of the three Python files from Prompts 1-3, create a zip named after the file (e.g. peer-transit-gateway.zip that contains peer-transit-gateway.py). 2. Upload all three zips to S3_BUCKET. 3. Deploy the CloudFormation template from Prompt 4 to ACTIVE_REGION with S3BucketName=S3_BUCKET and CAPABILITY_NAMED_IAM. 4. Initiate the Step Function from the deployed stack. Zip file names must match the S3Key values in the template exactly.
AWS DevOps, amministratore del cloud, AWS generale, progettazione tempestiva

Convalida la distribuzione.

  1. Monitora il flusso di lavoro di Step Functions per un corretto completamento. Per istruzioni, consulta la documentazione di Step Functions.

  2. Verificare che lo stato di peering degli allegati Transit Gateway sia disponibile. Per istruzioni, consulta la documentazione di Transit Gateway.

Informazioni generali su AWS

Risorse correlate