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
Baca tentang Composite Health.
Di setiap region yang ingin Anda dukung, identifikasi atau buat layanan target yang memenuhi persyaratan berikut.
- Layanan ini harus menggunakan salah satu load balancer internal berikut:
- Layanan ini harus menggunakan salah satu jenis backend berikut:
Langkah-langkah untuk membuat layanan target bergantung pada jenis load balancer dan backend yang Anda pilih. Untuk mengetahui informasi tentang cara membuat layanan target, lihat dokumentasi load balancer Anda.
Publikasikan setiap layanan target dengan membuat lampiran layanan.
Pahami bahwa untuk menggunakan Composite Health untuk failover, konsumen harus mengakses layanan Anda dengan load balancer yang mendukung failover lintas region.
Aktifkan Compute Engine API di project Anda.
Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.
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
Di Google Cloud konsol, buka halaman Composite Health:
Klik Health aggregation policies.
Klik Create health aggregation policy.
Masukkan nama untuk kebijakan agregasi health.
Opsional: Masukkan deskripsi kebijakan.
Klik Region, lalu pilih region untuk kebijakan agregasi health.
Klik Next.
Di kotak Healthy percent threshold, masukkan persentase minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif—misalnya,
75.Di kotak Minimum healthy threshold, masukkan jumlah minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif.
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 healthREGION: region kebijakan agregasi healthPERCENT_HEALTHY: persentase minimum endpoint dalam layanan backend yang harus responsif agar sumber health dianggap responsif—misalnya,75Nilai 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 responsifNilai 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
Di Google Cloud konsol, buka halaman Composite Health:
Klik Health sources.
Klik Create health source.
Masukkan nama untuk sumber health.
Opsional: Masukkan deskripsi sumber health.
Klik Region, lalu pilih region untuk sumber health.
Klik Next.
Klik Source, lalu pilih layanan backend untuk dikaitkan dengan sumber health.
Klik Next.
Klik Health aggregation policy, lalu pilih kebijakan agregasi health yang akan diterapkan ke sumber health ini.
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 healthREGION: region sumber healthKebijakan agregasi health harus berada di region yang sama dengan sumber health.
BACKEND_SERVICE: nama satu layanan backend yang akan dikaitkan dengan sumber healthLayanan backend harus memenuhi persyaratan berikut:
- Layanan ini harus memiliki skema load balancing
INTERNALatauINTERNAL_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_IPatauGCE_VM_IP_PORT.
- Layanan ini harus memiliki skema load balancing
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
INTERNALatauINTERNAL_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_IPatauGCE_VM_IP_PORT.
- Layanan ini harus memiliki skema load balancing
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
Di Google Cloud konsol, buka halaman Composite Health:
Klik Composite health checks.
Klik Create composite health check.
Masukkan nama untuk health check gabungan.
Opsional: Masukkan deskripsi health check gabungan.
Klik Region, lalu pilih region untuk health check gabungan.
Klik Next.
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.
Klik Next.
Klik Load balancer type, lalu pilih jenis load balancer yang akan digunakan sebagai tujuan health.
Klik Load balancer, lalu pilih load balancer yang akan digunakan sebagai tujuan health.
Jika load balancer Anda dikaitkan dengan beberapa aturan penerusan, klik Forwarding rule, lalu pilih aturan penerusan yang akan digunakan sebagai tujuan health.
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 gabunganREGION: region health check gabunganHEALTH_SOURCES: nama satu atau beberapa sumber health yang akan dikaitkan dengan health check gabunganAnda 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_RULEAturan penerusan harus dikaitkan dengan load balancer produsen yang mendukung Composite Health dan memenuhi persyaratan berikut:
- Aturan ini harus memiliki skema load balancing
INTERNALatauINTERNAL_MANAGED. - Aturan ini harus berada di region yang sama dengan health check gabungan.
- Aturan ini harus memiliki skema load balancing
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 arrayhealthSources.HEALTH_DESTINATION: URI aturan penerusan yang menerima status health gabungan dari health check gabungan ini—misalnya,projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULEAturan penerusan harus dikaitkan dengan load balancer produsen yang mendukung Composite Health dan memenuhi persyaratan berikut:
- Aturan ini harus memiliki skema load balancing
INTERNALatauINTERNAL_MANAGED. - Aturan ini harus berada di region yang sama dengan health check gabungan.
- Aturan ini harus memiliki skema load balancing
Langkah berikutnya
- Untuk memantau layanan yang dipublikasikan dengan Composite Health, lihat Memantau Composite Health.
- Untuk mengelola konfigurasi Composite Health, lihat Melihat, memperbarui, dan menghapus konfigurasi Composite Health.