Automatisches Taggen Transit Gateway Gateway-Anhängen mithilfe von AWS Organizations - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisches Taggen Transit Gateway Gateway-Anhängen mithilfe von AWS Organizations

Erstellt von Richard Milner-Watts (AWS), Haris Bin Ayub (AWS) und John Capps (AWS)

Quellcode-Repository: Transit Gateway Attachment Tagger

Umgebung: Produktion

Technologien: Netzwerke; Infrastruktur; Management und Verwaltung; Betrieb

AWS-Services: AWS Step Functions; AWS Transit Gateway; Amazon VPC; AWS Lambda

Übersicht

Auf Amazon Web Services (AWS) können Sie AWS Resource Access Manager verwenden, um AWS Transit Gateway über AWS-Kontogrenzen hinweg gemeinsam zu nutzen. Wenn Sie Transit Gateway Gateway-Anlagen über Kontogrenzen hinweg erstellen, werden die Anlagen jedoch ohne Namensschild erstellt. Das kann die Identifizierung von Anhängen zeitaufwändig machen. 

Diese Lösung bietet einen automatisierten Mechanismus zum Sammeln von Informationen über jeden Transit Gateway Gateway-Anhang für Konten innerhalb einer Organisation, die von AWS Organizations verwaltet wird. Der Prozess umfasst die Suche nach dem CIDR-Bereich (Classless Inter-Domain Routing) aus der Transit Gateway Gateway-Routentabelle. Die Lösung wendet dann ein Namensschild in der Form von <CIDR-range>-<AccountName> auf den Anhang innerhalb des Kontos an, das das Transit-Gateway enthält.

Diese Lösung kann zusammen mit einer Lösung wie dem Serverless Transit Network Orchestrator aus der AWS Solutions Library verwendet werden. Serverless Transit Network Orchestrator ermöglicht die automatisierte Erstellung von Transit Gateway Gateway-Anhängen in großem Umfang.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS-Konto

  • Eine Organisation von AWS Organizations, die alle zugehörigen Konten enthält

  • Zugriff auf das Organisationsverwaltungskonto unter dem Stammkonto der Organisation, um die erforderliche AWS Identity and Access Management (IAM) -Rolle zu erstellen

  • Ein Shared Networking-Mitgliedskonto, das ein oder mehrere Transit-Gateways enthält, die mit der Organisation gemeinsam genutzt werden und über Anlagen verfügen

Architektur

Der folgende Screenshot der AWS-Managementkonsole zeigt Beispiele für Transit Gateway Gateway-Anhänge ohne zugeordnetes Name-Tag und zwei Transit Gateway Gateway-Anhänge mit Namens-Tags, die von dieser Lösung generiert wurden. Die Struktur des generierten Namens-Tags ist<CIDR-range>-<AccountName>.

Konsole mit Anhängen ohne Namensschilder und zwei Anlagen mit Namensschildern.

Diese Lösung verwendet AWS CloudFormation, um einen AWS Step Functions Functions-Workflow bereitzustellen, der die Erstellung von Transit Gateway Gateway-Namen-Tags in allen konfigurierten Regionen verwaltet. Der Workflow ruft AWS Lambda Lambda-Funktionen auf, die die zugrunde liegenden Aufgaben ausführen.

Nachdem die Lösung die Kontonamen von AWS Organizations abgerufen hat, erhält die Step Functions Functions-Zustandsmaschine alle Transit Gateway Gateway-Anhangs-IDs. Diese werden parallel von der AWS-Region verarbeitet. Diese Verarbeitung umfasst das Nachschlagen des CIDR-Bereichs für jeden Anhang. Der CIDR-Bereich wird ermittelt, indem die Transit Gateway Gateway-Routentabellen innerhalb der Region nach einer passenden Transit Gateway Gateway-Anhangs-ID durchsucht werden. Wenn alle erforderlichen Informationen verfügbar sind, fügt die Lösung dem Anhang ein Namensschild hinzu. Die Lösung überschreibt keine vorhandenen Name-Tags.

