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

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 dropdown 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 akan memerlukan yang berikut ini sebelum Anda dapat menyelesaikan langkah-langkah di halaman ini.

  • Izin — Anda Akun AWS 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 lebih lanjut, lihatMode 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

Secara default di Apache Airflow v2 dan yang lebih baru, plugin dikonfigurasi untuk dimuat “malas” menggunakan pengaturan. core.lazy_load_plugins : True Jika Anda menggunakan plugin khusus, Anda harus menambahkan core.lazy_load_plugins : False sebagai opsi konfigurasi Apache Airflow untuk memuat plugin di 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 menggambarkan di mana Anda dapat menyesuaikan opsi konfigurasi Apache Airflow di konsol Amazon MWAA.

Gambar ini menggambarkan 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 mengakses 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 menampilkan opsi konfigurasi pemberitahuan email Airflow yang tersedia di Amazon MWAA untuk Apache Airflow v2 dan v3.

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.

Opsi konfigurasi aliran udara Deskripsi Nilai contoh

email.email_backend

Utilitas Apache Airflow digunakan untuk pemberitahuan email di email_backend.

airflow.utils.email.send_email_smtp

smtp.smtp_host

Nama server keluar yang digunakan untuk alamat email di smtp_host.

localhost

smtp.smtp_starttls

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

False

smtp.smtp_ssl

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

True

smtp.smtp_port

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

587

smtp.smtp_mail_from

Alamat email keluar di smtp_mail_from.

myemail@domain.com

Konfigurasi tugas

Daftar berikut menampilkan konfigurasi yang tersedia di daftar dropdown untuk tugas Airflow di Amazon MWAA untuk Apache Airflow v2 dan v3.

Opsi konfigurasi aliran udara Deskripsi Nilai contoh

core.default_task_retries

Berapa kali untuk mencoba kembali tugas Apache Airflow di default_task_retries.

3

inti.paralelisme

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

40

Konfigurasi penjadwal

Daftar berikut menampilkan konfigurasi penjadwal Apache Airflow yang tersedia di daftar dropdown di Amazon MWAA untuk Apache Airflow v2 dan v3.

Opsi konfigurasi aliran udara Deskripsi Nilai contoh

scheduler.catchup_by_default

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

False

scheduler.scheduler_zombie_task_threshold

catatan

Tidak tersedia di Apache Airflow v3.

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

300

Konfigurasi Worker

Daftar berikut menampilkan konfigurasi pekerja Airflow yang tersedia di daftar dropdown di Amazon MWAA untuk Apache Airflow v2 dan v3.

Opsi konfigurasi aliran udara Deskripsi Nilai contoh

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 menampilkan konfigurasi server web Apache Airflow yang tersedia di daftar dropdown di Amazon MWAA untuk Apache Airflow v2 dan v3.

Opsi konfigurasi aliran udara Deskripsi Nilai contoh

webserver.default_ui_timezone

catatan

Tidak tersedia di Apache Airflow v3.

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 lebih lanjut, lihatMengubah zona waktu DAG di Amazon MWAA.

Amerika/New_York

Konfigurasi pemicu

Daftar berikut menampilkan konfigurasi pemicu Apache Airflow yang tersedia di Amazon MWAA untuk Apache Airflow v2 dan v3.

Opsi konfigurasi aliran udara Deskripsi Nilai contoh

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

triggerer.default_capacity (dalam v2)

triggerer.capacity (dalam v3)

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 menggambarkan cara mengonfigurasi akun email gmail.com menggunakan opsi konfigurasi Apache Airflow di konsol MWAA.

Apa selanjutnya?