Menjelaskan dan mencantumkan blue-green deployment

Dokumen ini menjelaskan cara membuat daftar dan mendeskripsikan deployment blue-green Cloud SQL, memeriksa detail koneksi dan perbedaan konfigurasi, serta terhubung ke lingkungan penyiapan green untuk menguji dan memvalidasi workload Anda.

Sebelum memulai

Untuk mencantumkan atau menjelaskan blue-green deployment dan terhubung ke instance penyiapan hijau, pastikan Anda memiliki peran dan kredensial database yang diperlukan.

Peran dan izin yang diperlukan

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

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

Untuk peran khusus, pastikan Anda memiliki izin berikut:

  • cloudsql.blueGreenDeployments.get
  • cloudsql.blueGreenDeployments.list

Untuk terhubung ke instance penyiapan hijau dan menjalankan kueri pengujian, Anda juga memerlukan kredensial pengguna database yang dikonfigurasi di instance sumber.

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

Ringkasan

Perintah describe memungkinkan Anda memantau dan melacak status deployment blue-green Cloud SQL setiap saat selama siklus prosesnya—mulai dari penyediaan dan penyiapan awal hingga penyelesaian pengalihan.

Mendeskripsikan blue-green deployment memberikan visibilitas ke:

  • Status siklus proses deployment: pantau status real-time deployment Anda saat bertransisi melalui status seperti PROVISIONING, SWITCHOVER_READY, SWITCHOVER_NOT_READY, SWITCHOVER_IN_PROGRESS, dan SWITCHOVER_COMPLETED.
  • Detail koneksi instance target: ambil nama koneksi dan endpoint jaringan yang unik untuk instance penyiapan hijau. Hal ini memungkinkan administrator database (DBA) dan engineer QA menghubungkan aplikasi, menjalankan kueri pengujian, dan memvalidasi performa pada instance hijau tanpa memengaruhi traffic produksi biru yang aktif.
  • Kondisi replikasi dan kesiapan pengalihan: pastikan replikasi logis berkelanjutan dari biru ke hijau berjalan dengan baik dan periksa detail kesalahan diagnostik jika ada masalah. Perhatikan bahwa mendeskripsikan deployment tidak menampilkan jeda replikasi.
  • Perbedaan konfigurasi: jika diminta dengan tampilan mendetail, periksa perbandingan berdampingan (diffs) versi database, tingkat komputer, setelan penyimpanan, dan konfigurasi ketersediaan tinggi antara instance biru dan hijau.

Mencantumkan blue-green deployment

Untuk mencantumkan blue-green deployment dalam project:

Konsol

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

    Buka Instance Cloud SQL

  2. Dalam daftar instance, lihat kolom ID deployment blue-green untuk melihat deployment blue-green yang terkait dengan instance Anda. Instance yang merupakan bagian dari blue-green deployment juga menampilkan tag peran (Blue, Green, Old-blue, atau New-blue) di samping nama instance.

gcloud

Untuk mencantumkan blue-green deployment menggunakan gcloud, jalankan perintah blue-green-deployments list:

gcloud beta sql blue-green-deployments list \
  --region=REGION

Untuk mencantumkan deployment di semua region dalam project Anda, hilangkan tanda --region.

REST v1

Untuk mencantumkan deployment menggunakan Cloud SQL Admin API, kirim permintaan GET ke metode blueGreenDeployments.list:

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

REST v1beta4

Untuk mencantumkan deployment menggunakan Cloud SQL Admin API, kirim permintaan GET ke metode blueGreenDeployments.list:

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

Jelaskan blue-green deployment

Untuk memeriksa status deployment dan mendapatkan detail koneksi instance hijau, deskripsikan deployment:

Konsol

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

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan deployment, lakukan salah satu tindakan berikut:
    • Di kolom Blue green deployment ID, klik ID deployment.
    • Klik nama instance untuk membuka halaman Ringkasan, lalu di kartu Status Deployment Biru Hijau, klik Detail.
  3. Di halaman Deployment overview, tinjau kartu Deployment details untuk memeriksa Status, Source instance, Target instance, Target instance endpoint, dan Target version deployment, serta tinjau kartu Deployment progress untuk memeriksa status tugas.

