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.
Verwaltung Ihrer eigenen Amazon VPC-Endpunkte auf Amazon MWAA
Amazon MWAA verwendet Amazon VPC-Endpunkte zur Integration in verschiedene AWS Dienste, die für die Einrichtung einer Apache Airflow-Umgebung erforderlich sind. Die Verwaltung eigener Endpunkte hat zwei Hauptanwendungsfälle:
-
Das bedeutet, dass Sie Apache Airflow-Umgebungen in einer gemeinsam genutzten Amazon VPC erstellen können, wenn Sie eine verwenden, um mehrere Ressourcen zu verwalten und gemeinsam zu nutzen. AWS Organizations
AWS-Konten -
Dadurch können Sie restriktivere Zugriffsrichtlinien verwenden, indem Sie Ihre Berechtigungen auf die spezifischen Ressourcen einschränken, die Ihre Endpunkte verwenden.
Wenn Sie sich dafür entscheiden, Ihre eigenen VPC-Endpunkte zu verwalten, sind Sie dafür verantwortlich, Ihre eigenen Endpunkte für die RDS-Umgebung für die PostgreSQL-Datenbank und für den Umgebungswebserver zu erstellen.
Weitere Informationen darüber, wie Amazon MWAA Apache Airflow in der Cloud bereitstellt, finden Sie im Amazon MWAA-Architekturdiagramm. Architektur
Wichtig
Amazon MWAA validiert die Auswahl des IP-Adresstyps (AddressType) für vom Kunden verwaltete Endpunkte nicht. Stellen Sie daher sicher, dass Sie diese korrekt angeben (gültige Optionen sind IPv4 oder IPv6). AddressType
Erstellen einer Umgebung in einer gemeinsam genutzten Amazon VPC
Wenn Sie mehrere Ressourcen verwalten, AWS-Konten die gemeinsam genutzt AWS Organizations
Wenn Sie den gemeinsamen VPC-Zugriff konfigurieren, teilt sich das Konto, dem die Haupt-Amazon-VPC (Eigentümer) gehört, die beiden von Amazon MWAA benötigten privaten Subnetze mit anderen Konten (Teilnehmern), die derselben Organisation angehören. Teilnehmerkonten, die diese Subnetze gemeinsam nutzen, können Umgebungen in der gemeinsam genutzten Amazon-VPC anzeigen, erstellen, ändern und löschen.
Angenommen, Sie haben ein KontoOwner, das in der Organisation als Root Konto fungiert und Eigentümer der Amazon VPC-Ressourcen ist, und ein TeilnehmerkontoParticipant, ein Mitglied derselben Organisation. Wenn Amazon MWAA in Amazon VPCOwner, mit dem es gemeinsam genutzt wird, eine neue Amazon MWAA Participant erstellt, erstellt Amazon MWAA zuerst die Service-VPC-Ressourcen und wechselt dann in einen PENDING Status von bis zu 72 Stunden.
Nachdem sich der Umgebungsstatus von CREATING auf geändert hat, erstellt ein PrincipalPENDING, der im Namen von handelt, die erforderlichen Endpoints. Owner Zu diesem Zweck listet Amazon MWAA die Datenbank und den Webserver-Endpunkt in der Amazon MWAA-Konsole auf. Sie können auch die GetEnvironment API-Aktion aufrufen, um die Service-Endpunkte abzurufen.
Anmerkung
Wenn es sich bei der Amazon-VPC, die Sie für die gemeinsame Nutzung von Ressourcen verwenden, um eine private Amazon-VPC handelt, müssen Sie dennoch die unter beschriebenen Schritte ausführen. Verwaltung des Zugriffs auf servicespezifische Amazon VPC-Endpunkte auf Amazon MWAA Das Thema behandelt die Einrichtung einer anderen Gruppe von Amazon VPC-Endpunkten im Zusammenhang mit anderen AWS Diensten, die AWS sich in diese Dienste integrieren lassen, wie Amazon ECR, Amazon ECS und Amazon SQS. Diese Dienste sind für den Betrieb und die Verwaltung Ihrer Apache Airflow-Umgebung in der Cloud unerlässlich.
Voraussetzungen
Bevor Sie eine Amazon MWAA-Umgebung in einer gemeinsam genutzten VPC erstellen, benötigen Sie die folgenden Ressourcen:
-
Und AWS-Konto,
Ownerum als das Konto verwendet zu werden, dem die Amazon VPC gehört. -
Eine AWS Organizations
Organisationseinheit, die als Root MyOrganizationerstellt wurde. -
Eine Sekunde AWS-Konto, unter
Participant,MyOrganizationum das Teilnehmerkonto zu bedienen, das die neue Umgebung erstellt.
Darüber hinaus empfehlen wir Ihnen, sich mit den Verantwortlichkeiten und Berechtigungen vertraut zu machen, die Eigentümer und Teilnehmer bei der gemeinsamen Nutzung von Ressourcen in Amazon VPC haben.
Erstellen Sie die Amazon VPC
Erstellen Sie zunächst eine neue Amazon-VPC, die die Inhaber- und Teilnehmerkonten gemeinsam nutzen:
-
Melden Sie sich mit der Konsole an
Ownerund öffnen Sie dann die CloudFormation Konsole. Verwenden Sie die folgende Vorlage, um einen Stapel zu erstellen. Dieser Stack stellt eine Reihe von Netzwerkressourcen bereit, darunter eine Amazon-VPC und die Subnetze, die sich die beiden Konten in diesem Szenario teilen werden.AWSTemplateFormatVersion: "2010-09-09" Description: This template deploys a VPC, with a pair of public and private subnets spread across two Availability Zones. It deploys an internet gateway, with a default route on the public subnets. It deploys a pair of NAT gateways (one in each AZ), and default routes for them in the private subnets. Parameters: EnvironmentName: Description: An environment name that is prefixed to resource names Type: String Default: mwaa- VpcCIDR: Description: Please enter the IP range (CIDR notation) for this VPC Type: String Default: 10.192.0.0/16 PublicSubnet1CIDR: Description: Please enter the IP range (CIDR notation) for the public subnet in the first Availability Zone Type: String Default: 10.192.10.0/24 PublicSubnet2CIDR: Description: Please enter the IP range (CIDR notation) for the public subnet in the second Availability Zone Type: String Default: 10.192.11.0/24 PrivateSubnet1CIDR: Description: Please enter the IP range (CIDR notation) for the private subnet in the first Availability Zone Type: String Default: 10.192.20.0/24 PrivateSubnet2CIDR: Description: Please enter the IP range (CIDR notation) for the private subnet in the second Availability Zone Type: String Default: 10.192.21.0/24 Resources: VPC: Type: 'AWS::EC2::VPC' Properties: CidrBlock: !Ref VpcCIDR EnableDnsSupport: true EnableDnsHostnames: true Tags: - Key: Name Value: !Ref EnvironmentName InternetGateway: Type: 'AWS::EC2::InternetGateway' Properties: Tags: - Key: Name Value: !Ref EnvironmentName InternetGatewayAttachment: Type: 'AWS::EC2::VPCGatewayAttachment' Properties: InternetGatewayId: !Ref InternetGateway VpcId: !Ref VPC PublicSubnet1: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref VPC AvailabilityZone: !Select - 0 - !GetAZs '' CidrBlock: !Ref PublicSubnet1CIDR MapPublicIpOnLaunch: true Tags: - Key: Name Value: !Sub '${EnvironmentName} Public Subnet (AZ1)' PublicSubnet2: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref VPC AvailabilityZone: !Select - 1 - !GetAZs '' CidrBlock: !Ref PublicSubnet2CIDR MapPublicIpOnLaunch: true Tags: - Key: Name Value: !Sub '${EnvironmentName} Public Subnet (AZ2)' PrivateSubnet1: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref VPC AvailabilityZone: !Select - 0 - !GetAZs '' CidrBlock: !Ref PrivateSubnet1CIDR MapPublicIpOnLaunch: false Tags: - Key: Name Value: !Sub '${EnvironmentName} Private Subnet (AZ1)' PrivateSubnet2: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref VPC AvailabilityZone: !Select - 1 - !GetAZs '' CidrBlock: !Ref PrivateSubnet2CIDR MapPublicIpOnLaunch: false Tags: - Key: Name Value: !Sub '${EnvironmentName} Private Subnet (AZ2)' NatGateway1EIP: Type: 'AWS::EC2::EIP' DependsOn: InternetGatewayAttachment Properties: Domain: vpc NatGateway2EIP: Type: 'AWS::EC2::EIP' DependsOn: InternetGatewayAttachment Properties: Domain: vpc NatGateway1: Type: 'AWS::EC2::NatGateway' Properties: AllocationId: !GetAtt NatGateway1EIP.AllocationId SubnetId: !Ref PublicSubnet1 NatGateway2: Type: 'AWS::EC2::NatGateway' Properties: AllocationId: !GetAtt NatGateway2EIP.AllocationId SubnetId: !Ref PublicSubnet2 PublicRouteTable: Type: 'AWS::EC2::RouteTable' Properties: VpcId: !Ref VPC Tags: - Key: Name Value: !Sub '${EnvironmentName} Public Routes' DefaultPublicRoute: Type: 'AWS::EC2::Route' DependsOn: InternetGatewayAttachment Properties: RouteTableId: !Ref PublicRouteTable DestinationCidrBlock: 0.0.0.0/0 GatewayId: !Ref InternetGateway PublicSubnet1RouteTableAssociation: Type: 'AWS::EC2::SubnetRouteTableAssociation' Properties: RouteTableId: !Ref PublicRouteTable SubnetId: !Ref PublicSubnet1 PublicSubnet2RouteTableAssociation: Type: 'AWS::EC2::SubnetRouteTableAssociation' Properties: RouteTableId: !Ref PublicRouteTable SubnetId: !Ref PublicSubnet2 PrivateRouteTable1: Type: 'AWS::EC2::RouteTable' Properties: VpcId: !Ref VPC Tags: - Key: Name Value: !Sub '${EnvironmentName} Private Routes (AZ1)' DefaultPrivateRoute1: Type: 'AWS::EC2::Route' Properties: RouteTableId: !Ref PrivateRouteTable1 DestinationCidrBlock: 0.0.0.0/0 NatGatewayId: !Ref NatGateway1 PrivateSubnet1RouteTableAssociation: Type: 'AWS::EC2::SubnetRouteTableAssociation' Properties: RouteTableId: !Ref PrivateRouteTable1 SubnetId: !Ref PrivateSubnet1 PrivateRouteTable2: Type: 'AWS::EC2::RouteTable' Properties: VpcId: !Ref VPC Tags: - Key: Name Value: !Sub '${EnvironmentName} Private Routes (AZ2)' DefaultPrivateRoute2: Type: 'AWS::EC2::Route' Properties: RouteTableId: !Ref PrivateRouteTable2 DestinationCidrBlock: 0.0.0.0/0 NatGatewayId: !Ref NatGateway2 PrivateSubnet2RouteTableAssociation: Type: 'AWS::EC2::SubnetRouteTableAssociation' Properties: RouteTableId: !Ref PrivateRouteTable2 SubnetId: !Ref PrivateSubnet2 SecurityGroup: Type: 'AWS::EC2::SecurityGroup' Properties: GroupName: mwaa-security-group GroupDescription: Security group with a self-referencing inbound rule. VpcId: !Ref VPC SecurityGroupIngress: Type: 'AWS::EC2::SecurityGroupIngress' Properties: GroupId: !Ref SecurityGroup IpProtocol: '-1' SourceSecurityGroupId: !Ref SecurityGroup Outputs: VPC: Description: A reference to the created VPC Value: !Ref VPC PublicSubnets: Description: A list of the public subnets Value: !Join - ',' - - !Ref PublicSubnet1 - !Ref PublicSubnet2 PrivateSubnets: Description: A list of the private subnets Value: !Join - ',' - - !Ref PrivateSubnet1 - !Ref PrivateSubnet2 PublicSubnet1: Description: A reference to the public subnet in the 1st Availability Zone Value: !Ref PublicSubnet1 PublicSubnet2: Description: A reference to the public subnet in the 2nd Availability Zone Value: !Ref PublicSubnet2 PrivateSubnet1: Description: A reference to the private subnet in the 1st Availability Zone Value: !Ref PrivateSubnet1 PrivateSubnet2: Description: A reference to the private subnet in the 2nd Availability Zone Value: !Ref PrivateSubnet2 SecurityGroupIngress: Description: Security group with self-referencing inbound rule Value: !Ref SecurityGroupIngress -
Nachdem die neuen Amazon VPC-Ressourcen bereitgestellt wurden, navigieren Sie zur AWS Resource Access Manager Konsole und wählen Sie Create Resource Share aus.
-
Wählen Sie die Subnetze, die Sie im ersten Schritt erstellt haben, aus der Liste der verfügbaren Subnetze aus, mit denen Sie Daten teilen können.
Participant
Erstellen der -Umgebung
Führen Sie die folgenden Schritte aus, um eine Amazon MWAA-Umgebung mit vom Kunden verwalteten Amazon VPC-Endpunkten zu erstellen.
-
Melden Sie sich mit der Amazon
ParticipantMWAA-Konsole an und öffnen Sie sie. Schließen Sie Schritt 1 ab: Geben Sie Details an, um einen Amazon S3-Bucket, einen DAG-Ordner und Abhängigkeiten für Ihre neue Umgebung anzugeben. Weitere Informationen finden Sie unter Erste Schritte. -
Wählen Sie auf der Seite Erweiterte Einstellungen konfigurieren unter Netzwerk die Subnetze aus der gemeinsam genutzten Amazon-VPC aus.
-
Wählen Sie unter Endpoint Management in der Dropdownliste CUSTOMER aus.
-
Behalten Sie die Standardeinstellung für die übrigen Optionen auf der Seite bei und wählen Sie dann auf der Seite „Überprüfen und erstellen“ die Option Umgebung erstellen aus.
Die Umgebung beginnt in einem CREATING Zustand und wechselt dann zuPENDING. Wenn die Umgebung bereit istPENDING, notieren Sie sich mithilfe der Konsole den Dienstnamen des Datenbankendpunkts und den Dienstnamen des Webserver-Endpunkts (falls Sie einen privaten Webserver einrichten).
Wenn Sie mit der Amazon MWAA-Konsole eine neue Umgebung erstellen. Amazon MWAA erstellt eine neue Sicherheitsgruppe mit den erforderlichen Regeln für eingehenden und ausgehenden Verkehr. Notieren Sie sich die Sicherheitsgruppen-ID.
Im nächsten Abschnitt Owner werden die Service-Endpunkte und die Sicherheitsgruppen-ID verwendet, um neue Amazon VPC-Endpunkte in der gemeinsam genutzten Amazon VPC zu erstellen.
Erstellen Sie die Amazon VPC-Endpunkte
Führen Sie die folgenden Schritte aus, um die erforderlichen Amazon VPC-Endpunkte für Ihre Umgebung zu erstellen.
-
Melden Sie sich bei AWS-Managementkonsole using
Owner, the open an. https://console.aws.amazon.com/vpc/ -
Wählen Sie im linken Navigationsbereich Sicherheitsgruppen aus und erstellen Sie dann eine neue Sicherheitsgruppe in der gemeinsam genutzten Amazon-VPC, indem Sie die folgenden Regeln für eingehende und ausgehende Nachrichten verwenden:
Typ Protocol (Protokoll) Source type (Quellentyp) Quelle Eingehend
Gesamter Datenverkehr Alle Alle Ihre Umgebungs-Sicherheitsgruppe
Ausgehend
Gesamter Datenverkehr Alle Alle 0.0.0.0/0Warnung
Das
OwnerKonto muss eine Sicherheitsgruppe imOwnerKonto einrichten, um den Datenverkehr von der neuen Umgebung zur gemeinsam genutzten Amazon VPC zuzulassen. Sie können dies tun, indem Sie eine neue Sicherheitsgruppe erstellen oder eine vorhandene bearbeiten.Owner -
Wählen Sie Endpunkte und dann Endpunkt erstellen aus. Wählen Sie unter Endpunkteinstellungen die Option Endpunktdienste aus, die NLBs und GWLBs verwenden. Geben Sie im Feld Dienstname den Namen des Datenbank-Endpunkts ein, den Sie sich in der Amazon MWAA-Konsole notiert haben, und wählen Sie dann Verify service aus. Wählen Sie die gemeinsam genutzte Amazon-VPC aus, wählen Sie die Subnetze aus, die Sie für die Umgebung verwendet haben, und wählen Sie die Sicherheitsgruppe aus, die Sie im vorherigen Schritt erstellt haben. Wählen Sie Endpunkt erstellen aus. Wenn Ihre Umgebung einen privaten Webserver verwendet, wiederholen Sie diese Schritte mit dem Servicenamen des Webserver-Endpunkts.
Anmerkung
Wenn Sie VPC-Endpunkte mithilfe von Infrastruktur als Code erstellen, legen Sie den Endpunkttyp auf explizit fest. Interface Der Standard-Endpunkttyp AWS CloudFormation sowohl in Terraform als auch in Terraform istGateway, was nicht mit Amazon MWAA-Endpunktdiensten kompatibel ist.
Im Erfolgsfall ändert sich die Umgebung von PENDING zurück zuCREATING, dann endlich zu. AVAILABLE Wenn dies der Fall istAVAILABLE, können Sie sich bei der Apache Airflow-Konsole anmelden.
Gemeinsame Amazon VPC-Fehlerbehebung
Verwenden Sie die folgende Referenz, um Probleme zu lösen, die beim Erstellen von Umgebungen in einer gemeinsam genutzten Amazon VPC auftreten.
- Die Umgebung befindet sich im Status „
CREATE_FAILEDNachPENDING“ -
-
Stellen Sie sicher,
Ownerdass die Subnetze gemeinsam mit unsParticipantverwendet werden AWS Resource Access Manager. -
Stellen Sie sicher, dass die Amazon VPC-Endpunkte für die Datenbank und den Webserver in denselben Subnetzen erstellt wurden, die der Umgebung zugeordnet sind.
-
Stellen Sie sicher, dass die mit Ihren Endpunkten verwendete Sicherheitsgruppe den Datenverkehr der für die Umgebung verwendeten Sicherheitsgruppen zulässt. Das
OwnerKonto erstellt Regeln, die auf die Sicherheitsgruppe verweisenParticipantals:.123456789012/security-group-idTyp Protocol (Protokoll) Source type (Quellentyp) Quelle Gesamter Datenverkehr Alle Alle 123456789012/sg-0909e8e81919Weitere Informationen finden Sie unter Verantwortlichkeiten und Berechtigungen für Eigentümer und Teilnehmer
-
- Die Umgebung bleibt im
PENDINGStatus hängen -
Überprüfen Sie jeden VPC-Endpunktstatus, um sicherzustellen, dass dies der Fall ist
Available. Wenn Sie eine Umgebung mit einem privaten Webserver konfigurieren, müssen Sie auch einen Endpunkt für den Webserver erstellen. Wenn die Umgebung feststeckt, kann dies darauf hindeutenPENDING, dass der private Webserver-Endpunkt fehlt. - Fehler erhalten
The Vpc Endpoint Service 'vpce-service-name' does not exist -
Wenn Sie auf den folgenden Fehler hinweisen, überprüfen Sie, ob das Konto, das die Endpoints erstellt, dem
OwnerKonto gehört, dem die gemeinsam genutzte VPC gehört:ClientError: An error occurred (InvalidServiceName) when calling the CreateVpcEndpoint operation: The Vpc Endpoint Service '
vpce-service-name' does not exist