Verwaltung Ihrer eigenen VPC Amazon-Endgeräte bei Amazon MWAA - Amazon Managed Workflows für Apache Airflow

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 VPC Amazon-Endgeräte bei Amazon MWAA

Amazon MWAA verwendet VPC Amazon-Endpunkte zur Integration verschiedener AWS Dienste, die für die Einrichtung einer Apache Airflow-Umgebung erforderlich sind. Die Verwaltung Ihrer eigenen Endgeräte hat zwei Hauptanwendungsfälle:

  1. Das bedeutet, dass Sie Apache Airflow-Umgebungen in einem gemeinsamen Amazon erstellen können, VPC wenn Sie mehrere AWS Konten verwalten und Ressourcen gemeinsam nutzen. AWS Organizations

  2. Damit können Sie restriktivere Zugriffsrichtlinien verwenden, indem Sie Ihre Berechtigungen auf die spezifischen Ressourcen einschränken, die Ihre Endgeräte verwenden.

Wenn Sie sich dafür entscheiden, Ihre eigenen VPC Endgeräte zu verwalten, sind Sie dafür verantwortlich, Ihre eigenen Endpunkte für die Umgebung für die SQL Postgre-Datenbank und RDS für den Umgebungswebserver zu erstellen.

Weitere Informationen darüber, wie Amazon Apache Airflow in der Cloud MWAA einsetzt, finden Sie im MWAAAmazon-Architekturdiagramm.

Schaffung einer Umgebung in einem gemeinsamen Amazon VPC

Wenn Sie mehrere AWS Konten verwalten, die Ressourcen gemeinsam nutzen AWS Organizations, können Sie kundenverwaltete VPC Endpunkte mit Amazon verwenden, MWAA um Umgebungsressourcen mit einem anderen Konto in Ihrer Organisation gemeinsam zu nutzen.

Wenn Sie den gemeinsamen VPC Zugriff konfigurieren, teilt sich das Konto, dem der VPC Haupteigentümer von Amazon (Eigentümer) gehört, die beiden von Amazon benötigten privaten Subnetze MWAA mit anderen Konten (Teilnehmern), die derselben Organisation angehören. Teilnehmerkonten, die diese Subnetze gemeinsam nutzen, können Umgebungen im gemeinsamen Amazon VPC anzeigen, erstellen, ändern und löschen.

Angenommen, Sie haben ein KontoOwner, das als Root Konto in der Organisation fungiert und die VPC Amazon-Ressourcen besitzt, und ein TeilnehmerkontoParticipant, ein Mitglied derselben Organisation. Wenn ein neues Amazon MWAA in Amazon Participant erstellt wirdOwner, mit dem VPC es gemeinsam genutzt MWAA wird, erstellt Amazon zunächst die VPC Serviceressourcen und wechselt dann in einen PENDINGStatus für bis zu 72 Stunden.

Nachdem sich der Umgebungsstatus von CREATING zu geändert hatPENDING, Owner erstellt ein Principal, der im Namen von handelt, die erforderlichen Endpunkte. Zu diesem Zweck MWAA listet Amazon die Datenbank und den Webserver-Endpunkt in der MWAA Amazon-Konsole auf. Sie können die GetEnvironmentAPIAktion auch aufrufen, um die Service-Endpunkte abzurufen.

Anmerkung

Wenn es sich bei dem Amazon, das VPC Sie zum Teilen von Ressourcen verwendenVPC, um ein privates Amazon handelt, müssen Sie dennoch die unter beschriebenen Schritte ausführenVerwaltung des Zugriffs auf servicespezifische Amazon VPC-Endpunkte auf Amazon MWAA. Das Thema behandelt die Einrichtung einer anderen Gruppe von VPC Amazon-Endpunkten im Zusammenhang mit anderen AWS Diensten, die AWS in AmazonECR, Amazon und Amazon ECS SQS integriert sind. Diese Dienste sind für den Betrieb und die Verwaltung Ihrer Apache Airflow-Umgebung in der Cloud unerlässlich.

Voraussetzungen

Bevor Sie eine MWAA Amazon-Umgebung in einer gemeinsam genutzten Umgebung erstellenVPC, benötigen Sie die folgenden Ressourcen:

  • Ein AWS Konto, Owner das als das Konto verwendet werden soll, dem Amazon gehörtVPC.

  • Eine AWS OrganizationsOrganisationseinheit, die als Stammorganisation MyOrganization erstellt wurde.

  • Ein zweites AWS Konto,Participant, unterMyOrganization, dient dem Teilnehmerkonto, das die neue Umgebung erstellt.

Darüber hinaus empfehlen wir Ihnen, sich mit den Verantwortlichkeiten und Berechtigungen für Eigentümer und Teilnehmer bei der gemeinsamen Nutzung von Ressourcen in Amazon vertraut zu machenVPC.

Erschaffe den Amazon VPC

Erstellen Sie zunächst ein neues AmazonVPC, das die Eigentümer- und Teilnehmerkonten gemeinsam nutzen:

  1. Melden Sie sich bei der Konsole anOwner, indem Sie die AWS CloudFormation Konsole öffnen. Verwenden Sie die folgende Vorlage, um einen Stack zu erstellen. Dieser Stack stellt eine Reihe von Netzwerkressourcen bereitVPC, darunter Amazon 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
  2. Nachdem die neuen VPC Amazon-Ressourcen bereitgestellt wurden, navigieren Sie zur AWS Resource Access Manager Konsole und wählen Sie Create Resource Share aus.

  3. 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

