Greifen Sie privat von mehreren aus auf einen zentralen AWS Service-Endpunkt zu VPCs - 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.

Greifen Sie privat von mehreren aus auf einen zentralen AWS Service-Endpunkt zu VPCs

Erstellt von Martin Guenthner (AWS) und Samuel Gordon () AWS

Quellcode-Repository: Endpoint Sharing VPC

Umgebung: Produktion

Technologien: Netzwerke; Infrastruktur

AWSDienste: AWSRAM; Amazon Route 53; AmazonSNS; AWS Transit Gateway; Amazon VPC

Übersicht

Die Sicherheits- und Compliance-Anforderungen für Ihre Umgebung können vorsehen, dass der Datenverkehr zu Amazon Web Services (AWS) -Diensten oder Endpunkten nicht über das öffentliche Internet erfolgen darf. Bei diesem Muster handelt es sich um eine Lösung, die für eine hub-and-spokeTopologie konzipiert ist, bei der ein zentraler Hub mit mehreren verteilten Spokes verbunden VPC ist. VPCs In dieser Lösung erstellen Sie AWS PrivateLink einen VPC Schnittstellenendpunkt für den AWS Dienst im Hub-Konto. Anschließend verwenden Sie Transit-Gateways und eine Regel für das verteilte Domain Name System (DNS), um Anfragen an die private IP-Adresse des Endpunkts über die Verbindung VPCs zu lösen.

Dieses Muster beschreibt, wie AWS Transit Gateway, ein eingehender Amazon Route 53 Resolver Resolver-Endpunkt und eine gemeinsam genutzte Route 53-Weiterleitungsregel verwendet werden, um die DNS Anfragen von den Ressourcen in Connected zu lösen. VPCs Sie erstellen den Endpunkt, das Transit-Gateway, den Resolver und die Weiterleitungsregel im Hub-Konto. Anschließend verwenden Sie AWS Resource Access Manager (AWSRAM), um das Transit-Gateway und die Weiterleitungsregel für den Spoke freizugebenVPCs. Die bereitgestellten AWS CloudFormation Vorlagen helfen Ihnen bei der Bereitstellung und Konfiguration der Ressourcen im Hub VPC and SpokeVPCs.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein Hub-Konto und ein oder mehrere Spoke-Konten, die in derselben Organisation unter AWS Organizations verwaltet werden. Weitere Informationen finden Sie unter Organisation erstellen und verwalten.

  • AWSResource Access Manager (AWSRAM) ist in AWS Organizations als vertrauenswürdiger Dienst konfiguriert. Weitere Informationen finden Sie unter AWSOrganizations mit anderen AWS Diensten verwenden.

  • DNSDie Auflösung muss im Hub-and-Spoke-Modus aktiviert seinVPCs. Weitere Informationen finden Sie unter DNSAttribute für Ihre VPC (Amazon Virtual Private Cloud Cloud-Dokumentation).

Einschränkungen

  • Dieses Muster verbindet Hub- und Spoke-Konten in derselben AWS Region. Bei Bereitstellungen in mehreren Regionen müssen Sie dieses Muster für jede Region wiederholen.

  • Der AWS Dienst muss PrivateLink als VPC Schnittstellenendpunkt integriert werden. Eine vollständige Liste finden Sie unter AWSDienste, die in integriert werden können AWS PrivateLink (PrivateLink Dokumentation).

  • Die Affinität zur Availability Zone kann nicht garantiert werden. Beispielsweise könnten Anfragen aus Availability Zone A mit einer IP-Adresse aus Availability Zone B antworten.

  • Die dem VPC Endpunkt zugeordnete elastic network interface hat ein Limit von 10.000 Abfragen pro Sekunde.

Architektur

Zieltechnologie-Stack

  • Ein Hub VPC im AWS Hub-Konto

  • Ein oder mehrere Personen haben VPCs in einem AWS Spoke-Konto gesprochen

  • Ein oder mehrere VPC Schnittstellenendpunkte im Hub-Konto

  • Route 53 53-Resolver für eingehenden und ausgehenden Datenverkehr im Hub-Konto

  • Eine Route 53 Resolver-Weiterleitungsregel, die im Hub-Konto bereitgestellt und mit dem Spoke-Konto geteilt wird

  • Ein Transit-Gateway, das im Hub-Konto bereitgestellt und mit dem Spoke-Konto geteilt wird

  • AWSTransit Gateway verbindet Hub und Spoke VPCs

