Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola VPC titik akhir Amazon Anda sendiri di Amazon MWAA
Amazon MWAA menggunakan VPC endpoint Amazon 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 Amazon bersama VPC 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 VPC titik akhir Anda sendiri, Anda bertanggung jawab untuk membuat titik akhir Anda sendiri untuk lingkungan RDS untuk SQL database Postgre, dan untuk server web lingkungan.
Untuk informasi selengkapnya tentang cara Amazon MWAA menyebarkan Apache Airflow di cloud, lihat diagram arsitektur Amazon MWAA.
Menciptakan lingkungan di Amazon bersama VPC
Jika Anda menggunakan AWS Organizations
Saat Anda mengonfigurasi VPC akses bersama, akun yang memiliki Amazon VPC (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 Amazon VPC bersama.
Asumsikan Anda memiliki akunOwner
, yang bertindak sebagai Root
akun dalam organisasi dan memiliki VPC sumber daya Amazon, dan akun pesertaParticipant
, anggota organisasi yang sama. Saat Participant
membuat Amazon baru MWAA di Amazon yang VPC dibagikanOwner
, Amazon pertama-tama MWAA akan membuat VPC sumber daya layanan, lalu memasuki PENDING
status hingga 72 jam.
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 titik akhir database dan server web di MWAA konsol Amazon. Anda juga dapat memanggil GetEnvironment
APItindakan untuk mendapatkan titik akhir layanan.
catatan
Jika Amazon yang VPC Anda gunakan untuk berbagi sumber daya adalah Amazon pribadiVPC, Anda masih harus menyelesaikan langkah-langkah yang dijelaskan diMengelola akses ke titik akhir VPC Amazon khusus layanan di Amazon MWAA. Topiknya mencakup pengaturan serangkaian VPC titik akhir Amazon yang berbeda terkait dengan AWS layanan lain yang AWS terintegrasi, seperti Amazon, ECR AmazonECS, dan Amazon. SQS Layanan ini sangat penting dalam mengoperasikan, dan mengelola, lingkungan Apache Airflow Anda di cloud.
Prasyarat
Sebelum Anda membuat MWAA lingkungan Amazon di sharedVPC, Anda memerlukan sumber daya berikut:
-
AWS Akun,
Owner
untuk digunakan sebagai akun yang memiliki AmazonVPC. -
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 AmazonVPC.
Buat Amazon VPC
Pertama, buat Amazon baru VPC 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 AmazonVPC, 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 VPC sumber daya 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 MWAA lingkungan Amazon dengan titik akhir Amazon VPC yang dikelola pelanggan.
-
Masuk menggunakan
Participant
, dan buka MWAA konsol Amazon. Selesaikan Langkah satu: Tentukan detail untuk menentukan bucket Amazon S3, DAG folder, dan dependensi untuk lingkungan baru Anda. Untuk informasi selengkapnya, lihat memulai. -
Pada halaman Konfigurasi pengaturan lanjutan, di bawah Jaringan, pilih subnet dari Amazon VPC bersama.
-
Di bawah manajemen Endpoint pilih CUSTOMERdari 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 MWAA konsol Amazon. 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 VPC titik akhir Amazon baru di Amazon bersama. VPC
Buat titik VPC akhir Amazon
Selesaikan langkah-langkah berikut untuk membuat VPC titik akhir 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 Amazon bersama VPC 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 Amazon bersamaVPC. 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 Amazon bersamaVPC, 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.
VPCPemecahan Masalah Amazon Bersama
Gunakan referensi berikut untuk menyelesaikan masalah yang Anda temui saat membuat lingkungan di Amazon bersamaVPC.
- Lingkungan
CREATE_FAILED
setelahPENDING
status -
-
Verifikasi
Owner
bahwa berbagi subnet denganParticipant
menggunakan AWS Resource Access Manager. -
Verifikasi bahwa VPC titik akhir 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 VPC titik akhir 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 yang dibagikan: VPCClientError: An error occurred (InvalidServiceName) when calling the CreateVpcEndpoint operation: The Vpc Endpoint Service '
vpce-service-name
' does not exist