Memigrasikan lingkungan ke Cloud Composer 2 (dari Airflow 2) menggunakan snapshot

Cloud Composer 1 | Cloud Composer 2

Halaman ini menjelaskan cara mentransfer DAG, data, dan konfigurasi dari lingkungan Cloud Composer 1, Airflow 2 yang sudah ada ke Cloud Composer 2, Airflow 2.

Panduan migrasi ini menggunakan fitur Ringkasan.

Panduan migrasi lainnya

Dari Kepada Metode Panduan
Cloud Composer 1, Airflow 2 Cloud Composer 2, Airflow 2 Berdampingan, menggunakan snapshot Panduan ini (snapshot)
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 Berdampingan, menggunakan snapshot Panduan migrasi (snapshot)
Cloud Composer 1, Airflow 2 Cloud Composer 2, Airflow 2 Transfer manual secara berdampingan Panduan migrasi manual
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 Transfer manual secara berdampingan Panduan migrasi manual
Aliran Udara 1 Aliran Udara 2 Transfer manual secara berdampingan Panduan migrasi manual

Sebelum memulai

  • Snapshot didukung di Cloud Composer 2 versi 2.0.9 dan yang lebih baru. Cloud Composer 1 mendukung penyimpanan snapshot lingkungan di versi 1.18.5.

  • Cloud Composer mendukung migrasi berdampingan dari Cloud Composer 1 ke Cloud Composer 2. Anda tidak dapat mengupgrade dari Cloud Composer 1 ke Cloud Composer 2 sebagai gantinya.

  • Lihat daftar perbedaan antara Cloud Composer 1 dan Cloud Composer 2.

  • Ukuran maksimum database Airflow yang mendukung snapshot adalah 20 GB. Jika database lingkungan Anda memerlukan lebih dari 20 GB, kurangi ukuran database Airflow.

Langkah 1: Jeda DAG di lingkungan Cloud Composer 1 Anda

Untuk menghindari DAG duplikat dijalankan, jeda semua DAG di lingkungan Cloud Composer 1 sebelum menyimpan snapshot-nya.

Anda dapat menggunakan salah satu opsi berikut:

  • 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_1_ENV \
      --project PROJECT_ID \
      --location COMPOSER_1_LOCATION \
      --operation pause
    

    Ganti:

    • COMPOSER_1_ENV dengan nama lingkungan Cloud Composer 1 Anda.
    • PROJECT_ID dengan Project ID.
    • COMPOSER_1_LOCATION dengan wilayah tempat lingkungan berada.

Langkah 2: Simpan snapshot lingkungan Cloud Composer 1 Anda

Konsol

Buat snapshot lingkungan Anda:

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Cloud Composer 1 Anda. Halaman Detail lingkungan akan terbuka.

  3. Klik Create snapshot.

  4. Pada dialog Create snapshot, klik Submit. Dalam panduan ini, Anda menyimpan snapshot di bucket lingkungan Cloud Composer 1, tetapi Anda dapat memilih lokasi lain jika ingin.

  5. Tunggu hingga Cloud Composer membuat snapshot.

gcloud

  1. Dapatkan URI bucket lingkungan Cloud Composer 1:

    1. Jalankan perintah berikut:

      gcloud composer environments describe COMPOSER_1_ENV \
          --location COMPOSER_1_LOCATION \
           --format="value(config.dagGcsPrefix)"
      

      Ganti:

      • COMPOSER_1_ENV dengan nama lingkungan Cloud Composer 1 Anda.
      • COMPOSER_1_LOCATION dengan wilayah tempat lingkungan berada.
    2. Di output, hapus folder /dags. Hasilnya adalah URI bucket lingkungan Cloud Composer 1 Anda.

      Misalnya, ubah gs://us-central1-example-916807e1-bucket/dags menjadi gs://us-central1-example-916807e1-bucket.

  2. Buat snapshot lingkungan Cloud Composer 1 Anda:

    gcloud beta composer environments snapshots save \
      COMPOSER_1_ENV \
      --location COMPOSER_1_LOCATION \
      --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
    

    Ganti:

    • COMPOSER_1_ENV dengan nama lingkungan Cloud Composer 1 Anda.
    • COMPOSER_1_LOCATION dengan region tempat lingkungan Cloud Composer 1 berada.
    • COMPOSER_1_SNAPSHOTS_FOLDER dengan URI bucket lingkungan Cloud Composer 1. Dalam panduan ini, Anda menyimpan snapshot di bucket lingkungan Cloud Composer 1, tetapi Anda dapat memilih lokasi yang berbeda jika ingin. Jika Anda menentukan lokasi kustom, akun layanan kedua lingkungan harus memiliki izin baca dan tulis untuk lokasi yang ditentukan.