Die Lösung läuft nach einem Zeitplan, der durch ein EventBridgeAmazon-Ereignis gesteuert wird. Die Veranstaltung initiiert die Lösung jeden Tag um 6:00 Uhr UTC.

Zieltechnologie-Stack

  • Amazon EventBridge

  • AWS Lambda

  • AWS Organizations

  • AWS Transit Gateway

  • Amazon Virtual Private Cloud (Amazon VPC)

  • AWS X-Ray

Zielarchitektur

Die Lösungsarchitektur und der Arbeitsablauf sind in der folgenden Abbildung dargestellt.

Neunstufiger Prozess für gemeinsam genutzte Netzwerk- und Organisationsverwaltungskonten.
  1. Das geplante Ereignis initiiert die Regel.

  2. Die EventBridge Regel startet die Step Functions Functions-Zustandsmaschine.

  3. Die Zustandsmaschine ruft die tgw-tagger-organizations-account-query Lambda-Funktion auf.

  4. Die tgw-tagger-organizations-account-query Lambda-Funktion übernimmt die Rolle im Organisationsverwaltungskonto.

  5. Die tgw-tagger-organizations-account-query Lambda-Funktion ruft die Organizations-API auf, um AWS-Konto-Metadaten zurückzugeben.

  6. Die Zustandsmaschine ruft die tgw-tagger-attachment-query Lambda-Funktion auf.

  7. Für jede Region ruft die Zustandsmaschine parallel die tgw-tagger-rtb-query Lambda-Funktion auf, um den CIDR-Bereich für jeden Anhang zu lesen.

  8. Für jede Region ruft die Zustandsmaschine parallel die tgw-tagger-attachment-tagger Lambda-Funktion auf.

  9. Namensschilder werden für Transit Gateway Gateway-Anlagen im Shared Networking-Konto erstellt.

Automatisierung und Skalierung

Die Lösung verarbeitet jede Region parallel, um die Gesamtdauer des Laufs zu reduzieren.

Tools

AWS-Services

  • AWS CloudFormation — AWS CloudFormation bietet die Möglichkeit, eine Sammlung verwandter AWS- und Drittanbieter-Ressourcen zu modellieren, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus zu verwalten, indem Infrastruktur als Code behandelt wird.

  • Amazon EventBridge — Amazon EventBridge ist ein serverloser Event-Bus-Service, mit dem Sie Ihre Anwendungen mit Daten aus einer Vielzahl von Quellen verbinden können. EventBridge empfängt ein Ereignis, einen Indikator für eine Änderung der Umgebung, und wendet eine Regel an, um das Ereignis an ein Ziel weiterzuleiten. Regeln ordnen Ereignisse Zielen entweder auf der Grundlage der Struktur des Ereignisses, eines so genannten Ereignismusters, oder anhand eines Zeitplans zu.

  • AWS Lambda — AWS Lambda ist ein Rechenservice, der die Ausführung von Code unterstützt, ohne Server bereitzustellen oder zu verwalten. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch, von wenigen Anfragen pro Tag bis hin zu Tausenden pro Sekunde. Sie zahlen nur für die tatsächlich konsumierte Zeit. Es werden keine Gebühren berechnet, solange Ihr Code nicht ausgeführt wird.

  • AWS Organizations — AWS Organizations hilft Ihnen dabei, Ihre Umgebung zentral zu verwalten und zu steuern, während Sie Ihre AWS-Ressourcen erweitern und skalieren. Mit AWS Organizations können Sie programmgesteuert neue AWS-Konten erstellen und Ressourcen zuweisen, Konten gruppieren, um Ihre Workflows zu organisieren, Richtlinien auf Konten oder Gruppen zur Verwaltung anwenden und die Abrechnung vereinfachen, indem Sie für alle Ihre Konten eine einzige Zahlungsmethode verwenden.

  • AWS Step Functions — AWS Step Functions ist ein visueller Workflow-Service mit geringem Programmieraufwand, der zur Orchestrierung von AWS-Services, zur Automatisierung von Geschäftsprozessen und zur Erstellung serverloser Anwendungen verwendet wird. Workflows verwalten Fehler, Wiederholungen, Parallelisierung, Serviceintegrationen und Beobachtbarkeit, sodass sich Entwickler auf die wertvollere Geschäftslogik konzentrieren können.

  • AWS Transit Gateway — AWS Transit Gateway verbindet VPCs und lokale Netzwerke über einen zentralen Hub. Dies vereinfacht Ihr Netzwerk und beendet komplexe Peering-Beziehungen. Es fungiert als Cloud-Router, sodass jede neue Verbindung nur einmal hergestellt wird.

  • Amazon VPC — Amazon Virtual Private Cloud (Amazon VPC) ist ein Service zum Starten von AWS-Ressourcen in einem logisch isolierten virtuellen Netzwerk, das Sie definieren.

  • AWS X-Ray — AWS X-Ray sammelt Daten über Anfragen, die Ihre Anwendung bedient, und stellt Tools bereit, mit denen Sie diese Daten anzeigen, filtern und Einblicke in sie gewinnen können, um Probleme und Optimierungsmöglichkeiten zu identifizieren.

