Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon MWAA menggunakan titik akhir Amazon VPC untuk berintegrasi dengan berbagai AWS layanan yang diperlukan untuk menyiapkan lingkungan Apache Airflow. Mengelola titik akhir Anda sendiri memiliki dua kasus penggunaan utama:
-
Ini berarti Anda dapat membuat lingkungan Apache Airflow di VPC Amazon bersama saat Anda menggunakan file AWS Organizations
untuk mengelola beberapa AWS akun dan berbagi sumber daya. -
Ini memungkinkan Anda menggunakan kebijakan akses yang lebih ketat dengan mempersempit izin Anda ke sumber daya tertentu yang menggunakan titik akhir Anda.
Jika Anda memilih untuk mengelola endpoint VPC Anda sendiri, Anda bertanggung jawab untuk membuat endpoint Anda sendiri untuk lingkungan RDS untuk database PostgreSQL, dan untuk server web lingkungan.
Menciptakan lingkungan di VPC Amazon bersama
Jika Anda menggunakannya AWS Organizations
Saat Anda mengonfigurasi akses VPC bersama, akun yang memiliki VPC Amazon (pemilik) utama membagikan dua subnet pribadi yang diperlukan oleh Amazon MWAA dengan akun lain (peserta) yang termasuk dalam organisasi yang sama. Akun peserta yang berbagi subnet tersebut dapat melihat, membuat, memodifikasi, dan menghapus lingkungan di VPC Amazon bersama.
Asumsikan Anda memiliki akunOwner
, yang bertindak sebagai Root
akun dalam organisasi dan memiliki sumber daya Amazon VPC, dan akun pesertaParticipant
, anggota organisasi yang sama. Saat Participant
membuat MWAA Amazon baru di Amazon VPC yang dibagikannya, Owner
Amazon MWAA pertama-tama akan membuat sumber daya layanan VPC, lalu memasuki status hingga 72 jam. PENDING
Setelah status lingkungan berubah dari CREATING
kePENDING
, kepala sekolah yang bertindak atas nama Owner
menciptakan titik akhir yang diperlukan. Untuk melakukan ini, Amazon MWAA mencantumkan database dan titik akhir server web di konsol Amazon MWAA. Anda juga dapat memanggil tindakan GetEnvironment
API untuk mendapatkan titik akhir layanan.
catatan
Jika VPC Amazon yang Anda gunakan untuk berbagi sumber daya adalah VPC Amazon pribadi, Anda masih harus menyelesaikan langkah-langkah yang dijelaskan di. Mengelola akses ke titik akhir VPC Amazon khusus layanan di Amazon MWAA Topiknya mencakup pengaturan serangkaian titik akhir VPC Amazon yang berbeda terkait dengan AWS layanan lain yang AWS terintegrasi, seperti Amazon ECR, Amazon ECS, dan Amazon SQS. Layanan ini sangat penting dalam mengoperasikan, dan mengelola, lingkungan Apache Airflow Anda di cloud.
Prasyarat
Sebelum membuat lingkungan Amazon MWAA di VPC bersama, Anda memerlukan sumber daya berikut:
-
AWS Akun,
Owner
untuk digunakan sebagai akun yang memiliki VPC Amazon. -
Unit AWS Organizations
organisasi, MyOrganization
dibuat sebagai root. -
AWS Akun kedua,
Participant
, di bawahMyOrganization
untuk melayani akun peserta yang menciptakan lingkungan baru.
Selain itu, kami menyarankan Anda membiasakan diri dengan tanggung jawab dan izin untuk pemilik dan peserta saat berbagi sumber daya di Amazon VPC.
Buat Amazon VPC
Pertama, buat VPC Amazon baru yang akan dibagikan oleh pemilik dan akun peserta:
-
Masuk ke konsol menggunakan
Owner
, lalu, buka AWS CloudFormation konsol. Gunakan template berikut untuk membuat tumpukan. Tumpukan ini menyediakan sejumlah sumber daya jaringan termasuk VPC Amazon, dan subnet yang akan dibagikan kedua akun dalam skenario ini.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
-
Setelah sumber daya VPC Amazon baru disediakan, navigasikan ke AWS Resource Access Manager konsol, lalu pilih Buat berbagi sumber daya.
-
Pilih subnet yang Anda buat pada langkah pertama dari daftar subnet yang tersedia yang dapat Anda bagikan.
Participant
Buat lingkungan
Selesaikan langkah-langkah berikut untuk membuat lingkungan Amazon MWAA dengan titik akhir Amazon VPC yang dikelola pelanggan.
-
Masuk menggunakan
Participant
, dan buka konsol Amazon MWAA. Selesaikan Langkah satu: Tentukan detail untuk menentukan bucket Amazon S3, folder DAG, dan dependensi untuk lingkungan baru Anda. Untuk informasi selengkapnya, lihat memulai. -
Pada halaman Konfigurasi pengaturan lanjutan, di bawah Jaringan, pilih subnet dari VPC Amazon bersama.
-
Di bawah Manajemen titik akhir pilih PELANGGAN dari daftar dropdown.
-
Pertahankan default untuk opsi yang tersisa di halaman, lalu pilih Buat lingkungan di halaman Tinjauan dan buat.
Lingkungan dimulai dalam suatu CREATING
keadaan, kemudian berubah menjadiPENDING
. Saat lingkungannyaPENDING
, tuliskan nama layanan endpoint Database dan nama layanan endpoint server Web (jika Anda menyiapkan server web pribadi) menggunakan konsol.
Saat Anda membuat lingkungan baru menggunakan konsol Amazon MWAA. Amazon MWAA membuat grup keamanan baru dengan aturan masuk dan keluar yang diperlukan. Tuliskan ID grup keamanan.
Di bagian selanjutnya, Owner
akan menggunakan titik akhir layanan dan ID grup keamanan untuk membuat titik akhir VPC Amazon baru di VPC Amazon bersama.
Buat titik akhir Amazon VPC
Selesaikan langkah-langkah berikut untuk membuat titik akhir VPC Amazon yang diperlukan untuk lingkungan Anda.
-
Masuk ke AWS Management Console penggunaan
Owner
, terbuka https://console.aws.amazon.com/vpc/. -
Pilih Grup keamanan dari panel navigasi kiri, lalu buat grup keamanan baru di VPC Amazon bersama menggunakan aturan masuk dan keluar berikut:
Tipe Protokol Jenis sumber Sumber Ke dalam
Semua Lalu lintas Semua Semua Grup keamanan lingkungan Anda
Ke luar
Semua Lalu lintas Semua Semua 0.0.0.0/0
Awas
Owner
Akun harus menyiapkan grup keamanan diOwner
akun untuk memungkinkan lalu lintas dari lingkungan baru ke VPC Amazon bersama. Anda dapat melakukan ini dengan membuat grup keamanan baru diOwner
, atau mengedit yang sudah ada. -
Pilih Endpoint, lalu buat endpoint baru untuk database lingkungan dan server web (jika dalam mode pribadi) menggunakan nama layanan endpoint dari langkah sebelumnya. Pilih VPC Amazon bersama, subnet yang Anda gunakan untuk lingkungan, dan grup keamanan lingkungan.
Jika berhasil, lingkungan akan berubah dari PENDING
belakang keCREATING
, lalu akhirnya menjadiAVAILABLE
. Jika sudahAVAILABLE
, Anda dapat masuk ke konsol Apache Airflow.
Pemecahan Masalah Amazon VPC Bersama
Gunakan referensi berikut untuk menyelesaikan masalah yang Anda temui saat membuat lingkungan di VPC Amazon bersama.
- Lingkungan
CREATE_FAILED
setelahPENDING
status -
-
Verifikasi
Owner
bahwa berbagi subnet denganParticipant
menggunakan AWS Resource Access Manager. -
Verifikasi bahwa titik akhir VPC Amazon untuk database dan server web dibuat dalam subnet yang sama yang terkait dengan lingkungan.
-
Verifikasi bahwa grup keamanan yang digunakan dengan titik akhir Anda memungkinkan lalu lintas dari grup keamanan yang digunakan untuk lingkungan.
Owner
Akun membuat aturan yang mereferensikan grup keamananParticipant
sebagai
:.account-number
/security-group-id
Tipe Protokol Jenis sumber Sumber Semua Lalu lintas Semua Semua 123456789012
/sg-0909e8e81919
Untuk informasi selengkapnya, lihat Tanggung jawab dan izin untuk pemilik dan peserta
-
- Lingkungan terjebak dalam
PENDING
status -
Verifikasi setiap status titik akhir VPC untuk memastikannya.
Available
Jika Anda mengonfigurasi lingkungan dengan server web pribadi, Anda juga harus membuat titik akhir untuk server web. Jika lingkungan macetPENDING
, ini mungkin menunjukkan bahwa titik akhir server web pribadi hilang. The Vpc Endpoint Service '
Kesalahan yang diterimavpce-service-name
' does not exist-
Jika Anda melihat kesalahan berikut, verifikasi bahwa akun membuat titik akhir di
Owner
akun yang memiliki VPC bersama:ClientError: An error occurred (InvalidServiceName) when calling the CreateVpcEndpoint operation: The Vpc Endpoint Service '
vpce-service-name
' does not exist