Langkah 3: Buat lingkungan Cloud Composer 2

Membuat lingkungan Cloud Composer 2. Anda dapat memulai dengan preset lingkungan yang sesuai dengan permintaan resource yang diperkirakan, lalu menskalakan dan mengoptimalkan lingkungan lebih lanjut.

Anda tidak perlu menentukan penggantian konfigurasi dan variabel lingkungan, karena Anda akan menggantinya nanti saat memuat snapshot lingkungan Cloud Composer 1.

Langkah 4: Muat snapshot ke lingkungan Cloud Composer 2 Anda

Konsol

Untuk memuat snapshot ke lingkungan Cloud Composer 2 Anda:

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Cloud Composer 2 Anda. Halaman Detail lingkungan akan terbuka.

  3. Klik Load snapshot.

  4. Dalam dialog Load snapshot, klik Browse.

  5. Pilih folder yang berisi snapshot. Jika Anda menggunakan lokasi default untuk panduan ini, folder ini berada di bucket lingkungan Cloud Composer 1 di folder /snapshots, dan namanya adalah stempel waktu operasi penyimpanan snapshot. Misalnya, us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00.

  6. Klik Load dan tunggu hingga Cloud Composer memuat snapshot.

gcloud

Muat snapshot lingkungan Cloud Composer 1 Anda ke lingkungan Cloud Composer 2 Anda:

gcloud beta composer environments snapshots load \
  COMPOSER_2_ENV \
  --location COMPOSER_2_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

Ganti:

  • COMPOSER_2_ENV dengan nama lingkungan Cloud Composer 2 Anda.
  • COMPOSER_2_LOCATION dengan region tempat lingkungan Cloud Composer 2 berada.
  • SNAPSHOT_PATH dengan URI bucket lingkungan Cloud Composer 1, yang diikuti dengan jalur ke snapshot. Contoh, gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00.

Langkah 5: Lanjutkan DAG di lingkungan Cloud Composer 2

Anda dapat menggunakan salah satu opsi berikut:

  • Di antarmuka web Airflow, buka DAG 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_2_ENV \
      --project PROJECT_ID \
      --location COMPOSER_2_LOCATION \
      --operation unpause
    

    Ganti:

    • COMPOSER_2_ENV dengan nama lingkungan Cloud Composer 2 Anda.
    • PROJECT_ID dengan Project ID.
    • COMPOSER_2_LOCATION dengan wilayah tempat lingkungan berada.

Langkah 6: Periksa error DAG

  1. Di antarmuka web Airflow, buka DAG dan periksa error sintaksis DAG yang dilaporkan.

  2. Periksa apakah operasi DAG dijadwalkan pada waktu yang tepat.

  3. Tunggu hingga proses DAG terjadi di lingkungan Cloud Composer 2 dan periksa apakah proses tersebut berhasil. Jika operasi DAG berhasil, jangan batalkan jedanya di lingkungan Cloud Composer 1. Jika Anda melakukannya, DAG akan dijalankan untuk waktu dan tanggal yang sama akan terjadi di lingkungan Cloud Composer 1 Anda.

  4. Jika DAG tertentu gagal dijalankan, coba pecahkan masalah DAG hingga DAG berhasil dijalankan di Cloud Composer 2.

Langkah 7: Pantau lingkungan Cloud Composer 2 Anda

Setelah mentransfer semua DAG dan konfigurasi ke lingkungan Cloud Composer 2, pantau potensi masalah, kegagalan pengoperasian DAG, dan kondisi lingkungan secara keseluruhan.

Jika lingkungan Cloud Composer 2 berjalan tanpa masalah selama jangka waktu yang memadai, pertimbangkan untuk menghapus lingkungan Cloud Composer 1.

Langkah selanjutnya