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 AWS Organizations
Creato da Richard Milner-Watts (AWS), Haris Bin Ayub (AWS) e John Capps (AWS)
Archivio di codice: Transit Gateway Attachment Tagger | Ambiente: produzione | Tecnologie: reti; infrastruttura; gestione e governance; operazioni |
Servizi AWS: AWS Step Functions; AWS Transit Gateway; Amazon VPC; AWS Lambda |
Riepilogo
Su Amazon Web Services (AWS), puoi utilizzare AWS Resource 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 AWS Organizations<CIDR-range>-<AccountName>
account che contiene il gateway di transito.
Questa soluzione può essere utilizzata insieme a una soluzione come Serverless Transit Network Orchestrator della AWS Solutions
Prerequisiti e limitazioni
Prerequisiti
Un account AWS 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 di Shared Networking contenente uno o più gateway di transito condivisi con l'organizzazione e dotati di allegati
Architettura
La seguente schermata della Console di gestione AWS 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 AWS CloudFormation
Dopo che la soluzione ha ottenuto i nomi degli account da AWS Organizations, la macchina a stati Step Functions ottiene tutti gli ID degli allegati Transit Gateway. Questi vengono elaborati in parallelo dalla regione AWS. Questa elaborazione include la ricerca dell'intervallo CIDR per ogni allegato. L'intervallo CIDR 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
AWS Lambda
AWS Organizations
AWS Transit Gateway
Amazon Virtual Private Cloud (Amazon VPC) (Amazon VPC)
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 richiama l'API Organizations per restituire i metadati dell'account AWS.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'intervallo CIDR 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
Servizi AWS
AWS CloudFormation: AWS CloudFormation offre un modo per modellare una raccolta di risorse AWS e di terze parti correlate, eseguirne il provisioning 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.
AWS Lambda: 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.
AWS Organizations — AWS Organizations ti aiuta a gestire e governare centralmente il tuo ambiente man mano che cresci e ridimensioni le tue risorse AWS. Con AWS Organizations, puoi creare in modo programmatico nuovi account AWS e allocare risorse, raggruppare account per organizzare i flussi di lavoro, applicare policy ad account o gruppi per la governance e semplificare la fatturazione utilizzando un unico metodo di pagamento per tutti i tuoi account.
AWS Step Functions — AWS Step Functions è un servizio di flusso di lavoro visivo a basso codice utilizzato per orchestrare i servizi AWS, 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 di business di maggior valore.
AWS Transit Gateway
: AWS Transit Gateway collega VPC e reti locali tramite un hub centrale. Ciò semplifica la rete e pone fine a 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 (Amazon VPC) è un servizio per il lancio di risorse AWS in una rete virtuale logicamente isolata da te definita.
AWS X-Ray — AWS X-Ray raccoglie dati sulle richieste servite dall'applicazione e fornisce strumenti che puoi utilizzare per visualizzare, filtrare e ottenere 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 all'API AWS Organizations, è necessario l'ID dell'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 documentazione di AWS | DevOps ingegnere |
Avvia il CloudFormation modello per lo stack di soluzioni principale. | Il modello per lo stack di soluzioni principale implementerà i ruoli IAM, il flusso di lavoro Step Functions, le funzioni Lambda e l'evento. CloudWatch Apri la console di gestione AWS per l'account Shared Networking, quindi apri la CloudFormation console. 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 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 all'API AWS 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 ruolo IAM nell'account di gestione dell'organizzazione. Accedi alla console AWS per l'account di gestione dell'organizzazione, quindi apri la CloudFormation console. 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 CREATE_COMPLETE. Questa operazione dovrebbe richiedere meno di un minuto. Apri la console Identity and Access Management (IAM) e verifica che sia stato creato un nuovo ruolo con il tgw-attachment-tagger-organizationnome -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 console VPC 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. Verifica che la soluzione sia stata eseguita alle 06:00 UTC. | DevOps ingegnere |