Etichetta automaticamente gli allegati Transit Gateway utilizzando Organizations AWS - 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à.

Etichetta automaticamente gli allegati Transit Gateway utilizzando Organizations AWS

Creato da Richard Milner-Watts (AWS), Haris Bin Ayub () e John Capps () AWS AWS

Archivio di codice: Transit Gateway Attachment Tagger

Ambiente: produzione

Tecnologie: reti; infrastruttura; gestione e governance; operazioni

AWSservizi: AWS Step Functions; AWS Transit Gateway; AmazonVPC; AWS Lambda

Riepilogo

Su Amazon Web Services (AWS), puoi utilizzare AWSResource Access Manager per condividere AWSTransit Gateway oltre i limiti AWS dell'account. Tuttavia, quando si creano allegati Transit Gateway oltre i limiti dell'account, gli allegati vengono creati senza un tag Name. Ciò può rendere l'identificazione degli allegati dispendiosa in termini di tempo. 

Questa soluzione fornisce un meccanismo automatizzato per raccogliere informazioni su ogni allegato Transit Gateway per gli account all'interno di un'organizzazione gestita da AWSOrganizations. Il processo include la ricerca dell'intervallo Classless Inter-Domain Routing (CIDR) dalla tabella di routing Transit Gateway. La soluzione applica quindi un tag Name sotto forma di all'allegato all'interno dell'<CIDR-range>-<AccountName>account che contiene il gateway di transito.

Questa soluzione può essere utilizzata insieme a una soluzione come il Serverless Transit Network Orchestrator della Solutions Library. AWS Serverless Transit Network Orchestrator consente la creazione automatizzata di allegati Transit Gateway su larga scala.

Prerequisiti e limitazioni

Prerequisiti

  • AWSUn account attivo

  • Un'organizzazione AWS Organizations che contiene tutti gli account correlati

  • Accesso all'account di gestione dell'organizzazione, nella directory principale dell'organizzazione, per creare il ruolo AWS Identity and Access Management (IAM) richiesto

  • Un account membro della rete condivisa contenente uno o più gateway di transito condivisi con l'organizzazione e con allegati

Architettura

La seguente schermata della AWS Management Console mostra esempi di allegati Transit Gateway senza tag Name associato e due allegati Transit Gateway con tag Name generati da questa soluzione. La struttura del tag Name generato è. <CIDR-range>-<AccountName>

La console mostra gli allegati senza tag Name e due allegati con i tag Name.

Questa soluzione utilizza un flusso AWS CloudFormationdi lavoro AWSStep Functions che gestisce la creazione di tag Transit Gateway Name in tutte le regioni configurate. Il flusso di lavoro richiama le funzioni AWSLambda, che eseguono le attività sottostanti.

Dopo che la soluzione ha ottenuto i nomi degli account da AWS Organizations, la macchina a stati Step Functions ottiene tutti gli allegati Transit GatewayIDs. Questi vengono elaborati in parallelo per AWS regione. Questa elaborazione include la ricerca dell'CIDRintervallo per ogni allegato. L'CIDRintervallo si ottiene cercando nelle tabelle di routing Transit Gateway all'interno della regione un ID allegato Transit Gateway corrispondente. Se tutte le informazioni richieste sono disponibili, la soluzione applica un tag Name all'allegato. La soluzione non sovrascriverà alcun tag Name esistente.

La soluzione viene eseguita secondo una pianificazione controllata da un EventBridge evento Amazon. L'evento avvia la soluzione ogni giorno alle 06:00. UTC

Stack tecnologico Target

  • Amazon EventBridge

  • AWSLambda

  • AWSOrganizzazioni

  • AWS Transit Gateway

  • Amazon Cloud Privato Virtuale (AmazonVPC)

  • AWS X-Ray

Architettura Target

L'architettura della soluzione e il flusso di lavoro sono illustrati nel diagramma seguente.

Processo in nove fasi tra account di rete condivisi e di gestione dell'organizzazione.
  1. L'evento pianificato avvia la regola.

  2. La EventBridge regola avvia la macchina a stati Step Functions.

  3. La macchina a stati richiama la funzione Lambdatgw-tagger-organizations-account-query.

  4. La funzione tgw-tagger-organizations-account-query Lambda assume il ruolo nell'account di gestione dell'organizzazione.

  5. La funzione tgw-tagger-organizations-account-query Lambda chiama Organizations API per restituire i metadati AWS dell'account.

  6. La macchina a stati richiama la funzione Lambdatgw-tagger-attachment-query.

  7. Per ogni regione, in parallelo, la macchina a stati richiama la funzione tgw-tagger-rtb-query Lambda per leggere l'CIDRintervallo per ogni allegato.

  8. Per ogni regione, in parallelo, la macchina a stati richiama la funzione Lambda tgw-tagger-attachment-tagger.

  9. I name tag vengono creati per gli allegati Transit Gateway nell'account Shared Networking.

