Mengonfigurasi health check aktif untuk failover regional dengan PSC

Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee hybrid.

Lihat Dokumentasi Apigee Edge.

Dokumen ini menjelaskan cara mengonfigurasi Apigee untuk mengonfigurasi konfigurasi aktif health check untuk kasus saat Anda ingin menggunakan Private Service Connect (PSC) untuk perutean jaringan menuju utara (traffic dari klien ke Apigee). Health check aktif berguna untuk mencegah hilangnya traffic jaringan jika terjadi kegagalan regional.

Ringkasan

Jika berencana menggunakan PSC untuk perutean jaringan Apigee ke Utara, ikuti petunjuk dalam dokumen ini untuk mengonfigurasi health check aktif. Saat ini, PSC tidak mendukung aktivitas pemantauan health check. Untuk mengatasi keterbatasan PSC ini, Anda dapat mengubah penginstalan Apigee untuk menggunakan grup instance terkelola (MIG), yang menyediakan kemampuan health check aktif.

Anda bisa menggunakan deteksi pencilan untuk pemantauan kesehatan; Namun, dalam kampanye regional gagal, Anda dapat kehilangan sejumlah traffic secara berkala karena deteksi pencilan menggunakan data real-time lalu lintas sebagai indikator. Deteksi pencilan mengalihkan sebagian traffic langsung secara berkala ke memeriksa respons region yang gagal.

Gambar 1 menunjukkan arsitektur yang diusulkan. Endpoint layanan terhubung ke lampiran layanan di instance Apigee, dan MIG menjadi {i>proxy<i} lalu lintas ke titik akhir layanan. Anda mengaktifkan pemantauan health check di MIG.

Gambar 1. Arsitektur Apigee untuk health check aktif tanpa peering VPC.

Pendekatan health check berbasis MIG

Prasyarat

Anda dapat menerapkan teknik yang dijelaskan dalam dokumen ini ke penginstalan Apigee yang menggunakan Peering VPC atau tidak menggunakan peering VPC. Namun, dalam kasus penginstalan yang di-peering VPC, teknik health check yang dijelaskan di sini hanya berlaku jika Anda menggunakan PSC untuk pemilihan rute konfigurasi Anda.

Sebelum melakukan langkah-langkah di bagian ini:

  • Untuk penginstalan peering non-VPC:
    1. Selesaikan langkah penyediaan Apigee 1 hingga 6 untuk berbasis langganan atau Penginstalan bayar sesuai penggunaan. Saat ini, satu-satunya pilihan adalah melakukan ini langkah-langkah menggunakan antarmuka command line.
    2. Lewati Langkah 7: Konfigurasikan pemilihan rute, lalu lakukan langkah berikut.
  • Untuk penginstalan peering VPC yang menggunakan PSC untuk perutean:
    1. Selesaikan langkah penyediaan Apigee 1 sampai 7 untuk berbasis langganan atau Penginstalan bayar sesuai penggunaan. Saat ini, satu-satunya pilihan adalah melakukan ini langkah-langkah menggunakan antarmuka command line.
    2. Lewati Langkah 8: Konfigurasikan pemilihan rute, dan lakukan langkah berikut.

1. Mengonfigurasi endpoint layanan PSC untuk lampiran layanan Apigee

Pada langkah ini, Anda membuat PSC Service Endpoint yang mengarah ke lampiran layanan di Instance Apigee:

  1. Dapatkan lampiran layanan dari instance Apigee yang Anda buat sebelumnya:
    curl -i -X GET -H "Authorization: Bearer $AUTH" \
      "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Dalam contoh output berikut, nilai serviceAttachment ditunjukkan dalam huruf tebal:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "host": "10.82.192.2",
          "port": "443",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "peeringCidrRange": "SLASH_22",
          "runtimeVersion": "1-7-0-20220228-190814",
          "ipRange": "10.82.192.0/22,10.82.196.0/28",
          "consumerAcceptList": [
            "875609189304"
          ],
          "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1"
        }
      ]
    }
  2. Buat PSC Service Endpoint yang mengarah ke lampiran layanan yang Anda dapatkan dari isi respons instance di langkah sebelumnya, seperti yang dijelaskan dalam Membuat endpoint Private Service Connect.

2. Mengonfigurasi MIG yang mengarah ke endpoint layanan

Pada langkah ini, Anda akan membuat MIG yang menjadi proxy traffic ke endpoint layanan. Anda kemudian dapat mengaktifkan health check aktif di MIG.