Gehen Sie wie folgt vor, um eine MWAA Amazon-Umgebung mit kundenverwalteten VPC Amazon-Endpunkten zu erstellen.

  1. Melden Sie sich mit Participant der MWAA Amazon-Konsole an und öffnen Sie sie. Schließen Sie Schritt eins ab: Geben Sie Details an, um einen Amazon S3 S3-Bucket, einen DAG Ordner und Abhängigkeiten für Ihre neue Umgebung anzugeben. Weitere Informationen finden Sie unter Erste Schritte.

  2. Wählen Sie auf der Seite Erweiterte Einstellungen konfigurieren unter Netzwerk die Subnetze aus dem gemeinsam genutzten Amazon VPC aus.

  3. Wählen Sie unter Endpunktverwaltung eine Option CUSTOMERaus der Dropdownliste aus.

  4. 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 in Ordnung istPENDING, notieren Sie sich mithilfe der Konsole den Namen des Datenbankendpunkts und den Dienstnamen des Webserver-Endpunkts (wenn Sie einen privaten Webserver einrichten).

Wenn Sie mit der MWAA Amazon-Konsole eine neue Umgebung erstellen. Amazon MWAA erstellt eine neue Sicherheitsgruppe mit den erforderlichen Regeln für eingehenden und ausgehenden Datenverkehr. Notieren Sie sich die Sicherheitsgruppen-ID.

Im nächsten Abschnitt Owner werden die Service-Endpunkte und die Sicherheitsgruppen-ID verwendet, um neue VPC Amazon-Endpunkte im gemeinsamen Amazon zu erstellen. VPC

Erstellen Sie die VPC Amazon-Endpunkte

Gehen Sie wie folgt vor, um die erforderlichen VPC Amazon-Endpoints für Ihre Umgebung zu erstellen.

  1. Melden Sie sich AWS Management Console mit Owner dem Öffnen https://console.aws.amazon.com/vpc/an.

  2. Wählen Sie im linken Navigationsbereich Sicherheitsgruppen aus und erstellen Sie dann eine neue Sicherheitsgruppe im gemeinsamen Amazon VPC mit den folgenden Regeln für eingehende und ausgehende Nachrichten:

    Typ Protokoll Source type (Quellentyp) Quelle

    Eingehend

    Gesamter Datenverkehr Alle Alle

    Ihre Sicherheitsgruppe für Ihre Umgebung

    Ausgehend

    Gesamter Datenverkehr Alle Alle 0.0.0.0/0
    Warnung

    Das Owner Konto muss eine Sicherheitsgruppe im Owner Konto einrichten, um den Datenverkehr von der neuen Umgebung zum gemeinsamen Amazon zu ermöglichenVPC. Sie können dies tun, indem Sie eine neue Sicherheitsgruppe in Owner erstellen oder eine bestehende bearbeiten.

  3. Wählen Sie Endpoints aus und erstellen Sie dann neue Endpoints für die Umgebungsdatenbank und den Webserver (falls im privaten Modus). Verwenden Sie dabei die Namen der Endpunktdienste aus den vorherigen Schritten. Wählen Sie das gemeinsam genutzte AmazonVPC, die Subnetze, die Sie für die Umgebung verwendet haben, und die Sicherheitsgruppe der Umgebung aus.

Im Erfolgsfall ändert sich die Umgebung zunächst von PENDING Zurück zu CREATING und dann schließlich zuAVAILABLE. Wenn dies der Fall istAVAILABLE, können Sie sich bei der Apache Airflow-Konsole anmelden.

Gemeinsame VPC Amazon-Problembehebung

Verwenden Sie die folgende Referenz, um Probleme zu lösen, die beim Erstellen von Umgebungen in einem gemeinsamen Amazon auftretenVPC.

Umgebung im PENDING Status „CREATE_FAILEDDanach“
  • Stellen Sie sicher, Owner dass die Subnetze gemeinsam mit anderen Participant verwendet werden AWS Resource Access Manager.

  • Stellen Sie sicher, dass die VPC Amazon-Endpoints für die Datenbank und den Webserver in denselben Subnetzen erstellt wurden, die der Umgebung zugeordnet sind.

  • Stellen Sie sicher, dass die für Ihre Endgeräte verwendete Sicherheitsgruppe Datenverkehr von den für die Umgebung verwendeten Sicherheitsgruppen zulässt. Das Owner Konto erstellt Regeln, die Participant wie folgt auf die Sicherheitsgruppe verweisenaccount-number/security-group-id:.

    Typ Protokoll Source type (Quellentyp) Quelle
    Gesamter Datenverkehr Alle Alle 123456789012/sg-0909e8e81919

    Weitere Informationen finden Sie unter Zuständigkeiten und Berechtigungen für Eigentümer und Teilnehmer

Die Umgebung ist im PENDING Status stecken geblieben

Überprüfen Sie jeden VPC Endpunktstatus, um sicherzustellen, dass dies der Fall istAvailable. Wenn Sie eine Umgebung mit einem privaten Webserver konfigurieren, müssen Sie auch einen Endpunkt für den Webserver erstellen. Wenn die Umgebung nicht mehr funktioniertPENDING, kann dies darauf hindeuten, dass der private Webserver-Endpunkt fehlt.

The Vpc Endpoint Service 'vpce-service-name' does not existFehler empfangen

Wenn Ihnen der folgende Fehler angezeigt wird, überprüfen Sie, ob das Konto, das die Endpunkte erstellt, auch das Owner Konto besitzt, dem die geteilte VPC Version gehört:

ClientError: An error occurred (InvalidServiceName) when calling the CreateVpcEndpoint operation: 

The Vpc Endpoint Service 'vpce-service-name' does not exist