Zielarchitektur

Die folgende Abbildung zeigt eine Beispielarchitektur für diese Lösung. In dieser Architektur hat die Route 53 Resolver-Weiterleitungsregel im Hub-Konto die folgende Beziehung zu den anderen Architekturkomponenten:

  1. Die Weiterleitungsregel wird mit dem Spoke geteilt, VPC indem AWS RAM

  2. Die Weiterleitungsregel ist dem Outbound-Resolver im Hub zugeordnet. VPC

  3. Die Weiterleitungsregel zielt auf den Resolver für eingehende Anrufe im Hub ab. VPC

Architekturdiagramm, das die Ressourcen in den Spoke- und Hub-Konten zeigt.

Die folgende Abbildung zeigt den Verkehrsfluss durch die Beispielarchitektur:

  1. Eine Ressource, z. B. eine Amazon Elastic Compute Cloud (AmazonEC2) -Instance, VPC stellt im Spoke eine DNS Anfrage an<service>.<region>.amazonaws.com. Die Anfrage geht beim Spoke Amazon DNS Resolver ein.

  2. Die Route 53 53-Weiterleitungsregel, die vom Hub-Konto gemeinsam genutzt und dem Spoke zugeordnet wirdVPC, fängt die Anfrage ab.

  3. Im Hub verwendet der Outbound-Resolver die WeiterleitungsregelVPC, um die Anfrage an den Inbound-Resolver weiterzuleiten.

  4. Der Inbound Resolver verwendet den VPC Amazon DNS Resolver Hub, um die IP-Adresse für <service>.<region>.amazonaws.com die private IP-Adresse eines Endpunkts aufzulösen. VPC Wenn kein VPC Endpunkt vorhanden ist, wird er in die öffentliche IP-Adresse aufgelöst.

Der Datenverkehr fließt von einer Ressource im Spoke VPC zu einem Service-Endpunkt im HubVPC.

Tools

AWSTools und Dienste

  • AWS CloudFormationhilft Ihnen dabei, AWS Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus über AWS Konten und Regionen hinweg zu verwalten.

  • Amazon Elastic Compute Cloud (AmazonEC2) bietet skalierbare Rechenkapazität in der AWS Cloud. Sie können so viele virtuelle Server starten, wie Sie benötigen, und sie schnell nach oben oder unten skalieren.

  • AWSMit Identity and Access Management (IAM) können Sie den Zugriff auf Ihre AWS Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.

  • AWSResource Access Manager (AWSRAM) hilft Ihnen dabei, Ihre Ressourcen sicher für mehrere AWS Konten gemeinsam zu nutzen, um den betrieblichen Aufwand zu reduzieren und für Transparenz und Überprüfbarkeit zu sorgen.

  • Amazon Route 53 ist ein hochverfügbarer und skalierbarer Domain Name System (DNS) -Webservice.

  • AWSSystems Manager unterstützt Sie bei der Verwaltung Ihrer Anwendungen und Infrastruktur, die in der AWS Cloud ausgeführt werden. Es vereinfacht das Anwendungs- und Ressourcenmanagement, verkürzt die Zeit für die Erkennung und Lösung betrieblicher Probleme und hilft Ihnen, Ihre AWS Ressourcen sicher und in großem Umfang zu verwalten.

  • AWSTransit Gateway ist ein zentraler Knotenpunkt, der lokale Netzwerke verbindetVPCs.

  • Amazon Virtual Private Cloud (AmazonVPC) hilft Ihnen dabei, AWS Ressourcen in einem von Ihnen definierten virtuellen Netzwerk bereitzustellen. Dieses virtuelle Netzwerk ähnelt einem herkömmlichen Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben würden, und bietet die Vorteile der Nutzung der skalierbaren Infrastruktur vonAWS.

Andere Tools und Dienste

  • nslookup ist ein Befehlszeilentool zum Abfragen von Datensätzen. DNS In diesem Muster verwenden Sie dieses Tool, um die Lösung zu testen.

Code-Repository

