Membuat dan melakukan penahapan deployment blue-green

Dokumen ini menjelaskan cara membuat dan menyiapkan deployment biru-hijau Cloud SQL untuk melakukan upgrade versi utama atau perubahan konfigurasi.

Sebelum memulai

Untuk membuat dan melakukan penyiapan blue-green deployment, pastikan Anda memiliki peran yang diperlukan dan instance sumber Anda memenuhi prasyarat deployment.

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat dan melakukan penyiapan deployment biru-hijau, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:

  • Cloud SQL Editor (roles/cloudsql.editor)
  • Admin Cloud SQL (roles/cloudsql.admin)

Untuk peran khusus, pastikan Anda memiliki izin berikut:

  • cloudsql.blueGreenDeployments.create
  • cloudsql.blueGreenDeployments.get
  • cloudsql.instances.get
  • cloudsql.instances.create
  • cloudsql.operations.get

Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di Cloud SQL, lihat Peran dan izin.

Prasyarat instance

Sebelum membuat blue-green deployment, verifikasi bahwa instance produksi (biru) Anda memenuhi persyaratan berikut:

  1. Mesin dan versi database: instance Anda harus menjalankan Cloud SQL untuk MySQL versi 5.7, 8.0, atau 8.4. Versi 8.0.18 tidak didukung. Untuk upgrade versi utama, Anda dapat mengupgrade dari versi 8.0 ke 8.4.
  2. Logging biner dan pencadangan otomatis: Anda harus mengaktifkan logging biner dan pencadangan otomatis di instance biru untuk membuat replikasi logis berkelanjutan ke lingkungan hijau.
  3. Status instance: instance biru harus dalam status RUNNING tanpa ada operasi yang sedang berlangsung atau masa pemeliharaan yang bertentangan.
  4. Fitur yang tidak didukung: pastikan instance Anda tidak menggunakan fitur yang tidak didukung dalam deployment blue-green, yang mencakup hal berikut:

  5. Versi pemeliharaan terbaru: instance Anda harus menjalankan versi pemeliharaan terbaru sebelum Anda membuat blue-green deployment. Untuk mengetahui informasi selengkapnya, lihat Pemeliharaan mandiri.

  6. Arsitektur jaringan: instance Anda harus menggunakan arsitektur jaringan baru. Instance yang menggunakan arsitektur jaringan lama tidak didukung.

Saat Anda memicu pembuatan deployment, Cloud SQL akan otomatis menjalankan serangkaian pemeriksaan awal otomatis untuk memvalidasi kompatibilitas dan flag replikasi. Untuk upgrade versi utama, Cloud SQL juga menjalankan API pemeriksaan awal upgrade versi utama pada instance sumber untuk memvalidasi kesiapan upgrade sebelum melanjutkan alur kerja. Jika pemeriksaan awal gagal, pembuatan deployment akan berhenti dan menampilkan error dalam status operasi.

Membuat blue-green deployment

Anda dapat membuat deployment blue-green dengan maksud untuk melakukan upgrade versi utama, atau tanpa maksud untuk melakukan staging update hardware atau flag.

Konsol

  1. Di Konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Di bagian Configuration, klik Create blue green deployment.
  4. Di halaman Create Blue Green Deployment, di bagian Deployment information, masukkan nama unik untuk deployment di kolom Deployment name.
  5. Dalam daftar Kasus penggunaan deployment, pilih salah satu opsi berikut:
    • Opsi A (Upgrade versi utama): Untuk melakukan penyiapan dan menguji upgrade versi utama pada instance hijau sebelum pengalihan, pilih Upgrade versi utama. Dalam daftar Target database version, pilih versi database target (misalnya, MySQL 8.4).

      Saat Anda membuat deployment dengan maksud, Cloud SQL secara otomatis menjalankan pemeriksaan awal upgrade versi utama sebagai bagian dari operasi sebelum membuat instance hijau. Atau, sebaiknya Anda menjalankan pemeriksaan awal upgrade versi utama sebelum membuat deployment untuk mengidentifikasi penghambat upgrade.

    • Opsi B (Default): untuk membuat lingkungan penyiapan hijau pada versi database yang sama dengan instance sumber untuk menguji konfigurasi atau perubahan hardware, pilih Default.
  6. Klik Create.

