Menggunakan opsi konfigurasi Apache Airflow di Amazon MWAA - Amazon Managed Workflows for Apache Airflow (MWAA)

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

Menggunakan opsi konfigurasi Apache Airflow di Amazon MWAA

Opsi konfigurasi Apache Airflow dapat dilampirkan ke Alur Kerja Terkelola Amazon Anda untuk lingkungan Apache Airflow sebagai variabel lingkungan. Anda dapat memilih dari daftar tarik-turun yang disarankan, atau menentukan opsi konfigurasi khusus untuk versi Apache Airflow Anda di konsol Amazon MWAA. Topik ini menjelaskan opsi konfigurasi Apache Airflow yang tersedia, dan cara menggunakan opsi ini untuk mengganti pengaturan konfigurasi Apache Airflow di lingkungan Anda.

Prasyarat

Anda memerlukan yang berikut ini sebelum dapat menyelesaikan langkah-langkah di halaman ini.

  • Izin — AWS Akun Anda harus telah diberikan akses oleh administrator Anda ke kebijakan kontrol MWAAFull ConsoleAccess akses Amazon untuk lingkungan Anda. Selain itu, lingkungan Amazon MWAA Anda harus diizinkan oleh peran eksekusi Anda untuk mengakses AWS sumber daya yang digunakan oleh lingkungan Anda.

  • Akses — Jika Anda memerlukan akses ke repositori publik untuk menginstal dependensi langsung di server web, lingkungan Anda harus dikonfigurasi dengan akses server web jaringan publik. Untuk informasi selengkapnya, lihat Mode akses Apache Airflow.

  • Konfigurasi Amazon S3 - Bucket Amazon S3 yang digunakan untuk menyimpan plugin kustom DAGs Andaplugins.zip, dan dependensi Python harus dikonfigurasi dengan Akses Publik Diblokir dan requirements.txt Diaktifkan Versi.

Cara kerjanya

Saat Anda membuat lingkungan, Amazon MWAA melampirkan pengaturan konfigurasi yang Anda tentukan di konsol Amazon MWAA dalam opsi konfigurasi Airflow sebagai variabel lingkungan ke wadah untuk lingkungan Anda. AWS Fargate Jika Anda menggunakan setelan dengan nama yang samaairflow.cfg, opsi yang Anda tentukan di konsol Amazon MWAA akan mengganti nilainya. airflow.cfg

Meskipun kami tidak mengekspos airflow.cfg di Apache Airflow UI dari lingkungan Amazon MWAA secara default, Anda dapat mengubah opsi konfigurasi Apache Airflow langsung di konsol Amazon MWAA, termasuk pengaturan untuk mengekspos konfigurasi. webserver.expose_config

Menggunakan opsi konfigurasi untuk memuat plugin di Apache Airflow v2

Secara default di Apache Airflow v2, plugin dikonfigurasi untuk dimuat “malas” menggunakan pengaturan. core.lazy_load_plugins : True Jika Anda menggunakan plugin khusus di Apache Airflow v2, Anda harus menambahkan core.lazy_load_plugins : False sebagai opsi konfigurasi Apache Airflow untuk memuat plugin pada awal setiap proses Airflow untuk mengganti pengaturan default.

Ikhtisar opsi konfigurasi

Saat Anda menambahkan konfigurasi di konsol Amazon MWAA, Amazon MWAA menulis konfigurasi sebagai variabel lingkungan.

  • Opsi yang terdaftar. Anda dapat memilih dari salah satu pengaturan konfigurasi yang tersedia untuk versi Apache Airflow Anda di daftar dropdown. Misalnya,dag_concurrency:16. Pengaturan konfigurasi diterjemahkan ke wadah Fargate lingkungan Anda sebagai AIRFLOW__CORE__DAG_CONCURRENCY : 16

  • Opsi kustom. Anda juga dapat menentukan opsi konfigurasi Airflow yang tidak terdaftar untuk versi Apache Airflow Anda di daftar dropdown. Misalnya,foo.user:YOUR_USER_NAME. Pengaturan konfigurasi diterjemahkan ke wadah Fargate lingkungan Anda sebagai AIRFLOW__FOO__USER : YOUR_USER_NAME