Der Code für dieses Muster ist im vpc-endpoint-sharingRepository verfügbar. GitHub Dieses Muster bietet zwei AWS CloudFormation Vorlagen:

  • Eine Vorlage für die Bereitstellung der folgenden Ressourcen im Hub-Konto:

    • rSecurityGroupEndpoints— Die Sicherheitsgruppe, die den Zugriff auf den VPC Endpunkt steuert.

    • rSecurityGroupResolvers— Die Sicherheitsgruppe, die den Zugriff auf den Route 53 Resolver steuert.

    • rKMSEndpoint, rSSMMessagesEndpointrSSMEndpoint, und rEC2MessagesEndpoint — Beispiel für VPC Schnittstellenendpunkte im Hub-Konto. Passen Sie diese Endpunkte an Ihren Anwendungsfall an.

    • rInboundResolver— Ein Route 53 53-Resolver, der DNS Anfragen an den Amazon DNS Resolver Hub löst.

    • rOutboundResolver— Ein ausgehender Route 53 53-Resolver, der Anfragen an den eingehenden Resolver weiterleitet.

    • rAWSApiResolverRule— Die Route 53 Resolver-Weiterleitungsregel, die für alle Spoke VPCs gilt.

    • rRamShareAWSResolverRule— Der AWS RAM Share, der es dem Spoke ermöglicht, die rAWSApiResolverRule Weiterleitungsregel VPCs zu verwenden.

    • * rVPC — Der HubVPC, der zur Modellierung der gemeinsamen Dienste verwendet wird.

    • * rSubnet1 — Ein privates Subnetz, das zur Unterbringung der Hub-Ressourcen verwendet wird.

    • * rRouteTable1 — Die Routentabelle für den HubVPC.

    • * rRouteTableAssociation1 — Für die rRouteTable1 Routentabelle im Hub VPC die Zuordnung für das private Subnetz.

    • * rRouteSpoke — Die Route vom Hub VPC zum SpokeVPC.

    • * rTgw — Das Transit-Gateway, das von allen Spoke gemeinsam genutzt wirdVPCs.

    • * rTgwAttach — Der Anhang, der es dem Hub ermöglicht, den Verkehr VPC an das rTgw Transit-Gateway weiterzuleiten.

    • * rTgwShare — Der AWS RAM Share, der es den Spoke-Konten ermöglicht, das rTgw Transit-Gateway zu nutzen.

  • Eine Vorlage für die Bereitstellung der folgenden Ressourcen in den Spoke-Konten:

    • rAWSApiResolverRuleAssociation— Eine Zuordnung, die es dem Spoke VPC ermöglicht, die gemeinsame Weiterleitungsregel im Hub-Konto zu verwenden.

    • * rVPC — Die StimmeVPC.

    • * rSubnet1, rSubnet2, rSubnet3 — Ein Subnetz für jede Availability Zone, in dem die privaten Spoke-Ressourcen untergebracht werden.

    • * rTgwAttach — Der Anhang, der es dem Spoke ermöglicht, den Verkehr VPC an das rTgw Transit-Gateway weiterzuleiten.

    • * rRouteTable1 — Die Routentabelle für den SpokeVPC.

    • * rRouteEndpoints — Die Route von den Ressourcen im Spoke VPC zum Transit-Gateway.

    • * rRouteTableAssociation1/2/3 — Für die rRouteTable1 Routentabelle im Spoke VPC die Zuordnungen für die privaten Subnetze.

    • * rInstanceRole — Die IAM Rolle, die zum Testen der Lösung verwendet wurde.

    • * rInstancePolicy — Die zum Testen der Lösung verwendete IAM Richtlinie.

    • * rInstanceSg — Die Sicherheitsgruppe, die zum Testen der Lösung verwendet wurde.

    • * rInstanceProfile — Das IAM Instanzprofil, das zum Testen der Lösung verwendet wurde.

    • * rInstance — Eine EC2 Instanz, die für den Zugriff über AWS Systems Manager vorkonfiguriert ist. Verwenden Sie diese Instanz, um die Lösung zu testen.

* Diese Ressourcen unterstützen die Beispielarchitektur und sind möglicherweise nicht erforderlich, wenn dieses Muster in einer vorhandenen landing zone implementiert wird.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Klonen Sie das Code-Repository.

  1. Ändern Sie in einer Befehlszeilenschnittstelle Ihr Arbeitsverzeichnis in das Verzeichnis, in dem Sie die Beispieldateien speichern möchten.

  2. Geben Sie den folgenden Befehl ein:

    git clone https://github.com/aws-samples/vpc-endpoint-sharing.git