2A. Mengaktifkan Akses Google Pribadi untuk subnet jaringan VPC Anda

Untuk mengaktifkan Akses Google Pribadi bagi subnet jaringan VPC Anda, ikuti langkah-langkah yang tercantum dalam Mengaktifkan Google Pribadi Akses.

2 M Menetapkan variabel lingkungan

Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk pada penggunaan berulang {i>string<i}. Sebaiknya tetapkan hal ini sebelum melanjutkan:

MIG_NAME=YOUR_MIG_NAME  # A name you provide for the MIG
VPC_NAME=default       # If you are using a shared VPC, use the shared VPC name
VPC_SUBNET=default     # Private Google Access must be enabled for this subnet
REGION=RUNTIME_REGION        # The same region as your Apigee runtime instance
SERVICE_ENDPOINT_IP=YOUR_SERVICE_ENDPOINT_IP.  ## The endpoint IP of the service endpoint you just created

Anda akan menggunakan variabel ini beberapa kali selama proses yang tersisa. Jika Anda ingin mengkonfigurasi beberapa wilayah, lalu membuat variabel dengan nilai khusus untuk setiap wilayah.

2C. Membuat grup instance terkelola

Pada langkah ini, Anda akan membuat dan mengonfigurasi grup instance terkelola (MIG).

  1. Buat template instance dengan menjalankan perintah berikut.
    gcloud compute instance-templates create $MIG_NAME \
    --project $PROJECT_ID \
    --region $REGION \
    --network $VPC_NAME \
    --subnet $VPC_SUBNET \
    --tags=https-server,apigee-mig-proxy,gke-apigee-proxy \
    --machine-type e2-medium --image-family debian-12 \
    --image-project debian-cloud --boot-disk-size 20GB \
    --no-address \
    --metadata ENDPOINT=$SERVICE_ENDPOINT_IP,startup-script-url=gs://apigee-5g-saas/apigee-envoy-proxy-release/latest/conf/startup-script.sh

    Seperti yang dapat Anda lihat dari perintah ini, mesin berjenis e2-medium. Mereka menjalankan Debian 12 dan memiliki disk sebesar 20 GB. Skrip startup-script.sh mengonfigurasi MIG untuk merutekan traffic masuk dari pemuatan ke instance Apigee.

  2. Buat grup instance terkelola dengan menjalankan perintah berikut:
    gcloud compute instance-groups managed create $MIG_NAME \
    --project $PROJECT_ID --base-instance-name apigee-mig \
    --size 2 --template $MIG_NAME --region $REGION
  3. Konfigurasi penskalaan otomatis untuk grup dengan menjalankan perintah berikut:
    gcloud compute instance-groups managed set-autoscaling $MIG_NAME \
    --project $PROJECT_ID --region $REGION --max-num-replicas 3 \
    --target-cpu-utilization 0.75 --cool-down-period 90
  4. Tentukan port bernama dengan menjalankan perintah berikut:
    gcloud compute instance-groups managed set-named-ports $MIG_NAME \
    --project $PROJECT_ID --region $REGION --named-ports https:443

3. Mengonfigurasi load balancer dengan pemantauan health check

Pada langkah-langkah berikut, Anda akan mengonfigurasi load balancer dengan pemantauan health check.

3A. Membuat sertifikat dan kunci SSL untuk load balancer

Anda hanya perlu membuat kredensial satu kali, baik dalam menginstal di satu atau beberapa region. Di langkah berikutnya, Anda akan mengaitkan kredensial ini dengan proxy HTTPS target load balancer.

Anda dapat membuat kredensial dengan:

Untuk mengetahui informasi selengkapnya tentang membuat dan menggunakan sertifikat SSL untuk load balancer Google Cloud, lihat SSL sertifikat dan ringkasan sertifikat SSL.