Opsi konfigurasi Apache Airflow

Gambar berikut menunjukkan di mana Anda dapat menyesuaikan opsi konfigurasi Apache Airflow di konsol Amazon MWAA.

Gambar ini menunjukkan di mana Anda dapat menyesuaikan opsi konfigurasi Apache Airflow di konsol Amazon MWAA.

Referensi Apache Airflow

Untuk daftar opsi konfigurasi yang didukung oleh Apache Airflow, lihat Referensi Konfigurasi dalam panduan referensi Apache Airflow. Untuk melihat opsi untuk versi Apache Airflow yang Anda jalankan di Amazon MWAA, pilih versi dari daftar drop-down.

Menggunakan konsol Amazon MWAA

Prosedur berikut memandu Anda melalui langkah-langkah menambahkan opsi konfigurasi Aliran Udara ke lingkungan Anda.

  1. Buka halaman Lingkungan di konsol Amazon MWAA.

  2. Pilih lingkungan.

  3. Pilih Edit.

  4. Pilih Berikutnya.

  5. Pilih Tambahkan konfigurasi khusus di panel Opsi konfigurasi Aliran Udara.

  6. Pilih konfigurasi dari daftar dropdown dan masukkan nilai, atau ketik konfigurasi khusus dan masukkan nilai.

  7. Pilih Tambahkan konfigurasi khusus untuk setiap konfigurasi yang ingin Anda tambahkan.

  8. Pilih Simpan.

Referensi konfigurasi

Bagian berikut berisi daftar konfigurasi Apache Airflow yang tersedia di daftar dropdown di konsol Amazon MWAA.

Konfigurasi email

Daftar berikut menunjukkan opsi konfigurasi pemberitahuan email Airflow yang tersedia di Amazon MWAA.

Kami merekomendasikan menggunakan port 587 untuk lalu lintas SMTP. Secara default, AWS memblokir lalu lintas SMTP keluar pada port 25 dari semua instans Amazon. EC2 Jika Anda ingin mengirim lalu lintas keluar pada port 25, Anda dapat meminta pembatasan ini dihapus.

Apache Airflow v2
Versi aliran udara Opsi konfigurasi aliran udara Deskripsi Nilai contoh

v2

email.email_backend

Utilitas Apache Airflow digunakan untuk pemberitahuan email di email_backend.

airflow.utils.email.send_email_smtp

v2

smtp.smtp_host

Nama server keluar yang digunakan untuk alamat email di smtp_host.

localhost

v2

smtp.smtp_starttls

Transport Layer Security (TLS) digunakan untuk mengenkripsi email melalui Internet di smtp_starttls.

False

v2

smtp.smtp_ssl

Secure Sockets Layer (SSL) digunakan untuk menghubungkan server dan klien email di smtp_ssl.

True

v2

smtp.smtp_port

Port Transmission Control Protocol (TCP) yang ditunjuk ke server di smtp_port.

587

v2

smtp.smtp_mail_from

Alamat email keluar di smtp_mail_from.

myemail@domain.com

Konfigurasi tugas

Daftar berikut menunjukkan konfigurasi yang tersedia di daftar dropdown untuk tugas Airflow di Amazon MWAA.

Apache Airflow v2
Versi aliran udara Opsi konfigurasi aliran udara Deskripsi Nilai contoh

v2

core.default_task_retries

Berapa kali untuk mencoba kembali tugas Apache Airflow di default_task_retries.

3

v2

inti.paralelisme

Jumlah maksimum instance tugas yang dapat berjalan secara bersamaan di seluruh lingkungan secara paralel (paralelisme).

40

Konfigurasi penjadwal

Daftar berikut menunjukkan konfigurasi penjadwal Apache Airflow yang tersedia di daftar dropdown di Amazon MWAA.

Apache Airflow v2
Versi aliran udara Opsi konfigurasi aliran udara Deskripsi Nilai contoh

v2

scheduler.catchup_by_default