gcloud

Untuk mendeskripsikan 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.

REST v1

Untuk mendeskripsikan 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

REST v1beta4

Untuk mendeskripsikan 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

Memeriksa status dan detail koneksi

Di output perintah, verifikasi status deployment dan temukan informasi koneksi untuk instance hijau target:

name: projects/my-project/locations/us-central1/
  blueGreenDeployments/my-deployment
createTime: '2026-08-13T10:00:00.000Z'
state: SWITCHOVER_READY
sourceInstance: my-source-instance
switchoverTargetInstance: my-target-instance
requestedConfig:
  databaseVersion: MYSQL_8_4
deploymentMappings:
- source:
    connection: my-project:us-central1:my-source-instance
    dns: my-source-instance.123456789012.us-central1.sql.goog.
    instance: projects/my-project/instances/my-source-instance
    ipAddresses:
    - ipAddress: 10.0.0.1
      type: PRIMARY
  state: PROVISIONED
  target:
    connection: my-project:us-central1:my-target-instance
    dns: my-target-instance.123456789012.us-central1.sql.goog.
    instance: projects/my-project/instances/my-target-instance
    ipAddresses:
    - ipAddress: 10.0.0.2
      type: PRIMARY
  tasks:
  - type: PROVISION
    state: SUCCEEDED
    startTime: '2026-08-13T10:00:00.000Z'
    endTime: '2026-08-13T10:15:00.000Z'
deploymentTasks:
- type: PROVISION
  state: SUCCEEDED
  startTime: '2026-08-13T10:00:00.000Z'
  endTime: '2026-08-13T10:15:00.000Z'

Tinjau kolom berikut dalam respons:

  • name: jalur resource yang sepenuhnya memenuhi syarat dari deployment dalam format projects/PROJECT_ID/locations/REGION/blueGreenDeployments/DEPLOYMENT_NAME.
  • createTime: stempel waktu saat deployment dibuat.
  • state: status siklus proses keseluruhan deployment:
    • PROVISIONING: deployment sedang menyediakan lingkungan hijau dan menyiapkan replikasi.
    • SWITCHOVER_READY: penyiapan selesai, replikasi logis responsif, dan deployment siap untuk pengalihan. Konfirmasi status ini sebelum menjalankan pengujian.
    • SWITCHOVER_NOT_READY: deployment belum siap untuk pengalihan. Periksa errorDetail untuk pemecahan masalah.
    • SWITCHOVER_IN_PROGRESS: operasi pengalihan sedang dieksekusi secara aktif.
    • SWITCHOVER_COMPLETED: pengalihan berhasil diselesaikan, dan instance hijau kini melayani traffic produksi sebagai instance baca dan tulis aktif.
    • DELETING: resource deployment sedang dihapus.
  • sourceInstance: ID instance dari instance produksi biru asli Anda.
  • switchoverTargetInstance: ID instance dari instance penyiapan hijau yang menjadi instance baca dan tulis produksi selama pengalihan.
  • requestedConfig: konfigurasi yang ditujukan untuk instance target pada waktu pembuatan, seperti databaseVersion untuk upgrade versi utama.
  • errorDetail: detail error diagnostik yang menjelaskan alasan pengalihan tidak siap atau alasan tugas penyediaan atau pengalihan gagal.
  • deploymentMappings: daftar pasangan instance sumber dan instance target dalam deployment. Untuk setiap pasangan, tinjau:
    • source: detail koneksi dan jaringan untuk instance biru, termasuk jalur resource instance (instance), nama koneksi (connection), nama host DNS (dns), dan alamat IP (ipAddresses).
    • target: detail koneksi dan jaringan untuk instance hijau. Gunakan nama connection target atau ipAddresses untuk menghubungkan aplikasi staging dan rangkaian pengujian ke lingkungan hijau.
    • diffs: perbedaan konfigurasi antara instance biru dan hijau saat menggunakan tampilan mendetail. Selama Pratinjau, perubahan flag database tidak ditampilkan.
    • state: status operasional node yang disambungkan (seperti PROVISIONING, PROVISIONED, UPGRADING, UPGRADED, UPGRADE_FAILED, SWITCHOVER_IN_PROGRESS, SWITCHOVER_FAILED, SWITCHOVER_SUCCEEDED, atau DELETING).
    • tasks: status eksekusi, waktu mulai, waktu berakhir, dan detail error untuk tugas deployment yang dilakukan di node ini.
  • deploymentTasks: daftar gabungan semua tugas deployment di semua node, termasuk tugas type (PROVISION, UPGRADE, SWITCHOVER, DELETE, atau POST_SWITCHOVER_OPERATIONS), state (PENDING, RUNNING, SUCCEEDED, atau FAILED), startTime, endTime, dan errorMessage.