Automazione e scalabilità

La soluzione elabora ogni regione in parallelo per ridurre la durata totale dell'esecuzione.

Strumenti

AWSservizi

  • AWS CloudFormation— AWS CloudFormation fornisce un modo per modellare una raccolta di risorse correlate AWS e di terze parti, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita, trattando l'infrastruttura come codice.

  • Amazon EventBridge: Amazon EventBridge è un servizio di bus eventi senza server che puoi utilizzare per connettere le tue applicazioni con dati provenienti da una varietà di fonti. EventBridge riceve un evento, un indicatore di un cambiamento nell'ambiente e applica una regola per indirizzare l'evento verso un obiettivo. Le regole abbinano gli eventi agli obiettivi in base alla struttura dell'evento, chiamata pattern di evento, o a una pianificazione.

  • AWSLambda: AWS Lambda è un servizio di elaborazione che supporta l'esecuzione di codice senza effettuare il provisioning o la gestione di server. Lambda esegue il codice solo quando necessario e si ridimensiona automaticamente, da poche richieste al giorno a migliaia al secondo. I costi saranno calcolati in base al tempo di elaborazione effettivo. Quando il codice non è in esecuzione non viene addebitato alcun costo.

  • AWSOrganizations — AWS Organizations ti aiuta a gestire e governare centralmente il tuo ambiente man mano che cresci e scalerai AWS le tue risorse. Utilizzando AWS Organizations, puoi creare nuovi AWS account e allocare risorse in modo programmatico, raggruppare account per organizzare i flussi di lavoro, applicare politiche agli account o ai gruppi per la governance e semplificare la fatturazione utilizzando un unico metodo di pagamento per tutti i tuoi account.

  • AWSStep Functions — AWS Step Functions è un servizio di flusso di lavoro visivo a basso codice utilizzato per orchestrare AWS servizi, automatizzare i processi aziendali e creare applicazioni serverless. I flussi di lavoro gestiscono gli errori, i nuovi tentativi, la parallelizzazione, le integrazioni dei servizi e l'osservabilità, in modo che gli sviluppatori possano concentrarsi su logiche aziendali di maggior valore.

  • AWSTransit Gateway: AWS Transit Gateway collega VPCs le reti locali tramite un hub centrale. Ciò semplifica la rete e pone fine alle complesse relazioni di peering. Funziona come un router cloud, in modo che ogni nuova connessione venga effettuata una sola volta.

  • Amazon VPC — Amazon Virtual Private Cloud (AmazonVPC) è un servizio per l'avvio di AWS risorse in una rete virtuale logicamente isolata da te definita.

  • AWSX-Ray: AWS X-Ray raccoglie dati sulle richieste servite dall'applicazione e fornisce strumenti che è possibile utilizzare per visualizzare, filtrare e acquisire informazioni su tali dati per identificare problemi e opportunità di ottimizzazione.

Codice

Il codice sorgente di questa soluzione è disponibile nel GitHub repository Transit Gateway Attachment Tagger. Il repository include i seguenti file:

  • tgw-attachment-tagger-main-stack.yamlcrea tutte le risorse per supportare questa soluzione all'interno dell'account Shared Networking.

  • tgw-attachment-tagger-organizations-stack.yamlcrea un ruolo nell'account di gestione dell'organizzazione.

Epiche

AttivitàDescrizioneCompetenze richieste

Raccogli le informazioni necessarie sui prerequisiti.

Per configurare l'accesso tra account dalla funzione Lambda alle AWS API Organizzazioni, è necessario l'ID account per l'account di gestione dell'organizzazione.

Nota: l'ordine in cui vengono creati i due CloudFormation stack è importante. È necessario prima distribuire le risorse nell'account di rete condivisa. Il ruolo nell'account di rete condivisa deve già esistere prima di distribuire le risorse nell'account di gestione dell'organizzazione. Per ulteriori informazioni, consulta la AWSdocumentazione.

DevOps ingegnere

Avvia il CloudFormation modello per lo stack di soluzioni principale.

