

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

# Mengelola koneksi ke Apache Airflow
<a name="manage-connections"></a>

Bab ini menjelaskan cara mengonfigurasi koneksi Apache Airflow untuk lingkungan Alur Kerja Terkelola Amazon untuk Apache Airflow.

**Topics**
+ [Ikhtisar variabel dan koneksi Apache Airflow](#manage-connections-t-overview)
+ [Paket penyedia Apache Airflow diinstal di lingkungan Amazon MWAA](connections-packages.md)
+ [Ikhtisar jenis koneksi](manage-connection-types.md)
+ [Mengkonfigurasi koneksi Apache Airflow menggunakan rahasia AWS Secrets Manager](connections-secrets-manager.md)

## Ikhtisar variabel dan koneksi Apache Airflow
<a name="manage-connections-t-overview"></a>

Dalam beberapa kasus, Anda mungkin ingin menentukan koneksi atau variabel tambahan untuk lingkungan, seperti AWS profil, atau menambahkan peran eksekusi Anda dalam objek koneksi di metastore Apache Airflow, lalu merujuk ke koneksi dari dalam DAG.
+ **Apache Airflow yang dikelola sendiri**. Pada instalasi Apache Airflow yang dikelola sendiri, Anda mengatur opsi konfigurasi Apache [Airflow](https://airflow.apache.org/docs/apache-airflow/stable/howto/set-config.html). `airflow.cfg`

  ```
  [secrets]
  backend = airflow.providers.amazon.aws.secrets.secrets_manager.SecretsManagerBackend
  backend_kwargs = {"connections_prefix" : "airflow/connections", "variables_prefix" : "airflow/variables"}
  ```
+ **Apache Airflow** di Amazon MWAA. Di Amazon MWAA, Anda perlu menambahkan pengaturan konfigurasi ini sebagai [opsi konfigurasi Apache Airflow](configuring-env-variables.md) di konsol Amazon MWAA. Opsi konfigurasi Apache Airflow ditulis sebagai variabel lingkungan ke lingkungan Anda dan mengganti semua konfigurasi lain yang ada untuk pengaturan yang sama.

# Paket penyedia Apache Airflow diinstal di lingkungan Amazon MWAA
<a name="connections-packages"></a>

Halaman ini mencantumkan paket penyedia Apache Airflow yang diinstal oleh Amazon MWAA untuk semua lingkungan Apache Airflow yang didukung. Untuk informasi lebih lanjut tentang paket-paket ini, lihat [referensi Apache Airflow](https://airflow.apache.org/docs/apache-airflow/stable/extra-packages-ref.html) untuk paket ekstra.

**catatan**  
[Untuk memastikan bahwa kompatibilitas dengan CloudWatch logging tidak diganti oleh instalasi pustaka Python lainnya, Amazon MWAA menginstal Watchtower versi 2.0.1 setelah melakukan.](https://pypi.org/project/watchtower/2.0.1/) `pip3 install -r requirements.txt`

**Topics**
+ [Kendala berkas](#connections-packages-constraints)
+ [Paket penyedia khusus versi](#connections-packages-table)

## Kendala berkas
<a name="connections-packages-constraints"></a>

Dimulai dengan Apache Airflow v2.7.2, file persyaratan Anda harus menyertakan pernyataan. `--constraint` Jika Anda tidak memberikan batasan, Amazon MWAA akan menentukan satu untuk Anda untuk memastikan paket yang tercantum dalam persyaratan Anda kompatibel dengan versi Apache Airflow yang Anda gunakan.

File batasan Apache Airflow menentukan versi penyedia yang tersedia pada saat rilis Apache Airflow. Namun, dalam banyak kasus, penyedia yang lebih baru kompatibel dengan versi Apache Airflow. Karena Anda harus menggunakan batasan, untuk menentukan versi paket penyedia yang lebih baru, Anda dapat memodifikasi file kendala untuk versi penyedia tertentu:

1. Unduh file batasan khusus versi dari GitHub, misalnya [https://raw.githubusercontent.com/apache/airflow/constraints-2.7.2/constraints-3.11.txt](https://raw.githubusercontent.com/apache/airflow/constraints-2.7.2/constraints-3.11.txt) (ganti '2.7.2' dengan versi yang ingin Anda gunakan).

1. Simpan file kendala yang dimodifikasi ke folder Amazon S3 dags di lingkungan Amazon MWAA Anda, misalnya, sebagai. `constraints-3.11-updated.txt`

1. Tentukan persyaratan Anda seperti yang tercantum dalam berikut ini.

   ```
   --constraint "/usr/local/airflow/dags/constraints-3.11-updated.txt"
   apache-airflow-providers-amazon==version-number
   ```
**catatan**  
Jika Anda menggunakan server web pribadi, kami sarankan Anda [mengemas pustaka yang diperlukan sebagai file WHL](best-practices-dependencies.md#best-practices-dependencies-python-wheels) dengan menggunakan. [aws-mwaa-docker-images](https://github.com/aws/amazon-mwaa-docker-images)

## Paket penyedia khusus versi
<a name="connections-packages-table"></a>

Menginstal paket penyedia yang dapat Anda gunakan untuk mengakses jenis koneksi di Apache Airflow UI. Ini juga berarti Anda tidak perlu menentukan paket-paket ini sebagai ketergantungan Python dalam file Anda. `requirements.txt` Halaman ini mencantumkan paket penyedia Apache Airflow yang diinstal oleh Amazon MWAA untuk semua lingkungan Apache Airflow yang didukung.

**catatan**  
Untuk Apache Airflow v2 dan yang lebih baru, Amazon MWAA [menginstal Watchtower versi](https://pypi.org/project/watchtower/2.0.1/) 2.0.1 setelah `pip3 install -r requirements.txt` melakukan, untuk memastikan kompatibilitas dengan CloudWatch logging tidak diganti oleh instalasi pustaka Python lainnya.

Anda dapat menentukan versi terbaru yang didukung `apache-airflow-providers-amazon` untuk meningkatkan penyedia ini.

**Versi Apache Airflow yang didukung:**

------
#### [ v3.0.6 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon[aiobotocore] ==9.9.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.9.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==6.2.1](https://airflow.apache.org/docs/apache-airflow-providers-postgres/6.2.1/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.13.1](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.13.1/index.html)  | 
|  Koneksi Fab  |  [apache-airflow-providers-fab==2.3.0](https://airflow.apache.org/docs/apache-airflow-providers-fab/2.3.0/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.12.1](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.12.1/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==5.3.2](https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.9.1](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.9.1/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.27.3](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.27.3/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==4.1.1](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1/index.html)  | 

------
#### [ v2.11.0 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon[aiobotocore] ==9.8.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.8.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==6.2.0](https://airflow.apache.org/docs/apache-airflow-providers-postgres/6.2.0/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.13.0](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.13.0/index.html)  | 
|  Koneksi Fab  |  [apache-airflow-providers-fab==1.5.3](https://airflow.apache.org/docs/apache-airflow-providers-fab/1.5.3/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.11.0](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.11.0/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==5.3.0](https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.0/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.9.0](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.9.0/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.27.1](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.27.1/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==4.1.0](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0/index.html)  | 
|  Koneksi SMTP  |  [apache-airflow-providers-smtp==2.1.0](https://airflow.apache.org/docs/apache-airflow-providers-smtp/2.1.0/index.html)  | 

------
#### [ v2.10.3 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon[aiobotocore] ==9.0.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.0.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==5.13.1](https://airflow.apache.org/docs/apache-airflow-providers-postgres/5.13.1/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.11.1](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.11.1/index.html)  | 
|  Koneksi Fab  |  [apache-airflow-providers-fab==1.5.0](https://airflow.apache.org/docs/apache-airflow-providers-fab/1.5.0/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.8.3](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.8.3/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==4.13.2](https://airflow.apache.org/docs/apache-airflow-providers-http/4.13.2/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.7.0](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.7.0/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.19.0](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.19.0/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==3.9.0](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/3.9.0/index.html)  | 
|  Koneksi SMTP  |  [apache-airflow-providers-smtp==1.8.0](https://airflow.apache.org/docs/apache-airflow-providers-smtp/1.8.0/index.html)  | 

------
#### [ v2.10.1 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon[aiobotocore] ==8.28.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/2.28.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==5.12.0](https://airflow.apache.org/docs/apache-airflow-providers-postgres/5.12.0/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.11.0](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.11.0/index.html)  | 
|  Koneksi Fab  |  [apache-airflow-providers-fab==1.3.0](https://airflow.apache.org/docs/apache-airflow-providers-fab/1.3.0/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.8.1](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.8.1/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==4.13.0](https://airflow.apache.org/docs/apache-airflow-providers-http/4.13.0/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.7.0](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.7.0/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.16.0](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.16.0/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==3.9.0](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/3.9.0/index.html)  | 
|  Koneksi SMTP  |  [apache-airflow-providers-smtp==1.8.0](https://airflow.apache.org/docs/apache-airflow-providers-smtp/1.8.0/index.html)  | 

------
#### [ v2.9.2 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon[aiobotocore] ==8.24.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.24.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==5.11.1](https://airflow.apache.org/docs/apache-airflow-providers-postgres/5.11.1/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.9.1](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.9.1/index.html)  | 
|  Koneksi Fab  |  [apache-airflow-providers-fab==1.1.1](https://airflow.apache.org/docs/apache-airflow-providers-fab/1.1.1/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.7.2](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.7.2/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==4.11.1](https://airflow.apache.org/docs/apache-airflow-providers-http/4.11.1/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.6.1](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.6.1/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.14.0](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.14.0/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==3.8.1](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/3.8.1/index.html)  | 
|  Koneksi SMTP  |  [apache-airflow-providers-smtp==1.7.1](https://airflow.apache.org/docs/apache-airflow-providers-smtp/1.7.1/index.html)  | 

------
#### [ v2.8.1 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon[aiobotocore] ==8.16.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.16.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==5.10.0](https://airflow.apache.org/docs/apache-airflow-providers-postgres/5.10.0/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.7.0](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.7.0/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.5.1](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.5.1/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==4.8.0](https://airflow.apache.org/docs/apache-airflow-providers-http/4.8.0/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.5.0](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.5.0/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.10.0](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.10.0/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==3.7.0](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/3.7.0/index.html)  | 

------
#### [ v2.7.2 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon[aiobotocore] ==8.7.1](https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.7.1/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==5.6.1](https://airflow.apache.org/docs/apache-airflow-providers-postgres/5.6.1/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.5.2](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.5.2/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.3.4](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.3.4/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==4.5.2](https://airflow.apache.org/docs/apache-airflow-providers-http/4.5.2/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.3.2](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.3.2/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.7.2](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.7.2/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==3.4.3](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/3.4.3/index.html)  | 

------
#### [ v2.6.3 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon[aiobotocore] ==8.2.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.2.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==5.5.1](https://airflow.apache.org/docs/apache-airflow-providers-postgres/5.5.1/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.4.2](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.4.2/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.2.1](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.2.1/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==4.4.2](https://airflow.apache.org/docs/apache-airflow-providers-http/4.4.2/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.2.2](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.2.2/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.5.2](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.5.2/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==3.4.2](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/3.4.2/index.html)  | 

------
#### [ v2.5.1 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon==7.1.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/7.1.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==5.4.0](https://airflow.apache.org/docs/apache-airflow-providers-postgres/5.4.0/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.3.0](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.3.0/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.1.0](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.1.0/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==4.1.1](https://airflow.apache.org/docs/apache-airflow-providers-http/4.4.1/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.1.1](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.1.1/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.3.3](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.3.3/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==3.3.1](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/3.3.1/index.html)  | 

------
#### [ v2.4.3 ]


| Tipe koneksi | Paket | 
| --- | --- | 
|  AWS Koneksi  |  [apache-airflow-providers-amazon==6.0.0](https://airflow.apache.org/docs/apache-airflow-providers-amazon/6.0.0/index.html)  | 
|  Koneksi Postgres  |  [apache-airflow-providers-postgres==5.2.2](https://airflow.apache.org/docs/apache-airflow-providers-postgres/5.2.2/index.html)  | 
|  Koneksi FTP  |  [apache-airflow-providers-ftp==3.1.0](https://airflow.apache.org/docs/apache-airflow-providers-ftp/3.1.0/index.html)  | 
|  Koneksi Seledri  |  [apache-airflow-providers-celery==3.0.0](https://airflow.apache.org/docs/apache-airflow-providers-celery/3.0.0/index.html)  | 
|  Koneksi HTTP  |  [apache-airflow-providers-http==4.0.0](https://airflow.apache.org/docs/apache-airflow-providers-http/4.0.0/index.html)  | 
|  Koneksi IMAP  |  [apache-airflow-providers-imap==3.0.0](https://airflow.apache.org/docs/apache-airflow-providers-imap/3.0.0/index.html)  | 
|  SQL umum  |  [apache-airflow-providers-common-sql = 1.2.0](https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.2.0/index.html)  | 
|  SQLite Koneksi  |  [apache-airflow-providers-sqlite==3.2.1](https://airflow.apache.org/docs/apache-airflow-providers-sqlite/3.2.1/index.html)  | 

------

# Ikhtisar jenis koneksi
<a name="manage-connection-types"></a>

Apache Airflow menyimpan koneksi sebagai string URI koneksi. Ini menyediakan template koneksi di Apache Airflow UI untuk menghasilkan string URI koneksi, terlepas dari jenis koneksi. Jika template koneksi tidak tersedia di Apache Airflow UI, template koneksi alternatif dapat digunakan untuk menghasilkan string URI koneksi ini, seperti menggunakan template koneksi HTTP. Perbedaan utama adalah awalan URI, seperti`my-conn-type://`, yang biasanya diabaikan oleh penyedia Apache Airflow untuk koneksi. Halaman ini menjelaskan cara menggunakan templat koneksi di Apache Airflow UI secara bergantian untuk berbagai jenis koneksi.

**Awas**  
Jangan menimpa [https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/connections/aws.html](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/connections/aws.html)koneksi di Amazon MWAA. Amazon MWAA menggunakan koneksi ini untuk melakukan berbagai tugas penting, seperti mengumpulkan log tugas. Menimpa koneksi ini dapat mengakibatkan hilangnya data dan gangguan pada ketersediaan lingkungan Anda.

**Topics**
+ [Contoh koneksi URI string](#manage-connection-types-string-example)
+ [Contoh template koneksi](#manage-connection-types-template-example)
+ [Contoh menggunakan template koneksi HTTP untuk koneksi Jdbc](#manage-connection-types-example)

## Contoh koneksi URI string
<a name="manage-connection-types-string-example"></a>

Contoh berikut menyajikan string URI koneksi untuk jenis koneksi MySQL.

```
'mysql://288888a0-50a0-888-9a88-1a111aaa0000.a1.us-east-1.airflow.amazonaws.com%2Fhome?role_arn=arn%3Aaws%3Aiam%3A%3A001122332255%3Arole%2Fservice-role%2FAmazonMWAA-MyAirflowEnvironment-iAaaaA&region_name=us-east-1'
```

## Contoh template koneksi
<a name="manage-connection-types-template-example"></a>

Contoh berikut menggambarkan template koneksi HTTP di Apache Airflow UI.

------
#### [ Apache Airflow v3 ]

![\[Gambar ini menggambarkan jenis koneksi HTTP di Apache Airflow UI.\]](http://docs.aws.amazon.com/id_id/mwaa/latest/userguide/images/airflow-connection-v3.0.6.png)


------
#### [ Apache Airflow v2 ]

![\[Gambar ini menggambarkan jenis koneksi HTTP di Apache Airflow UI.\]](http://docs.aws.amazon.com/id_id/mwaa/latest/userguide/images/airflow-connection-v2.0.2.png)


------

## Contoh menggunakan template koneksi HTTP untuk koneksi Jdbc
<a name="manage-connection-types-example"></a>

Gunakan contoh berikut untuk menerapkan template koneksi **HTTP** untuk jenis koneksi *Jdbc* di Apache Airflow UI.

------
#### [ Apache Airflow v3 ]

Contoh berikut menampilkan string URI koneksi yang dihasilkan oleh Apache Airflow untuk contoh di bagian ini.

```
http://myconnectionurl/some/path&login=mylogin&extra__jdbc__dry__path=usr/local/airflow/dags/classpath/redshif-jdbc42-2.0.0.1.jar&extra__jdbc__dry__clsname=redshift-jdbc42-2.0.0.1
```

Gunakan contoh berikut untuk menerapkan template koneksi HTTP untuk koneksi *Jdbc* untuk Apache Airflow v3 di Apache Airflow UI.

![\[Gambar ini menggambarkan jenis koneksi HTTP untuk koneksi Jdbc di Apache Airflow UI.\]](http://docs.aws.amazon.com/id_id/mwaa/latest/userguide/images/airflow-connection-jdbc-v3.0.6.png)


------
#### [ Apache Airflow v2 ]

Contoh berikut menampilkan string URI koneksi yang dihasilkan oleh Apache Airflow untuk contoh di bagian ini.

```
http://myconnectionurl/some/path&login=mylogin&extra__jdbc__dry__path=usr/local/airflow/dags/classpath/redshif-jdbc42-2.0.0.1.jar&extra__jdbc__dry__clsname=redshift-jdbc42-2.0.0.1
```

Gunakan contoh berikut untuk menerapkan template koneksi HTTP untuk koneksi *Jdbc* untuk Apache Airflow v2 di Apache Airflow UI.

![\[Gambar ini menggambarkan jenis koneksi HTTP untuk koneksi Jdbc di Apache Airflow UI.\]](http://docs.aws.amazon.com/id_id/mwaa/latest/userguide/images/airflow-connection-jdbc-v2.0.2.png)


------

# Mengkonfigurasi koneksi Apache Airflow menggunakan rahasia AWS Secrets Manager
<a name="connections-secrets-manager"></a>

AWS Secrets Manager adalah backend Apache Airflow alternatif yang didukung pada Alur Kerja Terkelola Amazon untuk lingkungan Apache Airflow. Topik ini menjelaskan cara menggunakan AWS Secrets Manager untuk menyimpan rahasia dengan aman untuk variabel Apache Airflow dan koneksi Apache Airflow di Amazon Managed Workflows untuk Apache Airflow.

**catatan**  
Anda dikenakan biaya untuk rahasia yang Anda buat. Untuk informasi selengkapnya tentang harga Secrets Manager, lihat [AWS Harga](https://aws.amazon.com/secrets-manager/pricing/).
[AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store) juga didukung sebagai backend rahasia di Amazon MWAA. Untuk informasi selengkapnya, lihat [dokumentasi Amazon Provider Package](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/secrets-backends/aws-ssm-parameter-store.html).

**Contents**
+ [Langkah satu: Berikan Amazon MWAA izin untuk mengakses kunci rahasia Secrets Manager](#connections-sm-policy)
+ [Langkah kedua: Buat backend Secrets Manager sebagai opsi konfigurasi Apache Airflow](#connections-sm-aa-configuration)
+ [Langkah ketiga: Hasilkan string URI koneksi Apache AWS Airflow](#connections-sm-aa-uri)
+ [Langkah empat: Tambahkan variabel di Secrets Manager](#connections-sm-createsecret-variables)
+ [Langkah lima: Tambahkan koneksi di Secrets Manager](#connections-sm-createsecret-connection)
+ [Kode sampel](#connections-sm-samples)
+ [Sumber Daya](#connections-sm-blogs)
+ [Apa selanjutnya?](#connections-sm-next-up)

## Langkah satu: Berikan Amazon MWAA izin untuk mengakses kunci rahasia Secrets Manager
<a name="connections-sm-policy"></a>

[Peran eksekusi](mwaa-create-role.md) untuk lingkungan Amazon MWAA Anda memerlukan akses baca ke kunci rahasia. AWS Secrets Manager Kebijakan IAM berikut memungkinkan akses baca-tulis menggunakan kebijakan -managed. AWS[SecretsManagerReadWrite](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/SecretsManagerReadWrite$jsonEditor)

**Untuk melampirkan kebijakan ke peran eksekusi Anda**

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

1. Pilih lingkungan.

1. Pilih peran eksekusi Anda di panel **Izin**.

1. Pilih **Lampirkan kebijakan**.

1. Ketik `SecretsManagerReadWrite` di bidang teks **Filter kebijakan**.

1. Pilih **Lampirkan kebijakan**.

Jika Anda tidak ingin menggunakan kebijakan izin yang AWS dikelola, Anda dapat langsung memperbarui peran eksekusi lingkungan Anda untuk mengizinkan tingkat akses apa pun ke sumber daya Secrets Manager Anda. Misalnya, pernyataan kebijakan berikut memberikan akses baca ke semua rahasia yang Anda buat Wilayah AWS di Secrets Manager tertentu.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetResourcePolicy",
                "secretsmanager:GetSecretValue",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecretVersionIds"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:*"
        },
        {
            "Effect": "Allow",
            "Action": "secretsmanager:ListSecrets",
            "Resource": "*"
        }
    ]
}
```

------

## Langkah kedua: Buat backend Secrets Manager sebagai opsi konfigurasi Apache Airflow
<a name="connections-sm-aa-configuration"></a>

Bagian berikut menjelaskan cara membuat opsi konfigurasi Apache Airflow di konsol Amazon MWAA untuk backend. AWS Secrets Manager Jika Anda menggunakan pengaturan konfigurasi dengan nama yang sama`airflow.cfg`, konfigurasi yang Anda buat dalam langkah-langkah berikut akan diutamakan dan mengganti pengaturan konfigurasi.

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

1. Pilih lingkungan.

1. Pilih **Edit**.

1. Pilih **Berikutnya**.

1. Pilih **Tambahkan konfigurasi khusus** di panel **Opsi konfigurasi Aliran Udara**. Tambahkan pasangan kunci-nilai berikut:

   1. **`secrets.backend`**: **`airflow.providers.amazon.aws.secrets.secrets_manager.SecretsManagerBackend`**

   1. **`secrets.backend_kwargs`**: **`{"connections_prefix" : "airflow/connections", "variables_prefix" : "airflow/variables"}`** Ini mengkonfigurasi Apache Airflow untuk mencari string koneksi dan variabel di dan jalur. `airflow/connections/*` `airflow/variables/*`

      Anda dapat menggunakan [pola pencarian](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/secrets-backends/aws-secrets-manager.html#optional-lookup) untuk mengurangi jumlah panggilan API yang dilakukan Amazon MWAA ke Secrets Manager atas nama Anda. Jika Anda tidak menentukan pola pencarian, Apache Airflow akan mencari semua koneksi dan variabel di backend yang dikonfigurasi. Dengan menentukan pola, Anda mempersempit kemungkinan jalur yang dicari Apache Airflow. Ini menurunkan biaya Anda saat menggunakan Secrets Manager dengan Amazon MWAA.

      Untuk menentukan pola pencarian, tentukan `variables_lookup_pattern` parameter `connections_lookup_pattern` dan. Parameter ini menerima RegEx string sebagai input. Misalnya, untuk mencari rahasia yang dimulai`test`, masukkan yang berikut ini untuk`secrets.backend_kwargs`:

      ```
      {
        "connections_prefix": "airflow/connections",
        "connections_lookup_pattern": "^test",
        "variables_prefix" : "airflow/variables",
        "variables_lookup_pattern": "^test"
      }
      ```
**catatan**  
Untuk menggunakan `connections_lookup_pattern` dan`variables_lookup_pattern`, Anda harus menginstal `apache-airflow-providers-amazon` versi 7.3.0 atau lebih tinggi. Untuk informasi lebih lanjut tentang memperbarui paket provder ke versi yang lebih baru, lihat. [Kendala berkas](connections-packages.md#connections-packages-constraints)

1. Pilih **Simpan**.

## Langkah ketiga: Hasilkan string URI koneksi Apache AWS Airflow
<a name="connections-sm-aa-uri"></a>

[Untuk membuat string koneksi, gunakan tombol “tab” pada keyboard Anda untuk membuat indentasi pasangan kunci-nilai di objek Connection.](https://airflow.apache.org/docs/stable/howto/connection/index.html) Kami juga merekomendasikan membuat variabel untuk `extra` objek dalam sesi shell Anda. Bagian berikut memandu Anda melalui langkah-langkah untuk [menghasilkan string URI koneksi Apache Airflow](https://airflow.apache.org/docs/apache-airflow/stable/howto/connection.html#generating-a-connection-uri) untuk lingkungan Amazon MWAA menggunakan Apache Airflow atau skrip Python.

------
#### [ Apache Airflow CLI ]

Sesi shell berikut menggunakan CLI Airflow lokal Anda untuk menghasilkan string koneksi. Jika Anda tidak menginstal CLI, kami sarankan menggunakan skrip Python.

1. Buka sesi shell Python:

   ```
   python3
   ```

1. Masukkan perintah berikut:

   ```
   >>> import json
   ```

1. Masukkan perintah berikut:

   ```
   >>> from airflow.models.connection import Connection
   ```

1. Buat variabel dalam sesi shell Anda untuk `extra` objek. Gantikan nilai sampel *YOUR\$1EXECUTION\$1ROLE\$1ARN* dengan peran eksekusi ARN, dan wilayah di *us-east-1* (seperti`us-east-1`).

   ```
   >>> extra=json.dumps({'role_arn': 'YOUR_EXECUTION_ROLE_ARN', 'region_name': 'us-east-1'})
   ```

1. Buat objek koneksi. Gantikan nilai sampel `myconn` dengan nama koneksi Apache Airflow.

   ```
   >>> myconn = Connection(
   ```

1. Gunakan tombol “tab” pada keyboard Anda untuk indentasi setiap pasangan kunci-nilai berikut di objek koneksi Anda. Gantikan nilai sampel di*red*.

   1. Tentukan jenis AWS koneksi:

      ```
      ... conn_id='aws',
      ```

   1. Tentukan opsi database Apache Airflow:

      ```
      ... conn_type='mysql',
      ```

   1. Tentukan URL UI Apache Airflow di Amazon MWAA:

      ```
      ... host='288888a0-50a0-888-9a88-1a111aaa0000.a1.us-east-1.airflow.amazonaws.com/home',
      ```

   1. Tentukan ID kunci AWS akses (nama pengguna) untuk masuk ke Amazon MWAA:

      ```
      ... login='YOUR_AWS_ACCESS_KEY_ID',
      ```

   1. Tentukan kunci akses AWS rahasia (kata sandi) untuk masuk ke Amazon MWAA:

      ```
      ... password='YOUR_AWS_SECRET_ACCESS_KEY',
      ```

   1. Tentukan variabel sesi `extra` shell:

      ```
      ... extra=extra
      ```

   1. Tutup objek koneksi.

      ```
      ... )
      ```

1. Cetak string URI koneksi:

   ```
   >>> myconn.get_uri()
   ```

   Lihat string URI koneksi dalam respons:

   ```
   'mysql://288888a0-50a0-888-9a88-1a111aaa0000.a1.us-east-1.airflow.amazonaws.com%2Fhome?role_arn=arn%3Aaws%3Aiam%3A%3A001122332255%3Arole%2Fservice-role%2FAmazonMWAA-MyAirflowEnvironment-iAaaaA&region_name=us-east-1'
   ```

------
#### [ Python script ]

Script Python berikut tidak memerlukan Apache Airflow CLI.

1. Salin isi contoh kode berikut dan simpan secara lokal sebagai`mwaa_connection.py`.

   ```
   import urllib.parse
   								
   								conn_type = 'YOUR_DB_OPTION'
   								host = 'YOUR_MWAA_AIRFLOW_UI_URL'
   								port = 'YOUR_PORT'
   								login = 'YOUR_AWS_ACCESS_KEY_ID'
   								password = 'YOUR_AWS_SECRET_ACCESS_KEY'
   								role_arn = urllib.parse.quote_plus('YOUR_EXECUTION_ROLE_ARN')
   								region_name = 'us-east-1'
   								
   								conn_string = '{0}://{1}:{2}@{3}:{4}?role_arn={5}&region_name={6}'.format(conn_type, login, password, host, port, role_arn, region_name)
   								print(conn_string)
   ```

1. Gantikan placeholder di. *red*

1. Jalankan skrip berikut untuk menghasilkan string koneksi.

   ```
   python3 mwaa_connection.py
   ```

------

## Langkah empat: Tambahkan variabel di Secrets Manager
<a name="connections-sm-createsecret-variables"></a>

Bagian berikut menjelaskan cara membuat rahasia untuk variabel di Secrets Manager.

**Untuk membuat rahasia**

1. Buka [konsol AWS Secrets Manager](https://console.aws.amazon.com/secretsmanager/home#/environments).

1. Pilih **Simpan rahasia baru**.

1. Pilih **jenis rahasia lainnya**.

1. Pada **Tentukan key/value pasangan yang akan disimpan di panel rahasia ini**, pilih **Plaintext**.

1. Tambahkan nilai variabel sebagai **Plaintext** dalam format berikut.

   ```
   "YOUR_VARIABLE_VALUE"
   ```

   Misalnya, untuk menentukan bilangan bulat:

   ```
   14
   ```

   Misalnya, untuk menentukan string:

   ```
   "mystring"
   ```

1. Untuk **kunci Enkripsi**, pilih opsi AWS KMS kunci dari daftar dropdown.

1. Masukkan nama di bidang teks untuk **nama Rahasia** dalam format berikut.

   ```
   airflow/variables/YOUR_VARIABLE_NAME
   ```

   Contoh:

   ```
   airflow/variables/test-variable
   ```

1. Pilih **Berikutnya**.

1. Pada halaman **Konfigurasi rahasia**, pada **nama rahasia dan deskripsi** panel, lakukan hal berikut.

   1. Untuk **nama Rahasia**, berikan nama untuk rahasia Anda.

   1. (Opsional) Untuk **Deskripsi**, berikan deskripsi untuk rahasia Anda.

   Pilih **Berikutnya**.

1. Pada **rotasi Konfigurasi - opsional** tinggalkan opsi default dan pilih **Berikutnya**.

1. Ulangi langkah-langkah ini di Secrets Manager untuk setiap variabel tambahan yang ingin Anda tambahkan.

1. Pada halaman **Review**, tinjau rahasia Anda, lalu pilih **Store**.

## Langkah lima: Tambahkan koneksi di Secrets Manager
<a name="connections-sm-createsecret-connection"></a>

Bagian berikut menjelaskan cara membuat rahasia untuk URI string koneksi Anda di Secrets Manager.

**Untuk membuat rahasia**

1. Buka [konsol AWS Secrets Manager](https://console.aws.amazon.com/secretsmanager/home#/environments).

1. Pilih **Simpan rahasia baru**.

1. Pilih **jenis rahasia lainnya**.

1. Pada **Tentukan key/value pasangan yang akan disimpan di panel rahasia ini**, pilih **Plaintext**.

1. Tambahkan string URI koneksi sebagai **Plaintext** dalam format berikut.

   ```
   YOUR_CONNECTION_URI_STRING
   ```

   Contoh:

   ```
   mysql://288888a0-50a0-888-9a88-1a111aaa0000.a1.us-east-1.airflow.amazonaws.com%2Fhome?role_arn=arn%3Aaws%3Aiam%3A%3A001122332255%3Arole%2Fservice-role%2FAmazonMWAA-MyAirflowEnvironment-iAaaaA&region_name=us-east-1
   ```
**Awas**  
Apache Airflow mem-parsing setiap nilai dalam string koneksi. Anda **tidak** boleh menggunakan tanda kutip tunggal atau ganda, atau mem-parsing koneksi sebagai string tunggal.

1. Untuk **kunci Enkripsi**, pilih opsi AWS KMS kunci dari daftar dropdown.

1. Masukkan nama di bidang teks untuk **nama Rahasia** dalam format berikut.

   ```
   airflow/connections/YOUR_CONNECTION_NAME
   ```

   Contoh:

   ```
   airflow/connections/myconn
   ```

1. Pilih **Berikutnya**.

1. Pada halaman **Konfigurasi rahasia**, pada **nama rahasia dan deskripsi** panel, lakukan hal berikut.

   1. Untuk **nama Rahasia**, berikan nama untuk rahasia Anda.

   1. (Opsional) Untuk **Deskripsi**, berikan deskripsi untuk rahasia Anda.

   Pilih **Berikutnya**.

1. Pada **rotasi Konfigurasi - opsional** tinggalkan opsi default dan pilih **Berikutnya**.

1. Ulangi langkah-langkah ini di Secrets Manager untuk setiap variabel tambahan yang ingin Anda tambahkan.

1. Pada halaman **Review**, tinjau rahasia Anda, lalu pilih **Store**.

## Kode sampel
<a name="connections-sm-samples"></a>
+ Pelajari cara menggunakan kunci rahasia untuk koneksi Apache Airflow `myconn` () di halaman ini menggunakan kode contoh di. [Menggunakan kunci rahasia AWS Secrets Manager untuk koneksi Apache Airflow](samples-secrets-manager.md)
+ Pelajari cara menggunakan kunci rahasia untuk variabel Apache Airflow `test-variable` () di halaman ini menggunakan kode sampel di. [Menggunakan kunci rahasia AWS Secrets Manager untuk variabel Apache Airflow](samples-secrets-manager-var.md)

## Sumber Daya
<a name="connections-sm-blogs"></a>
+ Untuk informasi selengkapnya tentang mengonfigurasi rahasia Secrets Manager menggunakan konsol dan AWS CLI, lihat [Buat rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) di *Panduan AWS Secrets Manager Pengguna*.
+ Gunakan skrip Python untuk memigrasikan volume besar variabel Apache Airflow dan koneksi ke Secrets Manager di Pindahkan koneksi dan variabel [Apache Airflow Anda](https://aws.amazon.com/blogs/opensource/move-apache-airflow-connections-variables-aws-secrets-manager/). AWS Secrets Manager

## Apa selanjutnya?
<a name="connections-sm-next-up"></a>
+ Pelajari cara membuat token untuk mengakses Apache Airflow UI di. [Mengakses Apache Airflow](access-airflow-ui.md)