Pada contoh berikut, kami membuat sertifikat SSL yang dikelola Google:

  1. Buat variabel lingkungan berikut:
    CERTIFICATE_NAME=YOUR_CERT_NAME
    DOMAIN_HOSTNAME=YOUR_DOMAIN_HOSTNAME 

    Tetapkan DOMAIN_HOSTNAME ke nama host domain yang valid yang telah Anda daftarkan. Di langkah selanjutnya, Anda akan mendapatkan kode alamat IP balancer dan memperbarui data A domain agar mengarah ke alamat tersebut. Misalnya, nama {i>host<i} domain mungkin terlihat seperti ini: foo.example.com.

  2. Jalankan Perintah gcloud compute ssl-certificates create:
    gcloud compute ssl-certificates create $CERTIFICATE_NAME \
    --domains=$DOMAIN_HOSTNAME \
    --project $PROJECT_ID \
    --global

    Diperlukan waktu hingga satu jam untuk penyediaan sertifikat. Untuk memeriksa status penyediaan, jalankan perintah ini:

    gcloud compute ssl-certificates describe $CERTIFICATE_NAME \
    --global \
    --format="get(name,managed.status, managed.Status)"

3 M Membuat health check

  1. Buat health check:
    gcloud compute health-checks create https HEALTH_CHECK_NAME \
    --project $PROJECT_ID --port 443 --global \
    --request-path /healthz/ingress

    Anda akan menggunakan health check ini untuk memastikan bahwa layanan backend sedang berjalan. Sebagai mengonfigurasi health check lanjutan terhadap proxy tertentu, lihat Melakukan health check.

  2. Buat layanan backend:
    gcloud compute backend-services create PROXY_BACKEND_NAME \
    --project $PROJECT_ID \
    --protocol HTTPS \
    --health-checks HEALTH_CHECK_NAME \
    --port-name https \
    --timeout 302s \
    --connection-draining-timeout 300s \
    --global
  3. Tambahkan MIG ke layanan backend Anda dengan perintah berikut:
    gcloud compute backend-services add-backend PROXY_BACKEND_NAME \
    --project $PROJECT_ID --instance-group $MIG_NAME \
    --instance-group-region $REGION \
    --balancing-mode UTILIZATION --max-utilization 0.8 --global
  4. Buat peta URL load balancing dengan perintah berikut:
    gcloud compute url-maps create MIG_PROXY_MAP_NAME \
    --project $PROJECT_ID --default-service PROXY_BACKEND_NAME
  5. Buat proxy HTTPS target load balancing dengan perintah berikut:
    gcloud compute target-https-proxies create MIG_HTTPS_PROXY_NAME \
    --project $PROJECT_ID --url-map MIG_PROXY_MAP_NAME \
    --ssl-certificates $CERTIFICATE_NAME

3C. Mendapatkan alamat IP yang dicadangkan dan membuat aturan firewall

Anda harus menetapkan alamat IP ke load balancer, lalu membuat aturan yang mengizinkan load balancer untuk mengakses MIG. Anda hanya perlu melakukan langkah ini sekali, baik Anda menginstal di satu atau beberapa region.

  1. Mencadangkan alamat IP untuk load balancer:
    gcloud compute addresses create ADDRESSES_NAME \
    --project $PROJECT_ID \
    --ip-version=IPV4 \
    --global
  2. Buat aturan penerusan global dengan perintah berikut:
    gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --project $PROJECT_ID --address ADDRESSES_NAME --global \
    --target-https-proxy MIG_HTTPS_PROXY_NAME --ports 443
  3. Dapatkan alamat IP yang dicadangkan dengan menjalankan perintah berikut:
    gcloud compute addresses describe ADDRESSES_NAME \
    --project $PROJECT_ID --format="get(address)" --global
  4. Langkah penting: Buka situs, host DNS, atau ISP tempat data DNS dikelola, dan pastikan data DNS domain Anda di-resolve menjadi alamat IP beban Google Cloud dengan load balancer Jaringan Passthrough Eksternal Regional. Alamat ini adalah nilai IP yang ditampilkan di langkah terakhir. Untuk detail selengkapnya, lihat Perbarui data DNS A dan AAAA agar mengarah ke alamat IP load balancer.
  5. Buat aturan firewall yang memungkinkan load balancer mengakses MIG dengan menggunakan perintah berikut:
    gcloud compute firewall-rules create FIREWALL_RULE_NAME \
    --description "Allow incoming from GLB on TCP port 443 to Apigee Proxy" \
    --project $PROJECT_ID --network $VPC_NAME --allow=tcp:443 \
    --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=gke-apigee-proxy

    Perhatikan bahwa rentang alamat IP 130.211.0.0/22 dan 35.191.0.0/16 adalah IP sumber untuk Google Load Balancing. Aturan firewall ini memungkinkan Google Cloud Load Balancing untuk membuat permintaan health check ke MIG.

Penyediaan Apigee selesai. Buka Deploy a sample proxy.