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:
-
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
-
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
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 PENDING
Status 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 GetEnvironment
APIAktion 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 Organizations
Organisationseinheit, 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:
-
Melden Sie sich bei der Konsole an
Owner
, 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
-
Nachdem die neuen VPC Amazon-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
Gehen Sie wie folgt vor, um eine MWAA Amazon-Umgebung mit kundenverwalteten VPC Amazon-Endpunkten zu erstellen.
-
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. -
Wählen Sie auf der Seite Erweiterte Einstellungen konfigurieren unter Netzwerk die Subnetze aus dem gemeinsam genutzten Amazon VPC aus.
-
Wählen Sie unter Endpunktverwaltung eine Option CUSTOMERaus der Dropdownliste 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 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.
-
Melden Sie sich AWS Management Console mit
Owner
dem Öffnen https://console.aws.amazon.com/vpc/an. -
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 imOwner
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 inOwner
erstellen oder eine bestehende bearbeiten. -
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_FAILED
Danach“ -
-
Stellen Sie sicher,
Owner
dass die Subnetze gemeinsam mit anderenParticipant
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, dieParticipant
wie folgt auf die Sicherheitsgruppe verweisen
:.account-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 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 nicht mehr funktioniertPENDING
, kann dies darauf hindeuten, dass der private Webserver-Endpunkt fehlt. The Vpc Endpoint Service '
Fehler empfangenvpce-service-name
' does not exist-
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