Code

Der Quellcode für diese Lösung ist im Transit Gateway Attachment GitHub Tagger-Repository verfügbar. Das Repository enthält die folgenden Dateien:

  • tgw-attachment-tagger-main-stack.yamlerstellt alle Ressourcen zur Unterstützung dieser Lösung innerhalb des Shared Networking-Kontos.

  • tgw-attachment-tagger-organizations-stack.yamlerstellt eine Rolle im Verwaltungskonto der Organisation.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Sammeln Sie die erforderlichen Informationen zu den Voraussetzungen.

Um den kontoübergreifenden Zugriff von der Lambda-Funktion auf die AWS Organizations API zu konfigurieren, benötigen Sie die Konto-ID für das Verwaltungskonto der Organisation.

Hinweis: Die Reihenfolge, in der die beiden CloudFormation Stapel erstellt werden, ist wichtig. Sie müssen zuerst Ressourcen für das Shared Networking-Konto bereitstellen. Die Rolle im Shared Networking-Konto muss bereits vorhanden sein, bevor Ressourcen für das Verwaltungskonto der Organisation bereitgestellt werden können. Weitere Informationen finden Sie in der AWS-Dokumentation.

DevOps Ingenieur

Starten Sie die CloudFormation Vorlage für den Hauptlösungsstapel.

Die Vorlage für den Hauptlösungsstapel stellt die IAM-Rollen, den Step Functions Functions-Workflow, die Lambda-Funktionen und das CloudWatch Ereignis bereit.

Öffnen Sie die AWS-Managementkonsole für das Shared Networking-Konto und öffnen Sie dann die CloudFormation Konsole.  Erstellen Sie den Stack mithilfe der tgw-attachment-tagger-main-stack.yaml Vorlage und der folgenden Werte:  

  • Stacknametgw-attachment-tagger-main-stack 

  • awsOrganizationsRootAccountId— Konto-ID für das Verwaltungskonto der Organisation

  • Parameter tgwRegions — AWS-Regionen für die Lösung, eingegeben als kommagetrennte Zeichenfolge

  • TGWList-Parameter — Transit-Gateway-IDs, die aus der Lösung ausgeschlossen werden sollen, eingegeben in einer durch Kommas getrennten Zeichenfolge

Weitere Informationen zum Starten eines CloudFormation Stacks finden Sie in der AWS-Dokumentation.

DevOps Ingenieur

Stellen Sie sicher, dass die Lösung erfolgreich gestartet wurde.

Warten Sie, bis der CloudFormation Stack den Status CREATE_COMPLETE erreicht hat. Dies sollte weniger als eine Minute dauern.

Öffnen Sie die Step Functions Functions-Konsole und stellen Sie sicher, dass eine neue Zustandsmaschine mit dem Namen tgw-attachment-tagger-state-machine erstellt wurde.

DevOps Ingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Sammeln Sie die erforderlichen Informationen zu den Voraussetzungen.