Il modello per lo stack di soluzioni principale distribuirà i IAM ruoli, il flusso di lavoro Step Functions, le funzioni Lambda e l'evento. CloudWatch

Aprire la console di AWS gestione per l'account di rete condivisa, quindi aprire la console. CloudFormation  Crea lo stack utilizzando il tgw-attachment-tagger-main-stack.yaml modello e i seguenti valori:  

  • Nome dello stack: -stack tgw-attachment-tagger-main 

  • awsOrganizationsRootAccountId— ID dell'account di gestione dell'organizzazione

  • TGWRegionsparametro — AWS Regioni della soluzione, immesse come stringa delimitata da virgole

  • TGWListparametro — Gateway di transito da IDs escludere dalla soluzione, inserito in una stringa delimitata da virgole

Per ulteriori informazioni sul lancio di uno CloudFormation stack, consulta la documentazione. AWS

DevOps ingegnere

Verifica che la soluzione sia stata avviata correttamente.

Attendi che lo CloudFormation stack raggiunga lo stato di CREATE_ COMPLETE. Questa operazione dovrebbe richiedere meno di un minuto.

Apri la console Step Functions e verifica che sia stata creata una nuova macchina a stati con il nome tgw-attachment-tagger-state-machine.

DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Raccogli le informazioni necessarie sui prerequisiti.

Per configurare l'accesso tra account dalla funzione Lambda alle AWS API Organizations, è necessario l'ID account per l'account Shared Networking.

DevOps ingegnere

Avvia il CloudFormation modello per lo stack Organizations

Il modello per lo stack AWS Organizations implementerà il IAM ruolo nell'account di gestione dell'organizzazione. 

Accedi alla AWS console per l'account di gestione dell'organizzazione, quindi apri la console. CloudFormation  Crea lo stack utilizzando il tgw-attachment-tagger-organizations-stack.yaml modello e i seguenti valori:

  • Nome dello stack: -stack tgw-attachment-tagger-organizations

  • NetworkingAccountIdparametro — ID account per l'account di rete condivisa 

Per le altre opzioni di creazione dello stack, utilizzate le impostazioni predefinite.

DevOps ingegnere

Verifica che la soluzione sia stata avviata correttamente.

Attendi che lo CloudFormation stack raggiunga lo stato di CREATE_ COMPLETE. Questa operazione dovrebbe richiedere meno di un minuto.

Aprire la console Identity and Access Management (IAM) e verificare che sia stato creato un nuovo ruolo con il nome tgw-attachment-tagger-organization-query-role.

DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Avvia la macchina a stati.

Apri la console Step Functions per l'account Shared Networking e scegli Macchine a stati nel riquadro di navigazione.

Seleziona la macchina a stati tgw-attachment-tagger-state-machine e scegli Avvia esecuzione.  

Poiché l'input di questa macchina a stati non viene utilizzato dalla soluzione, è possibile utilizzare il valore predefinito.

{ "Comment": "Insert your JSON here" }

Selezionare Start Execution (Avvia esecuzione).

DevOps ingegnere

Guarda la macchina statale fino al completamento.

Nella nuova pagina che si apre, puoi guardare la macchina a stati funzionare. La durata dipenderà dal numero di allegati Transit Gateway da elaborare.

In questa pagina è possibile esaminare ogni fase della macchina a stati. È possibile visualizzare le varie attività all'interno della macchina a stati e seguire i collegamenti ai CloudWatch registri delle funzioni Lambda. Per le attività eseguite in parallelo all'interno della mappa, puoi utilizzare l'elenco a discesa Indice per visualizzare le implementazioni specifiche per ogni regione.

DevOps ingegnere

Verifica i tag degli allegati Transit Gateway.

Apri la VPC console per l'account Shared Networking e scegli Transit Gateway Attachments.  Sulla console, viene fornito un tag Name per gli allegati che soddisfano i criteri (l'allegato viene propagato a una tabella di routing Transit Gateway e il proprietario della risorsa è un membro dell'organizzazione).

DevOps ingegnere

Verifica l'inizio CloudWatch dell'evento.

Attendi l'inizio CloudWatch dell'evento. È previsto per le 06:00. UTC 

Quindi apri la console Step Functions per l'account Shared Networking e scegli Macchine a stati nel riquadro di navigazione.

Seleziona la macchina a stati tgw-attachment-tagger-state-macchina. Verificare che la soluzione sia stata eseguita alle 06:00. UTC

DevOps ingegnere

Risorse correlate