gcloud

Untuk membuat blue-green deployment menggunakan gcloud, jalankan perintah blue-green-deployments create.

Opsi A: Buat dengan niat (upgrade versi utama)

Saat Anda membuat deployment dengan maksud, Cloud SQL akan otomatis menjalankan pra-pemeriksaan upgrade versi utama sebagai bagian dari operasi sebelum membuat instance hijau. Atau, Anda dapat menjalankan pemeriksaan awal upgrade versi utama pada instance biru sebelum membuat deployment untuk mengidentifikasi pemblokir upgrade.

gcloud beta sql blue-green-deployments create DEPLOYMENT_NAME \
  --source-instance=SOURCE_INSTANCE_ID \
  --target-database-version=TARGET_DATABASE_VERSION \
  --region=REGION \
  --async

Ganti kode berikut:

  • DEPLOYMENT_NAME: nama unik untuk deployment Anda.
  • SOURCE_INSTANCE_ID: nama instance sumber biru Anda.
  • TARGET_DATABASE_VERSION: versi target (misalnya, MYSQL_8_4).
  • REGION: Google Cloud region instance biru Anda.

Opsi B: Buat tanpa maksud (hardware atau konfigurasi)

Hapus tanda --target-database-version untuk menyediakan lingkungan hijau pada versi database yang sama dengan instance biru:

gcloud beta sql blue-green-deployments create DEPLOYMENT_NAME \
  --source-instance=SOURCE_INSTANCE_ID \
  --region=REGION \
  --async

Pembuatan blue-green deployment memerlukan waktu beberapa menit untuk diselesaikan, terutama saat melakukan upgrade versi utama. Anda mungkin melihat pesan yang menunjukkan bahwa operasi memerlukan waktu lebih lama dari yang diperkirakan. Anda dapat mengabaikan pesan ini atau menjalankan perintah gcloud sql operations wait untuk menutup pesan dan menunggu hingga operasi selesai:

gcloud sql operations wait OPERATION_ID

Ganti OPERATION_ID dengan ID operasi yang ditampilkan oleh perintah atau ditampilkan dalam pesan.

REST v1

Untuk membuat deployment biru-hijau menggunakan Cloud SQL Admin API, kirim permintaan POST ke metode blueGreenDeployments.create.

Opsi A: Buat dengan niat (upgrade versi utama)

