Mengonfigurasi Composite Health untuk failover lintas region otomatis

Halaman ini menjelaskan cara produsen layanan dapat mengonfigurasi Composite Health untuk mendukung failover lintas region otomatis untuk layanan yang dipublikasikan.

Sebelum memulai

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi Composite Health, minta administrator untuk memberi Anda peran IAM Admin Jaringan Compute (roles/compute.networkAdmin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengonfigurasi Composite Health. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengonfigurasi Composite Health:

  • compute.regionHealthAggregationPolicies.list
  • compute.regionHealthAggregationPolicies.get
  • compute.regionHealthAggregationPolicies.create
  • compute.regionHealthAggregationPolicies.update
  • compute.regionHealthAggregationPolicies.delete
  • compute.regionHealthSources.list
  • compute.regionHealthSources.get
  • compute.regionHealthSources.create
  • compute.regionHealthSources.update
  • compute.regionHealthSources.delete
  • compute.regionCompositeHealthChecks.list
  • compute.regionCompositeHealthChecks.get
  • compute.regionCompositeHealthChecks.create
  • compute.regionCompositeHealthChecks.update
  • compute.regionCompositeHealthChecks.delete

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Mengonfigurasi Composite Health untuk mendukung failover lintas region otomatis

Bagian berikut menjelaskan cara mengonfigurasi Composite Health untuk failover lintas region otomatis.

Meskipun Composite Health tidak memerlukan konfigurasi oleh konsumen layanan, fitur ini hanya berfungsi jika konsumen mengonfigurasi backend Private Service Connect yang didukung dalam deployment multi-region. Untuk mengetahui informasi tentang cara konsumen layanan dapat mengonfigurasi jaringan VPC mereka untuk menggunakan Composite Health, lihat Failover lintas region otomatis.

Membuat kebijakan agregasi health

Buat setidaknya satu kebijakan agregasi health di setiap region tempat Anda ingin mendukung failover lintas region.

Kebijakan agregasi health adalah resource yang dapat digunakan kembali yang menentukan kriteria agar layanan backend dianggap responsif. Anda dapat menerapkan kebijakan yang sama ke beberapa layanan backend, atau membuat kebijakan yang berbeda untuk layanan yang memiliki persyaratan health yang berbeda.

Konsol

  1. Di Google Cloud konsol, buka halaman Composite Health:

    Buka Composite Health

  2. Klik Health aggregation policies.

  3. Klik Create health aggregation policy.

  4. Masukkan nama untuk kebijakan agregasi health.

  5. Opsional: Masukkan deskripsi kebijakan.

  6. Klik Region, lalu pilih region untuk kebijakan agregasi health.

  7. Klik Next.

  8. Di kotak Healthy percent threshold, masukkan persentase minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif—misalnya, 75.

  9. Di kotak Minimum healthy threshold, masukkan jumlah minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif.

  10. Klik Create.

gcloud

Gunakan perintah gcloud compute health-aggregation-policies create.

gcloud compute health-aggregation-policies create POLICY \
    --region=REGION \
    --healthy-percent-threshold=PERCENT_HEALTHY \
    --min-healthy-threshold=MINIMUM_HEALTHY

Ganti kode berikut:

  • POLICY: nama kebijakan agregasi health
  • REGION: region kebijakan agregasi health
  • PERCENT_HEALTHY: persentase minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif—misalnya, 75

    Nilai defaultnya adalah 60. Endpoint dapat berupa VM dalam grup instance atau endpoint jaringan dalam grup endpoint jaringan (NEG).

  • MINIMUM_HEALTHY: jumlah minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif

    Nilai defaultnya adalah 1.

API

Kirim permintaan ke metode regionHealthAggregationPolicies.insert.

Metode HTTP dan URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthAggregationPolicies

Meminta isi JSON:

{
  "name": "POLICY",
  "policyType": "BACKEND_SERVICE_POLICY",
  "healthyPercentThreshold": PERCENT_HEALTHY,
  "minHealthyThreshold": MINIMUM_HEALTHY
}

Ganti kode berikut:

  • PROJECT_ID: project ID untuk kebijakan agregasi health.
  • REGION: region kebijakan agregasi health.
  • POLICY: nama kebijakan agregasi health.
  • PERCENT_HEALTHY: persentase minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif—misalnya, 75.

    Nilai defaultnya adalah 60. Endpoint dapat berupa VM dalam grup instance atau endpoint jaringan dalam grup endpoint jaringan (NEG).

  • MINIMUM_HEALTHY: jumlah minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif.

    Nilai defaultnya adalah 1.

Membuat sumber health

Buat sumber health untuk setiap instance regional dari layanan yang dipublikasikan. Jika instance layanan yang dipublikasikan bergantung pada health beberapa layanan backend, buat sumber health terpisah untuk setiap layanan backend tersebut.

Sumber health adalah resource yang menautkan kebijakan agregasi health ke layanan backend tertentu. Health check gabungan menggabungkan status health dari satu atau beberapa sumber health untuk menghasilkan status health gabungan akhir untuk layanan Anda.

Konsol

  1. Di Google Cloud konsol, buka halaman Composite Health:

    Buka Composite Health

  2. Klik Health sources.

  3. Klik Create health source.

  4. Masukkan nama untuk sumber health.

  5. Opsional: Masukkan deskripsi sumber health.

  6. Klik Region, lalu pilih region untuk sumber health.

  7. Klik Next.

  8. Klik Source, lalu pilih layanan backend untuk dikaitkan dengan sumber health.

  9. Klik Next.

  10. Klik Health aggregation policy, lalu pilih kebijakan agregasi health yang akan diterapkan ke sumber health ini.

  11. Klik Create.

gcloud

Gunakan perintah gcloud compute health-sources create.

gcloud compute health-sources create HEALTH_SOURCE \
    --region=REGION \
    --source-type=BACKEND_SERVICE \
    --sources=BACKEND_SERVICE \
    --health-aggregation-policy=POLICY

Ganti kode berikut:

  • HEALTH_SOURCE: nama sumber health
  • REGION: region sumber health

    Kebijakan agregasi health harus berada di region yang sama dengan sumber health.

  • BACKEND_SERVICE: nama satu layanan backend yang akan dikaitkan dengan sumber health

    Layanan backend harus memenuhi persyaratan berikut:

    • Layanan ini harus memiliki skema load balancing INTERNAL atau INTERNAL_MANAGED.
    • Layanan ini harus berada di region yang sama dengan sumber health yang Anda buat.
    • Backend-nya harus berupa grup instance atau grup endpoint jaringan dengan jenis GCE_VM_IP atau GCE_VM_IP_PORT.
  • POLICY: nama kebijakan agregasi health yang akan diterapkan ke sumber health ini

API

Kirim permintaan ke metode regionHealthSources.insert.

Metode HTTP dan URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources

Meminta isi JSON:

{
  "name": "HEALTH_SOURCE",
  "sourceType": "BACKEND_SERVICE",
  "sources": [
    "projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE"
  ],
  "healthAggregationPolicy": "projects/PROJECT_ID/regions/REGION/healthAggregationPolicies/POLICY"
}

Ganti kode berikut:

  • PROJECT_ID: project ID untuk sumber health.
  • REGION: region sumber health.

    Kebijakan agregasi health harus berada di region yang sama dengan sumber health.

  • HEALTH_SOURCE: nama sumber health.

  • BACKEND_SERVICE: nama satu layanan backend yang akan dikaitkan dengan sumber health.

    Layanan backend harus memenuhi persyaratan berikut:

    • Layanan ini harus memiliki skema load balancing INTERNAL atau INTERNAL_MANAGED.
    • Layanan ini harus berada di region yang sama dengan sumber health yang Anda buat.
    • Backend-nya harus berupa grup instance atau grup endpoint jaringan dengan jenis GCE_VM_IP atau GCE_VM_IP_PORT.
  • POLICY: nama kebijakan agregasi health yang akan diterapkan ke sumber health ini.

Membuat health check gabungan

Buat health check gabungan untuk setiap instance regional dari layanan yang dipublikasikan.

Health check gabungan menggabungkan status health dari sumber health terkait, sehingga membuat status health gabungan akhir. Status health akhir diterapkan ke layanan yang dipublikasikan regional yang terkait dengan aturan penerusan yang Anda tentukan sebagai tujuan health.

Konsol

  1. Di Google Cloud konsol, buka halaman Composite Health:

    Buka Composite Health

  2. Klik Composite health checks.

  3. Klik Create composite health check.

  4. Masukkan nama untuk health check gabungan.

  5. Opsional: Masukkan deskripsi health check gabungan.

  6. Klik Region, lalu pilih region untuk health check gabungan.

  7. Klik Next.

  8. Klik Health source, lalu pilih sumber health yang akan dikaitkan dengan health check gabungan. Anda dapat menambahkan lebih banyak sumber health dengan mengklik Add health source , lalu memilih sumber health lain.

  9. Klik Next.

  10. Klik Load balancer type, lalu pilih jenis load balancer yang akan digunakan sebagai tujuan health.

  11. Klik Load balancer, lalu pilih load balancer yang akan digunakan sebagai tujuan health.

  12. Jika load balancer Anda dikaitkan dengan beberapa aturan penerusan, klik Forwarding rule, lalu pilih aturan penerusan yang akan digunakan sebagai tujuan health.

  13. Klik Create.

gcloud

Gunakan perintah gcloud compute composite-health-checks create.

gcloud compute composite-health-checks create COMPOSITE_HEALTH_CHECK \
    --region=REGION \
    --health-sources=HEALTH_SOURCES \
    --health-destination=HEALTH_DESTINATION

Ganti kode berikut:

  • COMPOSITE_HEALTH_CHECK: nama health check gabungan
  • REGION: region health check gabungan
  • HEALTH_SOURCES: nama satu atau beberapa sumber health yang akan dikaitkan dengan health check gabungan

    Anda dapat menyertakan beberapa sumber health dalam daftar yang dipisahkan koma.

  • HEALTH_DESTINATION: URI aturan penerusan yang menerima status health gabungan dari health check gabungan ini—misalnya, projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    Aturan penerusan harus dikaitkan dengan load balancer produsen yang mendukung Composite Health dan memenuhi persyaratan berikut:

    • Aturan ini harus memiliki skema load balancing INTERNAL atau INTERNAL_MANAGED.
    • Aturan ini harus berada di region yang sama dengan health check gabungan.

API

Kirim permintaan ke metode.regionCompositeHealthChecks.insert

Metode HTTP dan URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks

Meminta isi JSON:

{
  "name": "COMPOSITE_HEALTH_CHECK",
  "healthSources": [
    "projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE"
  ],
  "healthDestination": "HEALTH_DESTINATION"
}

Ganti kode berikut:

  • PROJECT_ID: project ID untuk health check gabungan.
  • REGION: region health check gabungan.
  • COMPOSITE_HEALTH_CHECK: nama health check gabungan.
  • HEALTH_SOURCE: nama sumber health yang akan dikaitkan dengan health check gabungan. Anda dapat menyertakan beberapa sumber health dalam array healthSources.

  • HEALTH_DESTINATION: URI aturan penerusan yang menerima status health gabungan dari health check gabungan ini—misalnya, projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    Aturan penerusan harus dikaitkan dengan load balancer produsen yang mendukung Composite Health dan memenuhi persyaratan berikut:

    • Aturan ini harus memiliki skema load balancing INTERNAL atau INTERNAL_MANAGED.
    • Aturan ini harus berada di region yang sama dengan health check gabungan.

Langkah berikutnya