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
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<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
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>
Questa soluzione utilizza un flusso AWS CloudFormation
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
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.
L'evento pianificato avvia la regola.
La EventBridge regola avvia la macchina a stati Step Functions.
La macchina a stati richiama la funzione Lambda
tgw-tagger-organizations-account-query
.La funzione
tgw-tagger-organizations-account-query
Lambda assume il ruolo nell'account di gestione dell'organizzazione.La funzione
tgw-tagger-organizations-account-query
Lambda chiama Organizations API per restituire i metadati AWS dell'account.La macchina a stati richiama la funzione Lambda
tgw-tagger-attachment-query
.Per ogni regione, in parallelo, la macchina a stati richiama la funzione
tgw-tagger-rtb-query
Lambda per leggere l'CIDRintervallo per ogni allegato.Per ogni regione, in parallelo, la macchina a stati richiama la funzione Lambda
tgw-tagger-attachment-tagger
.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
tgw-attachment-tagger-main-stack.yaml
crea tutte le risorse per supportare questa soluzione all'interno dell'account Shared Networking.tgw-attachment-tagger-organizations-stack.yaml
crea un ruolo nell'account di gestione dell'organizzazione.
Epiche
Attività | Descrizione | Competenze 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
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à | Descrizione | Competenze 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
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à | Descrizione | Competenze 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.
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 |