Saat Anda membuat deployment dengan maksud, Cloud SQL akan otomatis menjalankan pra-pemeriksaan upgrade versi utama sebagai bagian dari operasi sebelum membuat instance hijau. Atau, Anda dapat menjalankan pemeriksaan awal upgrade versi utama di instance biru sebelum membuat deployment untuk mengidentifikasi pemblokir upgrade.

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments?blueGreenDeploymentId=DEPLOYMENT_NAME
{
  "sourceInstance": "SOURCE_INSTANCE_ID",
  "requestedConfig": {
    "databaseVersion": "TARGET_DATABASE_VERSION"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • REGION: Google Cloud region instance biru Anda.
  • DEPLOYMENT_NAME: nama unik untuk deployment Anda.
  • SOURCE_INSTANCE_ID: nama instance sumber biru Anda.
  • TARGET_DATABASE_VERSION: versi database target (misalnya, MYSQL_8_4).

Opsi B: Buat tanpa maksud (hardware atau konfigurasi)

Hilangkan kolom requestedConfig untuk menyediakan lingkungan hijau dengan versi database yang sama dengan instance biru:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments?blueGreenDeploymentId=DEPLOYMENT_NAME
{
  "sourceInstance": "SOURCE_INSTANCE_ID"
}

REST v1beta4

Untuk membuat deployment biru-hijau menggunakan Cloud SQL Admin API, kirim permintaan POST ke metode blueGreenDeployments.create.

Opsi A: Buat dengan niat (upgrade versi utama)

Saat Anda membuat deployment dengan maksud, Cloud SQL akan otomatis menjalankan pra-pemeriksaan upgrade versi utama sebagai bagian dari operasi sebelum membuat instance hijau. Atau, Anda dapat menjalankan pemeriksaan awal upgrade versi utama pada instance biru sebelum membuat deployment untuk mengidentifikasi pemblokir upgrade.

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments?blueGreenDeploymentId=DEPLOYMENT_NAME
{
  "sourceInstance": "SOURCE_INSTANCE_ID",
  "requestedConfig": {
    "databaseVersion": "TARGET_DATABASE_VERSION"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • REGION: Google Cloud region instance biru Anda.
  • DEPLOYMENT_NAME: nama unik untuk deployment Anda.
  • SOURCE_INSTANCE_ID: nama instance sumber biru Anda.
  • TARGET_DATABASE_VERSION: versi database target (misalnya, MYSQL_8_4).

Opsi B: Buat tanpa maksud (hardware atau konfigurasi)

Hilangkan kolom requestedConfig untuk menyediakan lingkungan hijau dengan versi database yang sama dengan instance biru:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments?blueGreenDeploymentId=DEPLOYMENT_NAME
{
  "sourceInstance": "SOURCE_INSTANCE_ID"
}

Memantau status deployment

Pembuatan adalah operasi yang berjalan lama (LRO). Selama penyiapan, Cloud SQL menyediakan instance hijau, mengupgradenya (jika upgrade versi utama diminta), dan memulai replikasi logis berkelanjutan.

Periksa progres dan status blue-green deployment Anda:

Konsol

  1. Di Konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Temukan kartu Blue Green Deployment Status untuk melihat status deployment.
  4. Untuk melihat tugas dan progres penyediaan yang mendetail, klik Detail untuk membuka halaman Ringkasan deployment.

gcloud

Untuk memeriksa progres dan status blue-green deployment menggunakan gcloud, jalankan perintah blue-green-deployments describe:

gcloud beta sql blue-green-deployments describe DEPLOYMENT_NAME \
  --region=REGION

Ganti kode berikut:

  • DEPLOYMENT_NAME: nama deployment blue-green Anda.
  • REGION: region Google Cloud tempat deployment dibuat.

Untuk menunggu hingga operasi pembuatan selesai, jalankan perintah gcloud sql operations wait:

gcloud sql operations wait OPERATION_ID

Ganti OPERATION_ID dengan ID operasi pembuatan.

REST v1

Untuk memeriksa progres dan status blue-green deployment menggunakan Cloud SQL Admin API, kirim permintaan GET ke metode blueGreenDeployments.get:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • REGION: region Google Cloud tempat deployment dibuat.
  • DEPLOYMENT_NAME: nama deployment blue-green Anda.

REST v1beta4

Untuk memeriksa progres dan status blue-green deployment menggunakan Cloud SQL Admin API, kirim permintaan GET ke metode blueGreenDeployments.get:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • REGION: region Google Cloud tempat deployment dibuat.
  • DEPLOYMENT_NAME: nama deployment blue-green Anda.

Di output perintah atau konsol Google Cloud , pantau kolom state untuk melacak siklus proses deployment:

  • PROVISIONING: instance hijau sedang dibuat, diupgrade (jika diminta), dan terhubung ke replikasi logis berkelanjutan.
  • Replikasi awal SWITCHOVER_READY: telah selesai dan replikasi logis berkelanjutan aktif. Deployment siap untuk validasi, pengujian, dan pengalihan.
  • SWITCHOVER_NOT_READY: deployment disediakan, tetapi pengalihan tidak dapat dimulai (misalnya, jika replikasi terganggu atau masalah dilaporkan di errorDetail).

Untuk mengetahui informasi selengkapnya tentang semua fase siklus proses deployment, lihat Siklus proses dan status deployment.

Tunggu hingga status deployment berubah menjadi SWITCHOVER_READY sebelum Anda melanjutkan untuk mendeskripsikan deployment, memvalidasi workload aplikasi, atau memulai pengalihan.

Langkah berikutnya