Melihat perbedaan konfigurasi

Secara default, deskripsi deployment menampilkan tampilan dasar dengan metadata inti. Untuk meninjau perbedaan konfigurasi antara instance biru dan hijau, lihat perbedaan setelan di konsol Google Cloud atau minta tampilan mendetail menggunakan gcloud CLI atau Cloud SQL Admin API:

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 kartu Blue Green Deployment Status, klik Details untuk membuka halaman Deployment overview.
  4. Di kartu Deployment details, klik View setting differences.
  5. Dalam dialog Perbedaan Setelan Instance, tinjau perbandingan antara instance Sumber dan Target, lalu klik Tutup.

gcloud

Jalankan perintah blue-green-deployments describe dengan flag --show-config-diff:

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

REST v1

Kirim permintaan GET ke metode blueGreenDeployments.get dengan parameter kueri view=DETAILED:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?view=DETAILED

REST v1beta4

Kirim permintaan GET ke metode blueGreenDeployments.get dengan parameter kueri view=DETAILED:

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

Meninjau perbedaan konfigurasi

Saat Anda menentukan tampilan mendetail, respons akan menyertakan bagian diffs dalam setiap node yang dipasangkan di bagian deploymentMappings:

deploymentMappings:
- diffs:
  - field: database_version
    sourceValue: MYSQL_8_0
    targetValue: MYSQL_8_4
  - field: settings/tier
    sourceValue: db-custom-2-7680
    targetValue: db-custom-4-15360
  source:
    instance: projects/PROJECT_ID/instances/my-source-instance
  target:
    connection: PROJECT_ID:REGION:my-target-instance
    instance: projects/PROJECT_ID/instances/my-target-instance

Bagian diffs menyoroti perbedaan antara instance sumber dan instance target untuk atribut seperti:

  • database_version: versi mesin database pada instance biru versus hijau.
  • settings/tier: jenis mesin (vCPU dan memori) yang dialokasikan ke instance.
  • edition: edisi Cloud SQL (edisi Cloud SQL Enterprise atau edisi Cloud SQL Enterprise Plus).
  • availability_type: konfigurasi ketersediaan tinggi (HA) (ZONAL atau REGIONAL).
  • settings/data_disk_size_gb: kapasitas penyimpanan dalam gigabyte.
  • settings/data_disk_type: jenis penyimpanan (PD_SSD).

Pastikan semua perubahan yang tercantum sesuai dengan spesifikasi deployment yang Anda rencanakan sebelum Anda memulai pengujian beban kerja fungsional.

Menghubungkan dan memvalidasi workload aplikasi

Hubungkan aplikasi atau alat klien Anda ke instance hijau menggunakan string koneksi uniknya:

gcloud sql connect TARGET_INSTANCE_NAME --user=DB_USER

Ganti kode berikut:

  • TARGET_INSTANCE_NAME: nama instance hijau target Anda.
  • DB_USER: nama pengguna database.

Lakukan langkah-langkah validasi berikut:

  • Jalankan pengujian integrasi: verifikasi bahwa kueri aplikasi dan prosedur tersimpan berjalan tanpa error di instance hijau.
  • Periksa log error: periksa log error database Cloud Logging dan Cloud SQL untuk mengetahui peringatan sintaksis yang tidak digunakan lagi atau error mesin yang tidak terduga.
  • Tinjau statistik performa: pantau metrik CPU, memori, dan I/O di instance hijau untuk memastikan performa memenuhi SLO operasional.

Langkah berikutnya