Memberitahu scheduler untuk membuat DAG run untuk “catch up” ke interval waktu tertentu di catchup_by_default.

False

v2

scheduler.scheduler_zombie_task_threshold

Memberi tahu penjadwal apakah akan menandai instance tugas sebagai gagal dan menjadwal ulang tugas di scheduler_zombie_task_threshold.

300

Konfigurasi pekerja

Daftar berikut menunjukkan konfigurasi pekerja Airflow yang tersedia di daftar dropdown di Amazon MWAA.

Apache Airflow v2
Versi aliran udara Opsi konfigurasi aliran udara Deskripsi Nilai contoh

v2

seledry.worker_autoscale

Jumlah tugas maksimum dan minimum yang dapat berjalan secara bersamaan pada pekerja mana pun yang menggunakan Celery Executor di worker_autoscale. Nilai harus dipisahkan koma dalam urutan sebagai berikut:. max_concurrency,min_concurrency

16,12

Konfigurasi server web

Daftar berikut menunjukkan konfigurasi server web Airflow yang tersedia di daftar dropdown di Amazon MWAA.

Apache Airflow v2
Versi aliran udara Opsi konfigurasi aliran udara Deskripsi Nilai contoh

v2

webserver.default_ui_timezone

Pengaturan datetime Apache Airflow UI default di default_ui_timezone.

catatan

Pengaturan default_ui_timezone opsi tidak mengubah zona waktu di mana Anda DAGs dijadwalkan untuk dijalankan. Untuk mengubah zona waktu untuk Anda DAGs, Anda dapat menggunakan plugin khusus. Untuk informasi selengkapnya, lihat Mengubah zona waktu DAG di Amazon MWAA.

Amerika/New_York

Konfigurasi pemicu

Daftar berikut menunjukkan konfigurasi pemicu Apache Airflow yang tersedia di Amazon MWAA.

Apache Airflow v2
Versi aliran udara Opsi konfigurasi aliran udara Deskripsi Nilai contoh

v2.7

mwaa.triggerer_enabled

Digunakan untuk mengaktifkan dan menonaktifkan pemicu di Amazon MWAA. Secara default, nilai ini diatur ke True. Jika disetel keFalse, Amazon MWAA tidak akan memulai proses pemicu apa pun pada penjadwal.

True

v2.7

triggerer.default_capacity

Mendefinisikan pemicu angka setiap pemicu dapat berjalan secara paralel. Di Amazon MWAA, kapasitas ini diatur per setiap pemicu dan per setiap penjadwal karena kedua komponen berjalan berdampingan satu sama lain. Default per scheduler diatur ke60,,125, 250500, dan 1000 untuk instance kecil, sedang dan besar, xlarge, dan 2xlarge, masing-masing.

125

Contoh dan kode sampel

Contoh DAG

Anda dapat menggunakan DAG berikut untuk mencetak opsi konfigurasi email_backend Apache Airflow Anda. Untuk menjalankan sebagai respons terhadap peristiwa Amazon MWAA, salin kode ke DAGs folder lingkungan Anda di bucket penyimpanan Amazon S3 Anda.

from airflow.decorators import dag from datetime import datetime def print_var(**kwargs): email_backend = kwargs['conf'].get(section='email', key='email_backend') print("email_backend") return email_backend @dag( dag_id="print_env_variable_example", schedule_interval=None, start_date=datetime(yyyy, m, d), catchup=False, ) def print_variable_dag(): email_backend_test = PythonOperator( task_id="email_backend_test", python_callable=print_var, provide_context=True ) print_variable_test = print_variable_dag()

Contoh pengaturan pemberitahuan email

Opsi konfigurasi Apache Airflow berikut dapat digunakan untuk akun email Gmail.com menggunakan kata sandi aplikasi. Untuk informasi selengkapnya, lihat Masuk menggunakan kata sandi aplikasi di panduan referensi Bantuan Gmail.

Gambar ini menunjukkan cara mengonfigurasi akun email gmail.com menggunakan opsi konfigurasi Apache Airflow di konsol MWAA.

Apa selanjutnya?