

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tutorial untuk Alur Kerja Terkelola Amazon untuk Apache Airflow
<a name="tutorials"></a>

Panduan ini mencakup step-by-step tutorial untuk menggunakan dan mengonfigurasi Alur Kerja Terkelola Amazon untuk lingkungan Apache Airflow.

**Topics**
+ [Tutorial: Mengkonfigurasi akses jaringan pribadi menggunakan AWS Client VPN](tutorials-private-network-vpn-client.md)
+ [Tutorial: Mengkonfigurasi akses jaringan pribadi menggunakan Linux Bastion Host](tutorials-private-network-bastion.md)
+ [Tutorial: Membatasi akses pengguna Amazon MWAA ke subset DAGs](limit-access-to-dags.md)
+ [Tutorial: Otomatiskan pengelolaan titik akhir lingkungan Anda sendiri di Amazon MWAA](tutorials-customer-managed-endpoints.md)

# Tutorial: Mengkonfigurasi akses jaringan pribadi menggunakan AWS Client VPN
<a name="tutorials-private-network-vpn-client"></a>

Tutorial ini memandu Anda melalui langkah-langkah untuk membuat terowongan VPN dari komputer Anda ke server web Apache Airflow untuk Amazon Managed Workflow untuk lingkungan Apache Airflow Anda. Untuk terhubung ke internet melalui terowongan VPN, Anda harus terlebih dahulu membuat AWS Client VPN titik akhir. Setelah diatur, titik akhir Client VPN bertindak sebagai server VPN yang memungkinkan koneksi aman dari komputer Anda ke sumber daya di VPC Anda. Anda kemudian akan terhubung ke Client VPN dari komputer Anda menggunakan [AWS Client VPN for Desktop](https://aws.amazon.com/vpn/client-vpn-download/).

**Topics**
+ [Jaringan pribadi](#private-network-vpn-onconsole)
+ [Kasus penggunaan](#private-network-vpn-usecases)
+ [Sebelum memulai](#private-network-vpn-prereqs)
+ [Tujuan](#private-network-vpn-objectives)
+ [(Opsional) Langkah satu: Identifikasi VPC, aturan CIDR, dan keamanan VPC Anda](#private-network-vpn-optional)
+ [Langkah kedua: Buat server dan sertifikat klien](#private-network-vpn-certs)
+ [Langkah ketiga: Simpan CloudFormation template secara lokal](#private-network-vpn-template)
+ [Langkah empat: Buat CloudFormation tumpukan Client VPN](#private-network-vpn-create)
+ [Langkah lima: Kaitkan subnet ke Client VPN Anda](#private-network-vpn-associate)
+ [Langkah enam: Tambahkan aturan masuknya otorisasi ke Client VPN Anda](#private-network-vpn-autho)
+ [Langkah tujuh: Unduh file konfigurasi titik akhir Client VPN](#private-network-vpn-download)
+ [Langkah delapan: Connect ke AWS Client VPN](#private-network-vpn-connect)
+ [Apa selanjutnya?](#create-vpc-vpn-next-up)

## Jaringan pribadi
<a name="private-network-vpn-onconsole"></a>

Tutorial ini mengasumsikan Anda telah memilih mode akses **jaringan Pribadi** untuk server web Apache Airflow Anda.

![\[Gambar ini menampilkan arsitektur untuk lingkungan Amazon MWAA dengan server web pribadi.\]](http://docs.aws.amazon.com/id_id/mwaa/latest/userguide/images/mwaa-private-web-server.png)


[Mode akses jaringan pribadi membatasi akses ke UI Apache Airflow kepada pengguna *dalam VPC Amazon* Anda yang telah diberikan akses ke kebijakan IAM untuk lingkungan Anda.](access-policies.md)

Saat Anda membuat lingkungan dengan akses server web pribadi, Anda harus mengemas semua dependensi Anda dalam arsip roda Python (`.whl`), lalu mereferensikan di file Anda. `.whl` `requirements.txt` Untuk petunjuk tentang pengemasan dan pemasangan dependensi Anda menggunakan roda, lihat [Mengelola dependensi menggunakan](best-practices-dependencies.md#best-practices-dependencies-python-wheels) roda Python.

Gambar berikut menggambarkan di mana menemukan opsi **Jaringan pribadi** di konsol Amazon MWAA.

![\[Gambar ini menggambarkan di mana menemukan opsi Jaringan pribadi di konsol Amazon MWAA.\]](http://docs.aws.amazon.com/id_id/mwaa/latest/userguide/images/mwaa-console-private-network.png)


## Kasus penggunaan
<a name="private-network-vpn-usecases"></a>

Anda dapat menggunakan tutorial ini sebelum atau setelah Anda membuat lingkungan Amazon MWAA. Anda harus menggunakan VPC Amazon, grup keamanan VPC, dan subnet pribadi yang sama dengan lingkungan Anda. **Jika Anda menggunakan tutorial ini setelah Anda membuat lingkungan Amazon MWAA, setelah Anda menyelesaikan langkah-langkahnya, Anda dapat kembali ke konsol Amazon MWAA dan mengubah mode akses server web Apache Airflow Anda ke Jaringan pribadi.**

## Sebelum memulai
<a name="private-network-vpn-prereqs"></a>

1. Periksa izin pengguna. Pastikan akun Anda di AWS Identity and Access Management (IAM) memiliki izin yang cukup untuk membuat dan mengelola sumber daya VPC.

1. Gunakan VPC Amazon MWAA Anda. Tutorial ini mengasumsikan bahwa Anda mengaitkan Client VPN ke VPC yang ada. VPC Amazon harus sama Wilayah AWS dengan lingkungan Amazon MWAA dan memiliki dua subnet pribadi. Jika Anda belum membuat VPC Amazon, gunakan CloudFormation template di. [Opsi tiga: Membuat jaringan VPC Amazon *tanpa* akses internet](vpc-create.md#vpc-create-template-private-only)

## Tujuan
<a name="private-network-vpn-objectives"></a>

Dalam tutorial ini, Anda akan melakukan hal berikut:

1. Buat AWS Client VPN titik akhir menggunakan CloudFormation templat untuk VPC Amazon yang ada.

1. Hasilkan sertifikat dan kunci server dan klien, lalu unggah sertifikat server dan kunci ke AWS Certificate Manager Wilayah AWS sama dengan lingkungan Amazon MWAA.

1. Unduh dan modifikasi file konfigurasi titik akhir Client VPN untuk Client VPN Anda, dan gunakan file tersebut untuk membuat profil VPN untuk terhubung menggunakan Client VPN for Desktop.

## (Opsional) Langkah satu: Identifikasi VPC, aturan CIDR, dan keamanan VPC Anda
<a name="private-network-vpn-optional"></a>

Bagian berikut menjelaskan cara menemukan IDs VPC Amazon Anda, grup keamanan VPC, dan cara untuk mengidentifikasi aturan CIDR yang Anda perlukan untuk membuat Client VPN Anda di langkah selanjutnya.

### Identifikasi aturan CIDR Anda
<a name="private-network-vpn-cidr"></a>

Bagian berikut menjelaskan cara mengidentifikasi aturan CIDR, yang Anda perlukan untuk membuat Client VPN Anda.

**Untuk mengidentifikasi CIDR untuk Client VPN Anda**

1. Buka [ VPCs halaman Amazon Anda](https://console.aws.amazon.com/vpc/home#/vpcs:) di konsol VPC Amazon.

1. Gunakan pemilih wilayah di bilah navigasi untuk memilih yang Wilayah AWS sama dengan lingkungan Amazon MWAA.

1. Pilih Amazon VPC Anda.

1. Dengan asumsi CIDRs untuk subnet pribadi Anda adalah:
   + Subnet Pribadi 1:10.192.10.0 `/24`
   + Subnet Pribadi 2:10.192.11.0 `/24`

   Jika CIDR untuk VPC Amazon Anda adalah `/16` 10.192.0.0, maka CIDR Klien yang akan Anda tentukan untuk ** IPv4 Client VPN** Anda adalah 10.192.0.0. `/22`

1. Simpan nilai CIDR ini, dan nilai ID VPC Anda untuk langkah selanjutnya.

### Identifikasi VPC dan grup keamanan Anda
<a name="private-network-vpn-sec"></a>

Bagian berikut menjelaskan cara menemukan ID VPC Amazon dan grup keamanan Anda, yang Anda perlukan untuk membuat Client VPN Anda.

**catatan**  
Anda mungkin menggunakan lebih dari satu grup keamanan. Anda harus menentukan semua grup keamanan VPC Anda di langkah selanjutnya.

**Untuk mengidentifikasi kelompok-kelompok keamanan**

1. Buka [halaman Grup Keamanan](https://console.aws.amazon.com/vpc/home#/securityGroups:) di konsol VPC Amazon.

1. Gunakan pemilih wilayah di bilah navigasi untuk memilih. Wilayah AWS

1. Cari VPC Amazon di **ID VPC**, dan identifikasi grup keamanan yang terkait dengan VPC.

1. Simpan ID grup keamanan dan VPC Anda untuk langkah selanjutnya.

## Langkah kedua: Buat server dan sertifikat klien
<a name="private-network-vpn-certs"></a>

Titik akhir Client VPN mendukung 1024-bit dan 2048-bit RSA kunci ukuran saja. Bagian berikut menjelaskan cara menggunakan OpenVPN easy-rsa untuk menghasilkan sertifikat dan kunci server dan klien, dan kemudian mengunggah sertifikat ke ACM menggunakan (). AWS Command Line Interface AWS CLI

**Untuk membuat sertifikat klien**

1. Ikuti langkah-langkah cepat ini untuk membuat dan mengunggah sertifikat ke ACM melalui [otentikasi dan otorisasi Klien AWS CLI di: Otentikasi](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html#mutual) bersama.

1. Dalam langkah-langkah ini, Anda **harus** menentukan Wilayah AWS sama dengan lingkungan Amazon MWAA dalam AWS CLI perintah saat mengunggah server dan sertifikat klien Anda. Berikut beberapa contoh cara menentukan wilayah dalam perintah ini:

   1.   
**Example wilayah untuk sertifikat server**  

      ```
      aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt --region us-west-2
      ```

   1.   
**Example wilayah untuk sertifikat klien**  

      ```
      aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt --region us-west-2
      ```

   1. Setelah langkah-langkah ini, simpan nilai yang dikembalikan dalam AWS CLI respons untuk sertifikat server dan sertifikat klien ARNs. Anda akan menentukan ini ARNs di CloudFormation template Anda untuk membuat Client VPN.

1. Dalam langkah-langkah ini, sertifikat klien dan kunci pribadi disimpan ke komputer Anda. Berikut adalah contoh di mana menemukan kredensional ini:

   1.   
**Example di macOS**  

      Di macOS, konten disimpan di. `/Users/your-user/custom_folder` Jika Anda mencantumkan semua (`ls -a`) isi direktori ini, Anda mendapatkan sesuatu yang mirip dengan berikut ini:

      ```
      .
      ..
      ca.crt
      client1.domain.tld.crt
      client1.domain.tld.key
      server.crt
      server.key
      ```

   1. Setelah langkah-langkah ini, simpan konten atau catat lokasi sertifikat klien`client1.domain.tld.crt`, dan kunci pribadi masuk`client1.domain.tld.key`. Anda akan menambahkan nilai-nilai ini ke file konfigurasi untuk Client VPN Anda.

## Langkah ketiga: Simpan CloudFormation template secara lokal
<a name="private-network-vpn-template"></a>

Bagian berikut berisi CloudFormation template untuk membuat Client VPN. Anda harus menentukan VPC Amazon, grup keamanan VPC, dan subnet pribadi yang sama dengan lingkungan Amazon MWAA Anda.
+ Salin isi template berikut dan simpan secara lokal sebagai`mwaa_vpn_client.yaml`. Anda juga dapat [mengunduh template](./samples/mwaa_vpn_client.zip).

  Gantikan nilai-nilai berikut:
  + **YOUR\$1CLIENT\$1ROOT\$1CERTIFICATE\$1ARN**— ARN untuk sertifikat **client1.domain.tld** Anda di. `ClientRootCertificateChainArn`
  + **YOUR\$1SERVER\$1CERTIFICATE\$1ARN**— ARN untuk sertifikat **server** Anda di. `ServerCertificateArn`
  + Aturan IPv4 CIDR Klien di`ClientCidrBlock`. Aturan CIDR `10.192.0.0/22` disediakan.
  + ID VPC Amazon Anda masuk. `VpcId` VPC disediakan. `vpc-010101010101`
  + Grup IDs keamanan VPC Anda masuk. `SecurityGroupIds` Kelompok keamanan `sg-0101010101` disediakan.

  ```
  AWSTemplateFormatVersion: 2010-09-09
  Description: This template deploys a VPN Client Endpoint.
  Resources:
    ClientVpnEndpoint:
      Type: 'AWS::EC2::ClientVpnEndpoint'
      Properties:
        AuthenticationOptions:
          - Type: "certificate-authentication"
            MutualAuthentication:
              ClientRootCertificateChainArn: "YOUR_CLIENT_ROOT_CERTIFICATE_ARN"
        ClientCidrBlock: 10.192.0.0/22
        ClientConnectOptions:
          Enabled: false
        ConnectionLogOptions:
          Enabled: false
        Description: "MWAA Client VPN"
        DnsServers: []
        SecurityGroupIds:
          - sg-0101010101
        SelfServicePortal: ''
        ServerCertificateArn: "YOUR_SERVER_CERTIFICATE_ARN"
        SplitTunnel: true
        TagSpecifications:
          - ResourceType: "client-vpn-endpoint"
            Tags:
            - Key: Name
              Value: MWAA-Client-VPN
        TransportProtocol: udp
        VpcId: vpc-010101010101
        VpnPort: 443
  ```

**catatan**  
Jika Anda menggunakan lebih dari satu grup keamanan untuk lingkungan Anda, Anda dapat menentukan beberapa grup keamanan dalam format berikut:  

```
SecurityGroupIds:
 - sg-0112233445566778b
 - sg-0223344556677889f
```

## Langkah empat: Buat CloudFormation tumpukan Client VPN
<a name="private-network-vpn-create"></a>

**Untuk membuat AWS Client VPN**

1. Buka [konsol AWS CloudFormation](https://console.aws.amazon.com/cloudformation/home#).

1. Pilih **Template siap**, **Upload file template**.

1. Pilih **Pilih file**, dan pilih `mwaa_vpn_client.yaml` file Anda.

1. Pilih **Berikutnya**, **Berikutnya**.

1. Pilih pengakuan, lalu pilih **Buat** tumpukan.

## Langkah lima: Kaitkan subnet ke Client VPN Anda
<a name="private-network-vpn-associate"></a>

**Untuk mengaitkan subnet pribadi ke AWS Client VPN**

1. Buka konsol [Amazon VPC](https://console.aws.amazon.com/vpc/home#).

1. Pilih halaman **Endpoint Client VPN**.

1. Pilih Client VPN Anda, lalu pilih tab **Asosiasi**, **Associate**.

1. Pilih yang berikut dalam daftar dropdown:
   + **VPC Amazon Anda di VPC.**
   + Salah satu subnet pribadi Anda di **Pilih subnet untuk diasosiasikan**.

1. Pilih **Kaitkan**.

**catatan**  
Dibutuhkan beberapa menit untuk VPC dan subnet untuk dikaitkan dengan Client VPN.

## Langkah enam: Tambahkan aturan masuknya otorisasi ke Client VPN Anda
<a name="private-network-vpn-autho"></a>

Anda perlu menambahkan aturan masuknya otorisasi menggunakan aturan CIDR untuk VPC Anda ke Client VPN Anda. *Jika Anda ingin mengotorisasi pengguna atau grup tertentu dari Grup Direktori Aktif atau Penyedia Identitas berbasis SAML (IDP), lihat aturan [Otorisasi dalam](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-rules.html) panduan Client VPN.*

**Untuk menambahkan CIDR ke AWS Client VPN**

1. Buka konsol [Amazon VPC](https://console.aws.amazon.com/vpc/home#).

1. Pilih halaman **Endpoint Client VPN**.

1. Pilih Client VPN Anda, lalu pilih tab **Otorisasi**, **Otorisasi** Ingress.

1. Tentukan hal berikut:
   + Aturan CIDR Amazon VPC Anda di **jaringan Tujuan untuk mengaktifkan**. Misalnya:

     ```
     10.192.0.0/16
     ```
   + Pilih **Izinkan akses ke semua pengguna** di **Akses hibah ke**.
   + Masukkan nama deskriptif di **Deskripsi**.

1. Pilih **Tambahkan aturan Otorisasi**.

**catatan**  
Bergantung pada komponen jaringan untuk VPC Amazon Anda, Anda mungkin juga perlu aturan masuknya otorisasi ini ke daftar kontrol akses jaringan (NACL) Anda.

## Langkah tujuh: Unduh file konfigurasi titik akhir Client VPN
<a name="private-network-vpn-download"></a>

**Untuk mengunduh file konfigurasi**

1. Ikuti langkah-langkah cepat ini untuk mengunduh file konfigurasi Client VPN di [Unduh file konfigurasi titik akhir Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-getting-started.html#cvpn-getting-started-config).

1. Dalam langkah-langkah ini, Anda diminta untuk menambahkan string ke nama DNS endpoint Client VPN Anda. Inilah contohnya:

   1.   
**Example nama DNS titik akhir**  

     Jika nama DNS titik akhir Client VPN Anda adalah:

     ```
     remote cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443
     ```

     Anda dapat menambahkan string untuk mengidentifikasi titik akhir Client VPN Anda seperti ini:

     ```
     remote mwaavpn.cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443
     ```

1. Dalam langkah-langkah ini, Anda diminta untuk menambahkan konten sertifikat klien antara kumpulan `<cert></cert>` tag baru dan isi kunci pribadi di antara kumpulan `<key></key>` tag baru. Inilah contohnya:

   1. Buka prompt perintah dan ubah direktori ke lokasi sertifikat klien dan kunci pribadi Anda.

   1.   
**Example macOS client1.domain.tld.crt**  

      Untuk menampilkan konten `client1.domain.tld.crt` file di macOS, Anda dapat menggunakan. `cat client1.domain.tld.crt`

      Salin nilai dari terminal dan tempel `downloaded-client-config.ovpn` seperti ini:

      ```
      ZZZ1111dddaBBB
      -----END CERTIFICATE-----
      </ca>
      <cert>
      -----BEGIN CERTIFICATE-----
      YOUR client1.domain.tld.crt
      -----END CERTIFICATE-----                
      </cert>
      ```

   1.   
**Example macOS client1.domain.tld.key**  

      Untuk menampilkan isi`client1.domain.tld.key`, Anda dapat menggunakan`cat client1.domain.tld.key`.

      Salin nilai dari terminal dan tempel `downloaded-client-config.ovpn` seperti ini:

      ```
      ZZZ1111dddaBBB
      -----END CERTIFICATE-----
      </ca>
      <cert>
      -----BEGIN CERTIFICATE-----
      YOUR client1.domain.tld.crt
      -----END CERTIFICATE-----                
      </cert>
      <key>
      -----BEGIN CERTIFICATE-----
      YOUR client1.domain.tld.key
      -----END CERTIFICATE-----                
      </key>
      ```

## Langkah delapan: Connect ke AWS Client VPN
<a name="private-network-vpn-connect"></a>

Klien untuk AWS Client VPN disediakan secara gratis. Anda dapat menghubungkan komputer Anda secara langsung AWS Client VPN untuk pengalaman end-to-end VPN.

**Untuk terhubung ke Client VPN**

1. Unduh dan instal [AWS Client VPN untuk Desktop](https://aws.amazon.com/vpn/client-vpn-download/).

1. Buka AWS Client VPN.

1. Pilih **File**, **Profil terkelola** di menu klien VPN.

1. Pilih **Tambahkan profil**, lalu pilih`downloaded-client-config.ovpn`.

1. Masukkan nama deskriptif di **Nama Tampilan**.

1. Pilih **Tambahkan profil**, **Selesai**.

1. Pilih **Hubungkan**.

Setelah terhubung ke Client VPN, Anda harus memutuskan sambungan dari yang lain VPNs untuk mengakses sumber daya apa pun di VPC Amazon Anda.

**catatan**  
Anda mungkin harus keluar dari klien, dan mulai lagi sebelum Anda dapat terhubung.

## Apa selanjutnya?
<a name="create-vpc-vpn-next-up"></a>
+ Pelajari cara membuat lingkungan Amazon MWAA di. [Memulai dengan Amazon Managed Workflows for Apache Airflow](get-started.md) Anda harus membuat lingkungan yang Wilayah AWS sama dengan Client VPN, dan menggunakan VPC, subnet pribadi, dan grup keamanan yang sama dengan Client VPN.

# Tutorial: Mengkonfigurasi akses jaringan pribadi menggunakan Linux Bastion Host
<a name="tutorials-private-network-bastion"></a>

Tutorial ini memandu Anda melalui langkah-langkah untuk membuat terowongan SSH dari komputer Anda ke server web Apache Airflow untuk Amazon Managed Workflow untuk lingkungan Apache Airflow Anda. Ini mengasumsikan Anda telah membuat lingkungan Amazon MWAA. Setelah diatur, Linux Bastion Host bertindak sebagai server lompat yang memungkinkan koneksi aman dari komputer Anda ke sumber daya di VPC Anda. Anda kemudian akan menggunakan add-on manajemen proxy SOCKS untuk mengontrol pengaturan proxy di browser Anda untuk mengakses UI Apache Airflow Anda.

**Topics**
+ [Jaringan pribadi](#private-network-lb-onconsole)
+ [Kasus penggunaan](#private-network-lb-usecases)
+ [Sebelum Anda mulai](#private-network-lb-prereqs)
+ [Tujuan](#private-network-lb-objectives)
+ [Langkah satu: Buat instance bastion](#private-network-lb-create-bastion)
+ [Langkah kedua: Buat terowongan ssh](#private-network-lb-create-test)
+ [Langkah ketiga: Konfigurasikan grup keamanan bastion sebagai aturan masuk](#private-network-lb-create-sgsource)
+ [Langkah empat: Salin URL Apache Airflow](#private-network-lb-view-env)
+ [Langkah lima: Konfigurasikan pengaturan proxy](#private-network-lb-browser-extension)
+ [Langkah enam: Buka Apache Airflow UI](#private-network-lb-open)
+ [Apa selanjutnya?](#bastion-next-up)

## Jaringan pribadi
<a name="private-network-lb-onconsole"></a>

Tutorial ini mengasumsikan Anda telah memilih mode akses **jaringan Pribadi** untuk server web Apache Airflow Anda.

![\[Gambar ini menampilkan arsitektur untuk lingkungan Amazon MWAA dengan server web pribadi.\]](http://docs.aws.amazon.com/id_id/mwaa/latest/userguide/images/mwaa-private-web-server.png)


[Mode akses jaringan pribadi membatasi akses ke UI Apache Airflow kepada pengguna *dalam VPC Amazon* Anda yang telah diberikan akses ke kebijakan IAM untuk lingkungan Anda.](access-policies.md)

Saat Anda membuat lingkungan dengan akses server web pribadi, Anda harus mengemas semua dependensi Anda dalam arsip roda Python (`.whl`), lalu mereferensikan di file Anda. `.whl` `requirements.txt` Untuk petunjuk tentang pengemasan dan pemasangan dependensi Anda menggunakan roda, lihat [Mengelola dependensi menggunakan](best-practices-dependencies.md#best-practices-dependencies-python-wheels) roda Python.

Gambar berikut menggambarkan di mana menemukan opsi **Jaringan pribadi** di konsol Amazon MWAA.

![\[Gambar ini menggambarkan di mana menemukan opsi Jaringan pribadi di konsol Amazon MWAA.\]](http://docs.aws.amazon.com/id_id/mwaa/latest/userguide/images/mwaa-console-private-network.png)


## Kasus penggunaan
<a name="private-network-lb-usecases"></a>

Anda dapat menggunakan tutorial ini setelah Anda membuat lingkungan Amazon MWAA. Anda harus menggunakan VPC Amazon, grup keamanan VPC, dan subnet publik yang sama dengan lingkungan Anda.

## Sebelum Anda mulai
<a name="private-network-lb-prereqs"></a>

1. Periksa izin pengguna. Pastikan akun Anda di AWS Identity and Access Management (IAM) memiliki izin yang cukup untuk membuat dan mengelola sumber daya VPC.

1. Gunakan VPC Amazon MWAA Anda. Tutorial ini mengasumsikan bahwa Anda mengaitkan host bastion ke VPC yang ada. VPC Amazon harus berada di wilayah yang sama dengan lingkungan Amazon MWAA Anda dan memiliki dua subnet pribadi, seperti yang didefinisikan dalam. [Buat jaringan VPC](vpc-create.md)

1. Buat kunci SSH Anda perlu membuat kunci EC2 SSH Amazon (**.pem**) di Wilayah yang sama dengan lingkungan Amazon MWAA Anda untuk terhubung ke server virtual. Jika Anda tidak memiliki kunci SSH, lihat [Buat atau impor key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#prepare-key-pair) di *Panduan EC2 Pengguna Amazon*.

## Tujuan
<a name="private-network-lb-objectives"></a>

Dalam tutorial ini, Anda akan melakukan hal berikut:

1. Buat instance Linux Bastion Host menggunakan [CloudFormation template untuk VPC yang ada](https://fwd.aws/vWMxm).

1. Otorisasi lalu lintas masuk ke grup keamanan instans bastion menggunakan aturan ingress di port. `22`

1. Otorisasi lalu lintas masuk dari grup keamanan lingkungan Amazon MWAA ke grup keamanan instans benteng.

1. Buat terowongan SSH ke instance bastion.

1. Instal dan konfigurasikan FoxyProxy add-on untuk browser Firefox untuk mengakses Apache Airflow UI.

## Langkah satu: Buat instance bastion
<a name="private-network-lb-create-bastion"></a>

Bagian berikut menjelaskan langkah-langkah untuk membuat instance bastion linux menggunakan [CloudFormation template untuk VPC yang ada](https://fwd.aws/vWMxm) di CloudFormation konsol.

**Untuk membuat Linux Bastion Host**

1. Buka halaman [Deploy Quick Start](https://fwd.aws/Jwzqv) di CloudFormation konsol.

1. Gunakan pemilih wilayah di bilah navigasi untuk memilih yang Wilayah AWS sama dengan lingkungan Amazon MWAA Anda.

1. Pilih **Berikutnya**.

1. Masukkan nama di bidang teks **nama Stack**, seperti`mwaa-linux-bastion`.

1. Pada panel **Parameter**, **Konfigurasi jaringan**, pilih opsi berikut:

   1. **Pilih ID VPC lingkungan Amazon MWAA Anda.**

   1. Pilih ID **subnet 1 Publik** lingkungan Amazon MWAA Anda.

   1. Pilih ID **subnet 2 Publik** lingkungan Amazon MWAA Anda.

   1. Masukkan rentang alamat yang paling sempit (misalnya, rentang CIDR internal) di CIDR akses **eksternal benteng yang diizinkan**.
**catatan**  
Cara termudah untuk mengidentifikasi rentang adalah dengan menggunakan rentang CIDR yang sama dengan subnet publik Anda. Misalnya, subnet publik dalam CloudFormation template pada [Buat jaringan VPC](vpc-create.md) halaman adalah `10.192.10.0/24` dan`10.192.11.0/24`.

1. Pada panel ** EC2 konfigurasi Amazon**, pilih yang berikut ini:

   1. Pilih kunci SSH Anda di daftar dropdown di Nama pasangan **kunci**.

   1. Masukkan nama di **Nama Host Bastion**.

   1. Pilih **true** untuk **penerusan TCP**.
**Awas**  
Penerusan TCP harus disetel ke **true** pada langkah ini. Jika tidak, Anda tidak akan dapat membuat terowongan SSH di langkah berikutnya.

1. Pilih **Berikutnya**, **Berikutnya**.

1. Pilih pengakuan, lalu pilih **Buat** tumpukan.

Untuk mempelajari lebih lanjut tentang arsitektur Linux Bastion Host Anda, lihat Linux Bastion [Hosts on the AWS Cloud:](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/architecture.html) Architecture.

## Langkah kedua: Buat terowongan ssh
<a name="private-network-lb-create-test"></a>

Langkah-langkah berikut menjelaskan cara membuat terowongan ssh ke bastion linux Anda. Terowongan SSH menerima permintaan dari alamat IP lokal Anda ke bastion linux, itulah sebabnya penerusan TCP untuk benteng linux diatur ke langkah sebelumnya. `true`

------
#### [ macOS/Linux ]

**Untuk membuat terowongan menggunakan baris perintah**

1. Buka halaman [Instans](https://console.aws.amazon.com/ec2/v2/home#/Instances:) di EC2 konsol Amazon.

1. Pilih instans.

1. Salin alamat di ** IPv4 DNS Publik**. Misalnya, `ec2-4-82-142-1.compute-1.amazonaws.com`.

1. Di prompt perintah Anda, arahkan ke direktori tempat kunci SSH Anda disimpan.

1. Jalankan perintah berikut untuk terhubung ke instance bastion menggunakan ssh. Ganti nilai sampel dengan nama kunci SSH Anda di`mykeypair.pem`.

   ```
   ssh -i mykeypair.pem -N -D 8157 ec2-user@YOUR_PUBLIC_IPV4_DNS
   ```

------
#### [ Windows (PuTTY) ]

**Untuk membuat terowongan menggunakan PuTTY**

1. Buka halaman [Instans](https://console.aws.amazon.com/ec2/v2/home#/Instances:) di EC2 konsol Amazon.

1. Pilih instans.

1. Salin alamat di ** IPv4 DNS Publik**. Misalnya, `ec2-4-82-142-1.compute-1.amazonaws.com`.

1. **Buka [PuTTY](https://www.putty.org/), pilih Session.**

1. **Masukkan nama host di **Nama Host** sebagai ec2-user@ *YOUR\$1PUBLIC\$1IPV4\$1DNS* dan port sebagai.** `22`

1. Perluas tab **SSH**, pilih **Auth**. Dalam **file Kunci Pribadi untuk otentikasi**, pilih file “ppk” lokal Anda.

1. Di bawah SSH, pilih tab **Tunnels**, lalu pilih opsi *Dinamis* dan *Otomatis*.

1. Di **Port Sumber**, tambahkan `8157` port (atau port lain yang tidak digunakan), lalu biarkan port **Tujuan** kosong. Pilih **Tambahkan**.

1. Pilih tab **Sesi** dan masukkan nama sesi. Sebagai contoh, `SSH Tunnel`.

1. Pilih **Simpan**, **Buka**.
**catatan**  
Anda mungkin perlu memasukkan frasa lulus untuk kunci publik Anda.

------

**catatan**  
Jika Anda menerima `Permission denied (publickey)` kesalahan, sebaiknya gunakan [AWSSupport-TroubleshootSSH](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-awssupport-troubleshootssh.html)alat ini, dan pilih **Jalankan Otomasi ini (konsol)** untuk memecahkan masalah pengaturan SSH Anda.

## Langkah ketiga: Konfigurasikan grup keamanan bastion sebagai aturan masuk
<a name="private-network-lb-create-sgsource"></a>

Akses ke server dan akses internet reguler dari server diperbolehkan dengan grup keamanan pemeliharaan khusus yang terpasang pada server tersebut. Langkah-langkah berikut menjelaskan cara mengkonfigurasi grup keamanan bastion sebagai sumber lalu lintas masuk ke grup keamanan VPC lingkungan.

1. Buka halaman [Lingkungan](https://console.aws.amazon.com/mwaa/home#/environments) di konsol Amazon MWAA.

1. Pilih lingkungan.

1. Pada panel **Networking**, pilih grup keamanan **VPC**.

1. Pilih **Edit aturan masuk**.

1. Pilih **Tambahkan aturan**.

1. Pilih ID grup keamanan VPC Anda di daftar dropdown **Sumber**.

1. Biarkan opsi yang tersisa kosong, atau atur ke nilai defaultnya.

1. Pilih **Simpan aturan**.

## Langkah empat: Salin URL Apache Airflow
<a name="private-network-lb-view-env"></a>

Langkah-langkah berikut menjelaskan cara membuka konsol Amazon MWAA dan menyalin URL ke UI Apache Airflow.

1. Buka halaman [Lingkungan](https://console.aws.amazon.com/mwaa/home#/environments) di konsol Amazon MWAA.

1. Pilih lingkungan.

1. Salin URL di **Airflow UI** untuk langkah selanjutnya.

## Langkah lima: Konfigurasikan pengaturan proxy
<a name="private-network-lb-browser-extension"></a>

Jika Anda menggunakan terowongan SSH dengan penerusan port dinamis, Anda harus menggunakan add-on manajemen proksi SOCKS untuk mengendalikan pengaturan proksi di peramban Anda. Misalnya, Anda dapat menggunakan `--proxy-server` fitur Chromium untuk memulai sesi browser, atau menggunakan FoxyProxy ekstensi di browser Mozilla FireFox .

### Opsi satu: Siapkan Terowongan SSH menggunakan penerusan port lokal
<a name="private-network-lb-browser-extension-portforwarding"></a>

Jika Anda tidak ingin menggunakan proxy SOCKS, Anda dapat mengatur terowongan SSH menggunakan penerusan port lokal. Contoh perintah berikut mengakses antarmuka EC2 *ResourceManager*web Amazon dengan meneruskan lalu lintas pada port lokal 8157.

1. Buka jendela prompt perintah baru.

1. Masukkan perintah berikut untuk membuka terowongan SSH.

   ```
   ssh -i mykeypair.pem -N -L 8157:YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com:443 ubuntu@YOUR_PUBLIC_IPV4_DNS.us-east-1.compute.amazonaws.com
   ```

   `-L`menandakan penggunaan penerusan port lokal yang dapat Anda gunakan untuk menentukan port lokal yang digunakan untuk meneruskan data ke port jarak jauh yang diidentifikasi pada server web lokal node.

1. Masukkan `http://localhost:8157/` di browser Anda.
**catatan**  
Anda mungkin perlu menggunakannya`https://localhost:8157/`.

### Opsi dua: Proxy menggunakan baris perintah
<a name="private-network-lb-browser-extension-foxyp"></a>

Anda dapat menggunakan sebagian besar browser web untuk mengkonfigurasi proxy menggunakan baris perintah atau parameter konfigurasi. Misalnya, dengan Chromium Anda dapat memulai browser dengan perintah berikut:

```
chromium --proxy-server="socks5://localhost:8157"
```

Ini memulai sesi browser yang menggunakan terowongan ssh yang Anda buat di langkah sebelumnya untuk mem-proxy permintaannya. Anda dapat membuka URL lingkungan Amazon MWAA Pribadi Anda (dengan *https://*) sebagai berikut:

```
https://YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com/home.
```

### Opsi tiga: Proksi yang digunakan FoxyProxy untuk Mozilla Firefox
<a name="private-network-lb-browser-extension-foxyp"></a>

Contoh berikut menunjukkan konfigurasi FoxyProxy Standar (versi 7.5.1) untuk Mozilla Firefox. FoxyProxy menyediakan satu set alat manajemen proxy. Ini memungkinkan Anda menggunakan server proxy untuk pola pencocokan URLs yang sesuai dengan domain yang digunakan oleh Apache Airflow UI.

1. Di Firefox, buka halaman ekstensi [FoxyProxy Standar](https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/).

1. Pilih **Tambahkan ke Firefox**.

1. Pilih **Tambahkan**.

1. Pilih FoxyProxy ikon di bilah alat browser Anda, pilih **Opsi**.

1. Salin kode berikut dan simpan secara lokal sebagai`mwaa-proxy.json`. Ganti nilai sampel *YOUR\$1HOST\$1NAME* dengan URL **Apache Airflow** Anda.

   ```
   {
     "e0b7kh1606694837384": {
       "type": 3,
       "color": "#66cc66",
       "title": "airflow",
       "active": true,
       "address": "localhost",
       "port": 8157,
       "proxyDNS": false,
       "username": "",
       "password": "",
       "whitePatterns": [
         {
           "title": "airflow-ui",
           "pattern": "YOUR_HOST_NAME",
           "type": 1,
           "protocols": 1,
           "active": true
         }
       ],
       "blackPatterns": [],
       "pacURL": "",
       "index": -1
     },
     "k20d21508277536715": {
       "active": true,
       "title": "Default",
       "notes": "These are the settings that are used when no patterns match a URL.",
       "color": "#0055E5",
       "type": 5,
       "whitePatterns": [
         {
           "title": "all URLs",
           "active": true,
           "pattern": "*",
           "type": 1,
           "protocols": 1
         }
       ],
       "blackPatterns": [],
         "index": 9007199254740991
     },
     "logging": {
       "active": true,
       "maxSize": 500
     },
     "mode": "patterns",
     "browserVersion": "82.0.3",
     "foxyProxyVersion": "7.5.1",
     "foxyProxyEdition": "standard"
   }
   ```

1. Pada **Pengaturan Impor dari FoxyProxy 6.0\$1** panel, pilih **Pengaturan Impor** dan pilih file. `mwaa-proxy.json`

1. Pilih **OK**.

## Langkah enam: Buka Apache Airflow UI
<a name="private-network-lb-open"></a>

Langkah-langkah berikut menjelaskan cara membuka UI Apache Airflow Anda.

1. Buka halaman [Lingkungan](https://console.aws.amazon.com/mwaa/home#/environments) di konsol Amazon MWAA.

1. Pilih **Buka UI Aliran Udara**.

## Apa selanjutnya?
<a name="bastion-next-up"></a>
+ Pelajari cara menjalankan perintah CLI Airflow di terowongan SSH ke host bastion di. [Referensi perintah CLI Apache Airflow](airflow-cli-command-reference.md)
+ Pelajari cara mengunggah kode DAG ke bucket Amazon S3 Anda. [Menambahkan atau memperbarui DAGs](configuring-dag-folder.md)

# Tutorial: Membatasi akses pengguna Amazon MWAA ke subset DAGs
<a name="limit-access-to-dags"></a>

[Amazon MWAA mengelola akses ke lingkungan Anda dengan memetakan prinsipal IAM Anda ke satu atau beberapa peran default Apache Airflow.](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html#default-roles) Gunakan tutorial berikut untuk membatasi pengguna Amazon MWAA individu untuk hanya mengakses dan berinteraksi dengan DAG tertentu atau satu set. DAGs

**catatan**  
Langkah-langkah dalam tutorial ini dapat diselesaikan menggunakan akses federasi, selama peran IAM dapat diasumsikan.

**Topics**
+ [Prasyarat](#limit-access-to-dags-prerequisites)
+ [Langkah pertama: Berikan akses server web Amazon MWAA ke kepala IAM Anda dengan peran default Apache Airflow. `Public`](#limit-access-to-dags-apply-public-access)
+ [Langkah kedua: Buat peran kustom Apache Airflow baru](#limit-access-to-dags-create-new-airflow-role)
+ [Langkah ketiga: Tetapkan peran yang Anda buat untuk pengguna Amazon MWAA Anda](#limit-access-to-dags-assign-role)
+ [Langkah selanjutnya](#limit-access-to-dags-next-up)
+ [Sumber daya terkait](#limit-access-to-dags-related-resources)

## Prasyarat
<a name="limit-access-to-dags-prerequisites"></a>

Untuk menyelesaikan langkah-langkah dalam tutorial ini, Anda memerlukan yang berikut:
+ [Lingkungan Amazon MWAA dengan banyak DAGs](get-started.md)
+ Prinsipal IAM, `Admin` dengan [AdministratorAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AdministratorAccess$jsonEditor)izin, dan pengguna IAM`MWAAUser`, sebagai prinsipal yang dapat Anda batasi akses DAG. Untuk informasi selengkapnya tentang peran admin, lihat [fungsi pekerjaan Administrator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) di *Panduan Pengguna IAM*
**catatan**  
Jangan melampirkan kebijakan izin langsung ke pengguna IAM Anda. Sebaiknya siapkan peran IAM yang dapat diasumsikan pengguna untuk mendapatkan akses sementara ke sumber daya Amazon MWAA Anda.
+ [AWS Command Line Interface versi 2](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install) diinstal.

## Langkah pertama: Berikan akses server web Amazon MWAA ke kepala IAM Anda dengan peran default Apache Airflow. `Public`
<a name="limit-access-to-dags-apply-public-access"></a>

**Untuk memberikan izin menggunakan Konsol Manajemen AWS**

1. Masuk ke `Admin` peran Anda Akun AWS dan buka [konsol IAM](https://console.aws.amazon.com/iam/).

1. Di panel navigasi kiri, pilih **Pengguna, lalu pilih pengguna** Amazon MWAA IAM Anda dari tabel pengguna.

1. Pada halaman detail pengguna, di bawah **Ringkasan**, pilih tab **Izin**, lalu pilih **Kebijakan izin** untuk memperluas kartu dan pilih **Tambahkan** izin.

1. Di bagian **Hibah izin**, pilih **Lampirkan kebijakan yang ada secara langsung**, lalu pilih **Buat kebijakan** untuk membuat dan melampirkan kebijakan izin kustom Anda sendiri.

1. Pada halaman **Buat kebijakan**, pilih **JSON**, lalu salin dan tempel kebijakan izin JSON berikut di editor kebijakan. Kebijakan ini memberikan akses server web ke pengguna dengan peran Apache `Public` Airflow default.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "airflow:CreateWebLoginToken",
               "Resource": [
               "arn:aws:airflow:us-east-1:111122223333:role/YOUR_ENVIRONMENT_NAME/Public"
               ]
           }
       ]
   }
   ```

------

## Langkah kedua: Buat peran kustom Apache Airflow baru
<a name="limit-access-to-dags-create-new-airflow-role"></a>

**Untuk membuat peran baru menggunakan Apache Airflow UI**

1. Menggunakan peran IAM administrator Anda, buka [konsol Amazon MWAA](https://console.aws.amazon.com/mwaa/home) dan luncurkan UI Apache Airflow lingkungan Anda.

1. Dari panel navigasi di bagian atas, arahkan kursor pada **Keamanan** untuk membuka daftar tarik-turun, lalu pilih **Daftar Peran untuk mengakses peran** Apache Airflow default.

1. Dari daftar peran, pilih **Pengguna**, lalu di awal halaman pilih **Tindakan** untuk membuka dropdown. Pilih **Salin Peran**, dan konfirmasikan **Ok**
**catatan**  
Salin peran **Ops** atau **Viewer** untuk memberikan akses yang lebih atau lebih sedikit.

1. Temukan peran baru yang Anda buat di tabel dan pilih **Edit catatan**.

1. Pada halaman **Edit Peran**, lakukan hal berikut:
   + Untuk **Nama**, masukkan nama baru untuk peran di bidang teks. Misalnya, **Restricted**.
   + Untuk daftar **Izin**, hapus `can read on DAGs` dan`can edit on DAGs`, lalu tambahkan izin baca dan tulis untuk kumpulan yang ingin DAGs Anda berikan akses. Misalnya, untuk DAG,`example_dag.py`, tambahkan **`can read on DAG:example_dag`** dan**`can edit on DAG:example_dag`**.

   Pilih **Simpan**. Sekarang Anda memiliki peran baru yang membatasi akses ke subset yang DAGs tersedia di lingkungan Amazon MWAA Anda. Anda dapat menetapkan peran ini ke pengguna Apache Airflow yang ada.

## Langkah ketiga: Tetapkan peran yang Anda buat untuk pengguna Amazon MWAA Anda
<a name="limit-access-to-dags-assign-role"></a>

**Untuk menetapkan peran baru**

1. Menggunakan kredensi akses untuk`MWAAUser`, jalankan perintah CLI berikut untuk mengambil URL server web lingkungan Anda.

   ```
   aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME | jq '.Environment.WebserverUrl'
   ```

   Jika berhasil, Anda akan merujuk ke output berikut:

   ```
   "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
   ```

1. Dengan `MWAAUser` masuk ke Konsol Manajemen AWS, buka jendela browser baru dan akses yang berikut ini URl. Ganti `Webserver-URL` dengan informasi Anda.

   ```
   https://<Webserver-URL>/home
   ```

   Jika berhasil, Anda akan mendapatkan halaman `Forbidden` kesalahan karena `MWAAUser` belum diberikan izin untuk mengakses Apache Airflow UI.

1. Dengan `Admin` masuk ke Konsol Manajemen AWS, buka konsol Amazon MWAA lagi dan luncurkan UI Apache Airflow lingkungan Anda.

1. Dari dasbor UI, perluas dropdown **Keamanan**, dan kali ini pilih **Daftar** Pengguna.

1. **Di tabel pengguna, temukan pengguna Apache Airflow baru dan pilih Edit record.** Nama depan pengguna akan cocok dengan nama pengguna IAM Anda dalam pola berikut:`user/mwaa-user`.

1. Pada halaman **Edit Pengguna**, di bagian **Peran, tambahkan peran** kustom baru yang Anda buat, lalu pilih **Simpan**.
**catatan**  
Bidang **Nama** Belakang diperlukan, tetapi spasi memenuhi persyaratan.

   `Public`Kepala IAM memberikan `MWAAUser` izin untuk mengakses Apache Airflow UI, sementara peran baru memberikan izin tambahan yang diperlukan untuk mendapatkannya. DAGs

**penting**  
Salah satu dari 5 peran default (seperti`Admin`) yang tidak diizinkan oleh IAM yang ditambahkan menggunakan UI Apache Airflow akan dihapus pada login pengguna berikutnya.

## Langkah selanjutnya
<a name="limit-access-to-dags-next-up"></a>
+ Untuk mempelajari selengkapnya tentang mengelola akses ke lingkungan Amazon MWAA Anda, dan untuk mendapatkan contoh kebijakan JSON IAM yang dapat Anda gunakan untuk pengguna lingkungan Anda, lihat [Mengakses lingkungan Amazon MWAA](access-policies.md)

## Sumber daya terkait
<a name="limit-access-to-dags-related-resources"></a>
+ [Kontrol Akses](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html) (Dokumentasi Apache Airflow) - Pelajari lebih lanjut tentang peran default Apache Airflow di situs web dokumentasi Apache Airflow.

# Tutorial: Otomatiskan pengelolaan titik akhir lingkungan Anda sendiri di Amazon MWAA
<a name="tutorials-customer-managed-endpoints"></a>

Jika Anda menggunakannya [AWS Organizations](https://docs.aws.amazon.com/)untuk mengelola beberapa sumber daya berbagi Akun AWS itu, Amazon MWAA memungkinkan Anda membuat dan mengelola titik akhir VPC Amazon Anda sendiri. Ini berarti Anda dapat menggunakan kebijakan keamanan yang lebih ketat yang memungkinkan akses hanya ke sumber daya yang dibutuhkan oleh lingkungan Anda.

Saat Anda membuat lingkungan di VPC Amazon 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 kemudian dapat melihat, membuat, memodifikasi, dan menghapus lingkungan di VPC bersama.

Saat Anda membuat lingkungan di Amazon VPC bersama, atau dibatasi kebijakan, Amazon MWAA pertama-tama akan membuat sumber daya VPC layanan, lalu memasukkan [https://docs.aws.amazon.com/mwaa/latest/API/API_Environment.html#mwaa-Type-Environment-Status](https://docs.aws.amazon.com/mwaa/latest/API/API_Environment.html#mwaa-Type-Environment-Status)status hingga 72 jam.

Ketika status lingkungan berubah dari `CREATING` ke`PENDING`, Amazon MWAA mengirimkan EventBridge pemberitahuan Amazon tentang perubahan status. Ini memungkinkan akun pemilik membuat titik akhir yang diperlukan atas nama peserta berdasarkan informasi layanan titik akhir dari konsol atau API Amazon MWAA, atau secara terprogram Berikut ini, kami membuat titik akhir VPC Amazon baru menggunakan fungsi Lambda dan aturan yang mendengarkan pemberitahuan perubahan status Amazon MWAA. EventBridge 

Di sini, kami membuat titik akhir baru di VPC Amazon yang sama dengan lingkungan. Untuk menyiapkan VPC Amazon bersama, buat EventBridge aturan dan fungsi Lambda di akun pemilik, dan lingkungan Amazon MWAA di akun peserta.

**Topics**
+ [Prasyarat](#tutorials-customer-managed-endpoints-prerequisites)
+ [Buat Amazon VPC](#tutorials-customer-managed-endpoints-create-vpc)
+ [Buat fungsi Lambda](#tutorials-customer-managed-endpoints-create-lambda-function)
+ [Buat EventBridge aturan](#tutorials-customer-managed-endpoints-create-eb-rule)
+ [Buat lingkungan Amazon MWAA](#tutorials-customer-managed-endpoints-create-mwaa)

## Prasyarat
<a name="tutorials-customer-managed-endpoints-prerequisites"></a>

Untuk menyelesaikan langkah-langkah dalam tutorial ini, Anda memerlukan yang berikut:
+ ...

## Buat Amazon VPC
<a name="tutorials-customer-managed-endpoints-create-vpc"></a>

Gunakan CloudFormation template dan AWS CLI perintah berikut untuk membuat VPC Amazon baru. Template menyiapkan sumber daya VPC Amazon dan memodifikasi kebijakan titik akhir untuk membatasi akses ke antrian tertentu.

1. Unduh CloudFormation [template](samples/cfn-vpc-private-network.zip), lalu unzip `.yml` file.

1. Di jendela prompt perintah baru, navigasikan ke folder tempat Anda menyimpan template, lalu gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html)untuk membuat tumpukan. `--template-body`Bendera menentukan jalur ke template.

   ```
   aws cloudformation create-stack --stack-name stack-name --template-body file://cfn-vpc-private-network.yml
   ```

Di bagian selanjutnya, Anda akan membuat fungsi Lambda.

## Buat fungsi Lambda
<a name="tutorials-customer-managed-endpoints-create-lambda-function"></a>

Gunakan kode Python berikut dan kebijakan IAM JSON untuk membuat fungsi Lambda baru dan peran eksekusi. Fungsi ini membuat titik akhir Amazon VPC untuk server web Apache Airflow pribadi dan antrian Amazon SQS. Amazon MWAA menggunakan Amazon SQS untuk mengantri tugas dengan Celery di antara beberapa pekerja saat menskalakan lingkungan Anda.

1. Unduh kode [fungsi](./samples/mwaa-lambda-shared-vpc.zip) Python.

1. Unduh [kebijakan izin](./samples/lambda-mwaa-shared-vpce-policy.zip) IAM, lalu unzip file.

1. Buka prompt perintah, lalu arahkan ke folder tempat Anda menyimpan kebijakan izin JSON. Gunakan [https://docs.aws.amazon.com/](https://docs.aws.amazon.com/)perintah IAM untuk membuat peran baru.

   ```
   aws iam create-role --role-name function-role \
   						--assume-role-policy-document file://lambda-mwaa-vpce-policy.json
   ```

   Perhatikan peran ARN dari respon. AWS CLI Pada langkah berikutnya, kami menentukan peran baru ini sebagai peran eksekusi fungsi menggunakan ARN-nya.

1. Arahkan ke folder tempat Anda menyimpan kode fungsi, lalu gunakan [https://docs.aws.amazon.com/](https://docs.aws.amazon.com/)perintah untuk membuat fungsi baru.

   ```
   aws lambda create-function --function-name mwaa-vpce-lambda \
   --zip-file file://mwaa-lambda-shared-vpc.zip --runtime python3.8 --role arn:aws:iam::123456789012:role/function-role --handler lambda_handler
   ```

   Perhatikan fungsi ARN dari respon. AWS CLI Pada langkah berikutnya kita menentukan ARN untuk mengkonfigurasi fungsi sebagai target untuk aturan baru EventBridge .

Di bagian berikutnya, Anda membuat EventBridge aturan yang memanggil fungsi ini ketika lingkungan memasuki `PENDING` status.

## Buat EventBridge aturan
<a name="tutorials-customer-managed-endpoints-create-eb-rule"></a>

Lakukan hal berikut untuk membuat aturan baru yang mendengarkan notifikasi Amazon MWAA dan menargetkan fungsi Lambda baru Anda.

1. Gunakan EventBridge `put-rule` perintah untuk membuat EventBridge aturan baru.

   ```
   aws events put-rule --name "mwaa-lambda-rule" \
   --event-pattern "{\"source\":[\"aws.airflow\"],\"detail-type\":[\"MWAA Environment Status Change\"]}"
   ```

   Pola acara mendengarkan notifikasi yang dikirimkan Amazon MWAA setiap kali status lingkungan berubah.

   ```
   {
   					"source": ["aws.airflow"],
   					"detail-type": ["MWAA Environment Status Change"]
   					}
   ```

1. Gunakan `put-targets` perintah untuk menambahkan fungsi Lambda sebagai target untuk aturan baru.

   ```
   aws events put-targets --rule "mwaa-lambda-rule" \
   --targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:mwaa-vpce-lambda"
   ```

Anda siap membuat lingkungan Amazon MWAA baru dengan titik akhir Amazon VPC yang dikelola pelanggan.

## Buat lingkungan Amazon MWAA
<a name="tutorials-customer-managed-endpoints-create-mwaa"></a>

Gunakan konsol Amazon MWAA untuk membuat lingkungan baru dengan titik akhir Amazon VPC yang dikelola pelanggan.

1. Buka konsol [Amazon MWAA](https://console.aws.amazon.com/mwaa/home/), dan pilih **Buat lingkungan**.

1. Untuk **Nama masukkan nama** yang unik.

1. Untuk **versi Airflow pilih versi** terbaru.

1. **Pilih **bucket Amazon S3** dan **DAGs folder**, seperti `dags/` untuk digunakan dengan lingkungan, lalu pilih Berikutnya.**

1. Pada halaman **Konfigurasi pengaturan lanjutan**, lakukan hal berikut:

   1. Untuk **Virtual Private Cloud**, pilih VPC Amazon yang Anda buat di langkah [sebelumnya](#tutorials-customer-managed-endpoints-create-vpc).

   1. Untuk **akses server web**, pilih **Jaringan publik (internet dapat diakses)**.

   1. Untuk **grup Keamanan**, pilih grup keamanan yang Anda buat CloudFormation. Karena grup keamanan untuk AWS PrivateLink titik akhir dari langkah sebelumnya adalah referensi sendiri, Anda harus memilih grup keamanan yang sama untuk lingkungan Anda.

   1. Untuk **manajemen Endpoint**, pilih Titik **akhir yang dikelola Pelanggan**.

1. Pertahankan pengaturan default yang tersisa, lalu pilih **Berikutnya**.

1. Tinjau pilihan Anda, lalu pilih **Buat lingkungan**.

**Tip**  
Untuk informasi selengkapnya tentang menyiapkan lingkungan baru, lihat [Memulai Amazon MWAA](get-started.md).

Saat lingkungannya`PENDING`, Amazon MWAA mengirimkan notifikasi yang cocok dengan pola acara yang Anda tetapkan untuk aturan Anda. Aturan tersebut memanggil fungsi Lambda Anda. Fungsi ini mem-parsing peristiwa notifikasi dan mendapatkan informasi titik akhir yang diperlukan untuk server web dan antrean Amazon SQS. Kemudian menciptakan titik akhir di VPC Amazon Anda.

Ketika titik akhir tersedia, Amazon MWAA melanjutkan pembuatan lingkungan Anda. Saat siap, status lingkungan berubah menjadi `AVAILABLE` dan Anda dapat mengakses server web Apache Airflow menggunakan konsol Amazon MWAA.