Blog
CloudFormation Benutzerdefinierte Ressource: Transit Gateway Peering Akzeptanzstelle

Ein Transit Gateway Peering Attachment muss vom Eigentümer des Attachments akzeptiert werden. Auch wenn beide Transit Gateways im selben Konto sind. Um dies mit CloudFormation zu automatisieren, habe ich eine benutzerdefinierte Ressource erstellt.
Einführung Transit Gateway Peering
Beginnen wir mit einer kleinen Einführung in das Transit Gateway Peering.
Wenn Sie mehrere AWS-Regionen miteinander verbinden möchten, haben Sie einige Möglichkeiten. Dies kann zum Beispiel mit VPC-Peering, VPNs oder mit Transit Gateway-Peering geschehen. In diesem Artikel konzentrieren wir uns auf Transit Gateway-Peering.
Transit Gateway hat die Möglichkeit, Peering-Verbindungen zwischen Transit Gateways in verschiedenen AWS-Regionen herzustellen. Die Kommunikation zwischen den Peering-Verbindungen ist verschlüsselt, durchläuft das globale AWS-Netzwerk und ist nicht dem öffentlichen Internet ausgesetzt. Daher können die an die Gateways angeschlossenen Ressourcen miteinander kommunizieren. Zu diesen Ressourcen gehören alle VPCs, Site-to-Site VPN-Verbindungen und Direct Connect Gateways.
Die Transit-Gateway-Anhänge ermöglichen eine bidirektionale Kommunikation, so dass Sie nur einen Anhang benötigen, um zwei Gateways miteinander zu verbinden.
Benutzerdefinierte Ressource - Peering Attachment Accepter
Wenn Sie das Peering-Attachment zwischen zwei Transit Gateways einrichten, kann nur der Eigentümer des Attachments dieses akzeptieren. Dies kann manuell über die Konsole, die CLI oder die API erfolgen. Bei der Bereitstellung mit CloudFormation kann dies jedoch automatisiert werden. Dazu habe ich eine benutzerdefinierte Ressource erstellt.
Der Lebenszyklus des Anhangs sieht folgendermaßen aus:

Ein Transit-Gateway-Anhang kann angenommen werden, wenn der Status pendingAcceptance ist. Nach der Annahme des Anhangs geht er in den Status pending über. Bei Erfolg wird der Anhang nach 2-5 Minuten verfügbar.
Die benutzerdefinierte Ressource wartet auf den Status pendingAcceptance und akzeptiert ihn dann mit der Boto3-Funktion accept_transit_gateway_peering_attachment(). Weitere Informationen über diese Funktion finden Sie hier
Nach dem Akzeptieren des Anhangs geht sie in den Zustand pending über. Die benutzerdefinierte Ressource wartet dann auf den Zustand available und sendet eine SUCCESS-Antwort an CloudFormation.
Wenn jedoch etwas fehlschlägt, sendet die benutzerdefinierte Ressource eine FAILED-Antwort an CloudFormation.
Den Quellcode für diese benutzerdefinierte Ressource finden Sie in diesem Repository auf GitHub: transit-gateway-peering-accepter in der Datei transit-gateway-peering-accepter/index.py.
Außerdem habe ich einige CloudFormation-Vorlagen mit der funktionierenden benutzerdefinierten Ressource hinzugefügt. Und als Bonus habe ich eine CloudFormation-Vorlage mit einem voll funktionsfähigen Transit Gateway-Setup in mehreren Regionen und EC2-Instanzen erstellt, um einen regionsübergreifenden Ping durchzuführen.
Quellcode: GitHub: transit-gateway-peering-accepter
Bild von Mustafa shehadeh aus Pixabay
Verfasst von

Tibor Hercz
Tibor is a Cloud Consultant specialized in AWS with a strong background in Software engineering and has a passion for Compute, Networking and Security. His goal is to create simple Cloud Solutions that increases the efficiency and overall happiness of the teams and business. Sharing knowledge is important to him, so you will see him blogging and sharing knowledge about solutions he has built.
Unsere Ideen
Weitere Blogs
Contact



