Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Halaman ini menjelaskan cara mentransfer DAG, data, dan konfigurasi dari lingkungan Managed Airflow (Gen 2) yang ada ke Managed Airflow (Gen 3).
Panduan migrasi lainnya
| Dari | Ke | Metode | Panduan |
|---|---|---|---|
| Managed Airflow (Gen 3), Airflow 2 | Managed Airflow (Gen 3), Airflow 3 | Berdampingan, transfer manual | Panduan migrasi manual |
| Managed Airflow (Generasi 2) | Managed Airflow (Gen 3) | Secara berdampingan, menggunakan skrip migrasi | Panduan migrasi skrip |
| Managed Airflow (Generasi 2) | Managed Airflow (Gen 3) | Berdampingan, menggunakan snapshot | Panduan ini |
| Managed Airflow (Generasi 1 Lama), Airflow 2 | Managed Airflow (Gen 3) | Berdampingan, menggunakan snapshot | Panduan migrasi snapshot |
| Managed Airflow (Generasi 1 Lama), Airflow 2 | Managed Airflow (Generasi 2) | Berdampingan, menggunakan snapshot | Panduan migrasi snapshot |
| Managed Airflow (Generasi 1 Lama), Airflow 2 | Managed Airflow (Generasi 2) | Berdampingan, transfer manual | Panduan migrasi manual |
| Managed Airflow (Generasi 1 Lama), Airflow 1 | Managed Airflow (Gen 2), Airflow 2 | Berdampingan, menggunakan snapshot | Panduan migrasi snapshot |
| Managed Airflow (Generasi 1 Lama), Airflow 1 | Managed Airflow (Gen 2), Airflow 2 | Berdampingan, transfer manual | Panduan migrasi manual |
| Managed Airflow (Generasi 1 Lama), Airflow 1 | Managed Airflow (Generasi 1 Lama), Airflow 2 | Berdampingan, transfer manual | Panduan migrasi manual |
Sebelum memulai
Panduan migrasi ini menggunakan snapshot. Snapshot didukung di Managed Airflow (Gen 2) versi 2.0.9 dan yang lebih baru.
Managed Airflow mendukung migrasi berdampingan dari Managed Airflow (Gen 2) ke Managed Airflow (Gen 3). Anda tidak dapat melakukan upgrade di tempat dari Managed Airflow (Gen 2) ke Managed Airflow (Gen 3).
Periksa daftar perbedaan antara Managed Airflow (Gen 2) dan Managed Airflow (Gen 3). Pastikan lingkungan Anda tidak menggunakan fitur yang belum tersedia di Managed Airflow (Gen 3).
Ukuran maksimum database Airflow yang mendukung snapshot adalah 20 GB. Jika database lingkungan Anda berukuran lebih dari 20 GB, kurangi ukuran database Airflow.
Jumlah total objek dalam folder
/dags,/plugins,dan/datadi bucket lingkungan harus kurang dari 100.000 untuk membuat snapshot.Jika Anda menggunakan mekanisme XCom untuk mentransfer file, pastikan Anda menggunakannya sesuai dengan panduan Airflow. Mentransfer file besar atau sejumlah besar file menggunakan XCom akan memengaruhi performa database Airflow dan dapat menyebabkan kegagalan saat memuat snapshot atau mengupgrade lingkungan Anda. Pertimbangkan untuk menggunakan alternatif seperti Cloud Storage untuk mentransfer data dalam volume besar.
Pastikan DAG Anda kompatibel dengan Managed Airflow (Gen 3)
Pastikan DAG Anda kompatibel dengan Managed Airflow (Gen 3) dengan mengikuti saran berikut:
Daftar paket di lingkungan Managed Airflow (Gen 3) dapat berbeda dengan di lingkungan Managed Airflow (Gen 2) Anda. Hal ini dapat memengaruhi kompatibilitas DAG Anda dengan Managed Airflow (Gen 3).
Managed Airflow memuat penggantian konfigurasi, variabel lingkungan, dan paket PyPI dari snapshot lingkungan Managed Airflow (Gen 2) ke Managed Airflow (Gen 3) tanpa mengubah atau menyesuaikannya untuk kompatibilitas. Untuk menyelesaikan konflik antara parameter konfigurasi ini, Anda dapat melewati pemuatan paket PyPI kustom, variabel lingkungan, dan penggantian konfigurasi Airflow saat memuat snapshot.
Di Managed Airflow (Gen 3), cluster lingkungan berada di project tenant. Pastikan DAG Anda kompatibel dengan perubahan ini. Secara khusus, workload
KubernetesPodOperatorkini diskalakan secara independen dari lingkungan Anda dan konfigurasi afinitas Pod tidak dapat digunakan.
Menjeda DAG di lingkungan Managed Airflow (Gen 2)
Untuk menghindari duplikasi eksekusi DAG, jeda semua DAG di lingkungan Managed Airflow (Gen 2) Anda sebelum menyimpan snapshot-nya. Lewati DAG pemantauan keaktifan
(airflow_monitoring), DAG ini digunakan untuk tujuan pemantauan dan tidak disertakan
dalam snapshot lingkungan.
Anda dapat menggunakan salah satu opsi berikut untuk menjeda DAG:
Menjeda DAG satu per satu di konsol Google Cloud :
Di konsol Google Cloud , buka halaman Environments.
Pilih lingkungan untuk melihat detailnya.
Di halaman Environment details, buka tab DAGs.
Klik nama DAG.
Di halaman DAG details, klik Pause DAG.
Di antarmuka web Airflow, buka DAG dan jeda semua DAG secara manual.
Gunakan skrip composer_dags untuk menjeda semua DAG:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation pauseGanti:
COMPOSER_2_ENVdengan nama lingkungan Managed Airflow (Gen 2) Anda.PROJECT_IDdengan Project ID.COMPOSER_2_LOCATIONdengan region tempat lingkungan berada.
Menyimpan snapshot lingkungan Managed Airflow (Gen 2) Anda
Konsol
Buat snapshot lingkungan Anda:
Di konsol Google Cloud , buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Managed Airflow (Gen 2) Anda. Halaman Environment details akan terbuka.
Klik Create snapshot.
Dalam dialog Buat snapshot, klik Kirim. Dalam panduan ini, Anda menyimpan snapshot di bucket lingkungan Managed Airflow (Gen 2), tetapi Anda dapat memilih lokasi lain jika mau. Jika Anda menentukan lokasi kustom, akun layanan kedua lingkungan harus memiliki izin baca dan tulis untuk lokasi yang ditentukan.
Tunggu hingga Managed Airflow membuat snapshot.
Setelah snapshot dibuat, pesan yang ditampilkan akan menampilkan lokasi snapshot. Simpan informasi ini untuk digunakan nanti saat Anda memuat snapshot ini ke lingkungan Managed Airflow (Gen 3).
Misalnya, lokasi snapshot mungkin terlihat seperti:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.
gcloud
Buat snapshot lingkungan Managed Airflow (Gen 2) Anda:
gcloud composer environments snapshots save \ COMPOSER_2_ENV \ --location COMPOSER_2_LOCATIONGanti:
COMPOSER_2_ENVdengan nama lingkungan Managed Airflow (Gen 2) Anda.COMPOSER_2_LOCATIONdengan region tempat lingkungan Managed Airflow (Gen 2) berada.(opsional) Anda dapat menggunakan argumen
--snapshot-locationuntuk menentukan lokasi kustom tempat snapshot lingkungan harus disimpan.Dalam panduan ini, Anda menyimpan snapshot di bucket lingkungan Managed Airflow (Gen 2), tetapi Anda dapat memilih lokasi lain jika mau. Jika Anda menentukan lokasi kustom, akun layanan kedua lingkungan harus memiliki izin baca dan tulis untuk lokasi yang ditentukan.
Setelah snapshot dibuat, pesan yang ditampilkan akan menampilkan lokasi snapshot. Simpan informasi ini untuk digunakan nanti saat Anda memuat snapshot ini ke lingkungan Managed Airflow (Gen 3).
Misalnya, lokasi snapshot mungkin terlihat seperti:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.
Membuat lingkungan Managed Airflow (Gen 3)
Buat lingkungan Managed Airflow (Gen 3) menggunakan panduan berikut:
Anda dapat memulai dengan konfigurasi batas resource yang sama dengan lingkungan Managed Airflow (Gen 2), lalu menskalakan dan mengoptimalkan konfigurasi lebih lanjut.
Di lingkungan Managed Airflow (Gen 3), prosesor DAG Airflow berjalan sebagai komponen lingkungan terpisah. Karena pemroses DAG memindahkan penguraian DAG dari penjadwal, Anda mungkin ingin mendistribusikan ulang resource yang sebelumnya dialokasikan ke penjadwal Airflow. Anda dapat melakukannya nanti setelah bermigrasi ke Managed Airflow (Gen 3) dan memantau performa penjadwal dan pemroses DAG.
Managed Airflow (Gen 3) menyediakan penyiapan jaringan yang lebih efisien dan sederhana dibandingkan dengan Managed Airflow (Gen 2). Anda dapat beralih antara konfigurasi jaringan IP Publik dan IP Pribadi, serta melampirkan dan melepaskan jaringan VPC. Anda tidak perlu menentukan rentang IP . Pastikan konfigurasi jaringan lingkungan Managed Airflow (Gen 3) Anda cocok dengan konfigurasi Managed Airflow (Gen 2) yang sesuai.
Anda tidak perlu menentukan penggantian konfigurasi dan variabel lingkungan karena Anda akan menggantinya nanti saat memuat snapshot lingkungan Managed Airflow (Gen 2).
Memuat snapshot ke lingkungan Managed Airflow (Gen 3) Anda
Konsol
Untuk memuat snapshot ke lingkungan Managed Airflow (Gen 3) Anda:
Di konsol Google Cloud , buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Managed Airflow (Gen 3) Anda. Halaman Environment details akan terbuka.
Klik Load snapshot.
Pada dialog Muat snapshot, klik Jelajahi.
Pilih folder yang berisi snapshot.
Jika Anda menggunakan lokasi default untuk panduan ini, folder ini berada di bucket lingkungan Managed Airflow (Gen 2) Anda di folder
/snapshots, dan namanya adalah stempel waktu operasi penyimpanan snapshot. Lokasi yang sama ditampilkan dalam pesan tentang keberhasilan pembuatan snapshot.Contoh:
us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12Klik Load dan tunggu hingga Managed Airflow memuat snapshot.
gcloud
Memuat snapshot lingkungan Managed Airflow (Gen 2) ke lingkungan Managed Airflow (Gen 3):
gcloud composer environments snapshots load \
COMPOSER_3_ENV \
--location COMPOSER_3_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Ganti:
COMPOSER_3_ENVdengan nama lingkungan Managed Airflow (Gen 3) Anda.COMPOSER_3_LOCATIONdengan region tempat lingkungan Managed Airflow (Gen 3) berada.SNAPSHOT_PATHdengan URI bucket lingkungan Managed Airflow (Gen 2) Anda, diikuti dengan jalur ke snapshot. Lokasi yang sama ditampilkan dalam pesan tentang keberhasilan pembuatan snapshot. Contoh:gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12.
Membatalkan jeda DAG di lingkungan Managed Airflow (Gen 3)
Anda dapat menggunakan salah satu opsi berikut:
Lanjutkan DAG satu per satu di konsol Google Cloud :
Di konsol Google Cloud , buka halaman Environments.
Pilih lingkungan untuk melihat detailnya.
Di halaman Environment details, buka tab DAGs.
Klik nama DAG.
Di halaman DAG details, klik Unpause DAG.
Di antarmuka web Airflow, buka DAGs dan batalkan jeda semua DAG secara manual satu per satu.
Gunakan skrip composer_dags untuk membatalkan jeda semua DAG:
python3 composer_dags.py --environment COMPOSER_3_ENV \ --project PROJECT_ID \ --location COMPOSER_3_LOCATION \ --operation unpauseGanti:
COMPOSER_3_ENVdengan nama lingkungan Managed Airflow (Gen 3) Anda.PROJECT_IDdengan Project ID.COMPOSER_3_LOCATIONdengan region tempat lingkungan berada.
Memeriksa error DAG
Di antarmuka web Airflow, buka DAG dan periksa apakah ada error sintaksis DAG yang dilaporkan.
Pastikan DAG berjalan sesuai jadwal pada waktu yang tepat.
Tunggu hingga DAG berjalan di lingkungan Managed Airflow (Gen 3) dan periksa apakah berhasil. Jika eksekusi DAG berhasil, jangan batalkan jedanya di lingkungan Managed Airflow (Gen 2); jika Anda melakukannya, eksekusi DAG untuk waktu dan tanggal yang sama akan terjadi di lingkungan Managed Airflow (Gen 2) Anda.
Jika operasi DAG tertentu gagal, coba pecahkan masalah DAG hingga berhasil dijalankan di Managed Airflow (Gen 3).
Memantau lingkungan Managed Airflow (Gen 3)
Setelah Anda mentransfer semua DAG dan konfigurasi ke lingkungan Managed Airflow (Gen 3), pantau potensi masalah, kegagalan eksekusi DAG, dan kesehatan lingkungan secara keseluruhan.
Jika lingkungan Managed Airflow (Gen 3) berjalan tanpa masalah selama jangka waktu yang cukup, pertimbangkan untuk menghapus lingkungan Managed Airflow (Gen 2).