Netzwerkadministrator, Cloud-Architekt

Ändern Sie die Vorlagen.

  1. Öffnen Sie im geklonten Repository die Dateien hub.yml und spoke.yml.

  2. Überprüfen Sie die mit diesen Vorlagen erstellten Ressourcen und passen Sie die Vorlagen nach Bedarf an Ihre Umgebung an. Eine vollständige Liste finden Sie im Abschnitt Code-Repository unter Tools. Wenn Ihre Konten bereits über einige dieser Ressourcen verfügen, entfernen Sie sie aus der CloudFormation Vorlage. Weitere Informationen finden Sie unter Arbeiten mit Vorlagen (CloudFormation Dokumentation).

  3. Speichern und schließen Sie die Dateien hub.yml und spoke.yml.

Netzwerkadministrator, Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Stellen Sie die Hub-Ressourcen bereit.

Erstellen Sie mithilfe der hub.yml-Vorlage einen Stack. CloudFormation Wenn Sie dazu aufgefordert werden, geben Sie Werte für die Parameter in der Vorlage ein. Weitere Informationen finden Sie unter Einen Stack erstellen (CloudFormation Dokumentation).

Cloud-Architekt, Netzwerkadministrator

Stellen Sie die Spoke-Ressourcen bereit.

Erstellen Sie mithilfe der Vorlage spoke.yml einen Stack. CloudFormation Wenn Sie dazu aufgefordert werden, geben Sie Werte für die Parameter in der Vorlage an. Weitere Informationen finden Sie unter Einen Stack erstellen (CloudFormation Dokumentation).

Cloud-Architekt, Netzwerkadministrator
AufgabeBeschreibungErforderliche Fähigkeiten

Testen Sie private DNS Anfragen an den AWS Dienst.

  1. Stellen Sie mithilfe von Session Manager, einer Funktion von AWS Systems Manager, eine Connect mit der rInstance EC2 Instanz her. Weitere Informationen finden Sie unter Connect zu Ihrer Linux-Instance mithilfe von Session Manager (EC2Amazon-Dokumentation).

  2. Verwenden Sie dies für einen AWS Dienst, der einen VPC Endpunkt im Hub-Konto hat, nslookup um zu bestätigen, dass die privaten IP-Adressen für den eingehenden Route 53 53-Resolver zurückgegeben werden.

    Im Folgenden finden Sie ein Beispiel für die Verwendungnslookup, um einen Amazon Systems Manager Manager-Endpunkt zu erreichen.

    nslookup ssm.<region>.amazonaws.com
  3. Geben Sie in der AWS Befehlszeilenschnittstelle (AWSCLI) einen Befehl ein, mit dem Sie überprüfen können, ob die Änderungen die Servicefunktionalität nicht beeinträchtigt haben. Eine Liste der Befehle finden Sie unter AWSCLIBefehlsreferenz.

    Der folgende Befehl sollte beispielsweise eine Liste von Amazon Systems Manager Manager-Dokumenten zurückgeben.

    aws ssm list-documents
Netzwerkadministrator

Testen Sie öffentliche DNS Abfragen an einen AWS Service.

  1. Verwenden Sie diese AWS Option für einen Dienst, der keinen VPC Endpunkt im Hub-Konto hat, nslookup um zu bestätigen, dass die öffentlichen IP-Adressen zurückgegeben werden. Im Folgenden finden Sie ein Beispiel für die Verwendungnslookup, um einen Amazon Simple Notification Service (AmazonSNS) -Endpunkt zu erreichen.

    nslookup sns.<region>.amazonaws.com
  2. Geben Sie im AWS CLI Feld einen Befehl ein, mit dessen Hilfe Sie überprüfen können, ob die Änderungen die Servicefunktionalität nicht beeinträchtigt haben. Eine Liste der Befehle finden Sie unter AWSCLIBefehlsreferenz.

    Wenn beispielsweise SNS Amazon-Themen im Hub-Konto vorhanden sind, sollte der folgende Befehl eine Themenliste zurückgeben.

    aws sns list-topics
Netzwerkadministrator

Zugehörige Ressourcen