Um den kontoübergreifenden Zugriff von der Lambda-Funktion auf die AWS Organizations API zu konfigurieren, benötigen Sie die Konto-ID für das Shared Networking-Konto.

DevOps Ingenieur

Starten Sie die CloudFormation Vorlage für den Organisations-Stack

Die Vorlage für den AWS Organizations Stack stellt die IAM-Rolle im Verwaltungskonto der Organisation bereit. 

Greifen Sie auf die AWS-Konsole für das Verwaltungskonto der Organisation zu und öffnen Sie dann die CloudFormation Konsole.  Erstellen Sie den Stack mithilfe der tgw-attachment-tagger-organizations-stack.yaml Vorlage und der folgenden Werte:

  • Stacknametgw-attachment-tagger-organizations-stack

  • NetworkingAccountIdParameter — Konto-ID für das Shared Networking-Konto 

Verwenden Sie für die anderen Optionen zur Stapelerstellung die Standardeinstellungen.

DevOps Ingenieur

Stellen Sie sicher, dass die Lösung erfolgreich gestartet wurde.

Warten Sie, bis der CloudFormation Stack den Status CREATE_COMPLETE erreicht hat. Dies sollte weniger als eine Minute dauern.

Öffnen Sie die Identity and Access Management (IAM) -Konsole und vergewissern Sie sich, dass eine neue Rolle mit dem Namen tgw-attachment-tagger-organization-query-role erstellt wurde.

DevOps Ingenieur
AufgabeBeschreibungErforderliche Fähigkeiten

Führen Sie die Zustandsmaschine aus.

Öffnen Sie die Step Functions Functions-Konsole für das Shared Networking-Konto und wählen Sie im Navigationsbereich State Machines aus.

Wählen Sie den Zustandsmaschine tgw-attachment-tagger-state-machine und dann Ausführung starten aus.  

Da die Eingabe für diesen Zustandsmaschine nicht von der Lösung verwendet wird, können Sie den Standardwert verwenden.

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

Wählen Sie Start Execution aus.

DevOps Ingenieur

Beobachten Sie die Zustandsmaschine bis zur Fertigstellung.

Auf der neuen Seite, die geöffnet wird, können Sie zusehen, wie die Zustandsmaschine läuft. Die Dauer hängt von der Anzahl der zu verarbeitenden Transit Gateway Gateway-Anlagen ab.

Auf dieser Seite können Sie jeden Schritt der Zustandsmaschine untersuchen. Sie können die verschiedenen Aufgaben innerhalb der Zustandsmaschine anzeigen und den Links zu den CloudWatch Protokollen für die Lambda-Funktionen folgen. Für die Aufgaben, die innerhalb der Map parallel ausgeführt werden, können Sie die Dropdownliste Index verwenden, um die spezifischen Implementierungen für jede Region anzuzeigen.

DevOps Ingenieur

Überprüfen Sie die Transit Gateway Gateway-Anhangs-Tags.

Öffnen Sie die VPC-Konsole für das Shared Networking-Konto und wählen Sie Transit Gateway Attachments aus.  Auf der Konsole wird ein Namen-Tag für Anlagen bereitgestellt, die die Kriterien erfüllen (der Anhang wird an eine Transit Gateway Gateway-Routentabelle weitergegeben, und der Ressourcenbesitzer ist Mitglied der Organisation).

DevOps Ingenieur

Überprüfen Sie die Initiierung des CloudWatch Ereignisses.

Warten Sie, bis das CloudWatch Ereignis ausgelöst wird. Dies ist für 06:00 Uhr UTC geplant. 

Öffnen Sie dann die Step Functions Functions-Konsole für das Shared Networking-Konto und wählen Sie im Navigationsbereich State Machines aus.

Wählen Sie den Zustandsmaschine tgw-attachment-tagger-state-machine aus. Stellen Sie sicher, dass die Lösung um 06:00 Uhr UTC ausgeführt wurde.

DevOps Ingenieur

Zugehörige Ressourcen