Memperluas Apigee ke beberapa region

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

Lihat dokumentasi Apigee Edge.

Anda dapat memperluas organisasi Apigee di beberapa region. Perluasan multi-region memungkinkan peningkatan di area berikut:

  • Ketersediaan tinggi: Jika terjadi kegagalan region, traffic masih dapat ditayangkan oleh region yang tersisa, sehingga meningkatkan ketersediaan API Anda secara keseluruhan.
  • Kapasitas tinggi: Region tambahan memberikan kapasitas ekstra untuk menayangkan traffic API Anda dan ruang untuk lonjakan traffic yang tidak terduga tanpa menambah banyak tekanan pada satu lingkungan, sehingga meningkatkan kapasitas keseluruhan API Anda.
  • Latensi rendah: Region tambahan dapat menurunkan latensi transaksi secara keseluruhan untuk klien dengan menayangkan permintaan mereka di region yang lebih dekat secara geografis.

Dokumen ini menjelaskan cara menambahkan Apigee ke region baru dan cara menghapus Apigee dari region.

Menambahkan Apigee ke wilayah baru

Anda dapat memiliki satu instance runtime per region, jadi untuk menambahkan region baru, Anda harus membuat instance yang benar-benar baru di region tersebut.

Proses umum untuk menambahkan wilayah baru adalah sebagai berikut:

  1. Pastikan Anda memiliki rentang alamat IP yang sesuai di jaringan peering, seperti yang dijelaskan di Prasyarat. Selain itu, pastikan akun Anda dapat mendukung wilayah baru, seperti yang dijelaskan di Batas.
  2. Menentukan variabel lingkungan
  3. Membuat key ring dan kunci baru
  4. Pesan rentang alamat baru
  5. Membuat instance baru
  6. Melampirkan lingkungan ke instance baru
  7. Mengonfigurasi pemilihan rute

Setiap langkah ini dijelaskan di bagian selanjutnya.

Prasyarat

Pastikan jaringan Anda memiliki /22 dan /28 sebagai rentang alamat IP yang tidak tumpang tindih. Hal ini merupakan tambahan dari rentang yang digunakan oleh region lain.

Batas

Secara default, organisasi awal Anda biasanya dibuat dengan satu region. Saat memutuskan apakah akan membuat wilayah kedua (atau berikutnya), perhatikan bahwa Anda hanya dapat menambahkan wilayah jika hak lisensi Anda mengizinkannya. Atau, Anda dapat membeli paket organisasi.

  • Jika memiliki model harga berbasis langganan, Anda mungkin perlu membeli unit Organisasi tambahan untuk memungkinkan perluasan ke beberapa wilayah. Lihat Hak langganan.
  • Jika Anda memiliki model harga Bayar sesuai penggunaan, perluasan ke beberapa wilayah akan menimbulkan biaya tambahan, seperti yang dijelaskan dalam Menambahkan wilayah untuk Bayar sesuai penggunaan.
  • Akun evaluasi dibatasi untuk satu region dan tidak dapat diperluas ke region kedua.

Untuk informasi selengkapnya, lihat Ringkasan bayar sesuai pemakaian.

Tidak ada organisasi yang dapat memiliki lebih dari 10 (11 untuk hybrid) region.

Menentukan variabel lingkungan

Sebaiknya tentukan variabel lingkungan berikut untuk memastikan konsistensi di seluruh perintah yang digunakan di seluruh dokumentasi ini.

export NEW_REGION_LOCATION="NEW_REGION_LOCATION"
export NEW_INSTANCE_NAME="NEW_INSTANCE_NAME"
export NETWORK_NAME"=NETWORK_NAME"
export DISK_KEY_RING_NAME="YOUR_DISK_KEY_RING_NAME"
export DISK_KEY_NAME="YOUR_DISK_KEY_NAME"
export PROJECT_ID=YOUR_PROJECT_ID
export AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")

Dengan keterangan:

  • NEW_REGION_LOCATION adalah lokasi fisik instance baru Anda. Nilai yang valid adalah region Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Region dan zona. Misalnya, us-west1.
  • NEW_INSTANCE_NAME adalah nama region baru. Nama ini harus unik untuk organisasi Anda. Misalnya, my-instance-2.
  • NETWORK_NAME adalah nama jaringan peering organisasi Anda. Misalnya, my-network. Lihat Mengonfigurasi jaringan layanan.
  • DISK_KEY_RING_NAME adalah nama untuk key ring disk.
  • DISK_KEY_NAME adalah nama untuk ring disk.
  • AUTH menentukan header Authentication dengan token pembawa. Anda akan menggunakan header ini saat memanggil Apigee API. Perhatikan bahwa masa berlaku token berakhir setelah jangka waktu tertentu dan jika sudah habis masa berlakunya, Anda cukup membuat ulang token menggunakan perintah yang sama. Untuk mengetahui informasi selengkapnya, lihat halaman referensi untuk perintah print-access-token.
  • PROJECT_ID adalah project ID Cloud Anda.
  • PROJECT_NUMBER adalah nomor project Cloud untuk project Cloud Anda.

Membuat key ring dan kunci baru

Setiap region memerlukan kunci enkripsi disknya sendiri untuk jaringan. Google merekomendasikan agar Anda juga membuat ring kunci terpisah untuk region baru. Anda tidak perlu membuat kunci enkripsi database baru karena semua instance dalam organisasi menggunakan kunci enkripsi database yang sama.

Untuk mengetahui detail tambahan, lihat Tentang kunci enkripsi Apigee.

Untuk membuat kunci dan key ring enkripsi disk baru:

  1. Buat key ring disk baru menggunakan perintah gcloud:
    gcloud kms keyrings create $DISK_KEY_RING_NAME \
      --location $NEW_REGION_LOCATION \
      --project $PROJECT_ID

    Pastikan key ring disk disetel ke lokasi yang sama dengan instance. Setiap instance dan ring kunci harus memiliki lokasinya sendiri.

    gcloud kms keyrings list \
      --location $NEW_REGION_LOCATION \
      --project $PROJECT_ID
    gcloud kms keyrings describe $DISK_KEY_RING_NAME \
      --location $NEW_REGION_LOCATION \
      --project $PROJECT_ID
  2. Buat kunci disk baru menggunakan perintah kms keys create; misalnya:
    gcloud kms keys create $DISK_KEY_NAME --keyring $DISK_KEY_RING_NAME \
      --location $NEW_REGION_LOCATION --purpose "encryption" --project $PROJECT_ID

    Kunci dapat direferensikan oleh jalur kunci. Anda bisa mendapatkan jalur kunci dengan perintah berikut:

    gcloud kms keys list \
      --location=$NEW_REGION_LOCATION \
      --keyring=$DISK_KEY_RING_NAME \
      --project=$PROJECT_ID

    Jalur kunci terlihat seperti berikut:

    projects/PROJECT_ID/locations/NEW_REGION_LOCATION/keyRings/my-disk-key-ring/cryptoKeys/my-disk-key
  3. Berikan akses bagi Agen Layanan Apigee untuk menggunakan kunci baru dengan menjalankan perintah gcloud kms keys add-iam-policy-binding; misalnya:
    gcloud kms keys add-iam-policy-binding $DISK_KEY_NAME \
      --location $NEW_REGION_LOCATION \
      --keyring $DISK_KEY_RING_NAME \
      --member serviceAccount:service-$PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com \
      --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
      --project $PROJECT_ID

    Pastikan kunci terikat ke Agen Layanan Apigee.

    gcloud kms keys get-iam-policy $DISK_KEY_NAME \
      --keyring $DISK_KEY_RING_NAME \  
      --location $NEW_REGION_LOCATION \
      --project $PROJECT_ID
    gcloud kms keys describe $DISK_KEY_NAME \
      --keyring $DISK_KEY_RING_NAME \  
      --location $NEW_REGION_LOCATION \
      --project $PROJECT_ID

Mencadangkan rentang alamat baru

Mencadangkan alamat IP untuk rentang alamat jaringan peering Anda. Untuk informasi selengkapnya dan pertimbangan penting, lihat juga Memahami rentang peering.

  1. Buat variabel lingkungan berikut:
    NEW_RANGE_NAME_22=YOUR_CIDR_22_RANGE_NAME
    NEW_RANGE_NAME_28=YOUR_CIDR_28_RANGE_NAME
    NETWORK_NAME=YOUR_NETWORK_NAME
    

    Dengan keterangan:

    • NEW_RANGE_NAME_22 adalah nama rentang alamat IP dengan panjang CIDR /22 yang akan Anda buat. Anda dapat memberi nama rentang apa pun yang Anda inginkan. Contoh: google-svcs-new_22
    • NEW_RANGE_NAME_28 adalah nama rentang alamat IP dengan panjang CIDR /28 yang akan Anda buat. Anda dapat memberi nama rentang apa pun yang Anda inginkan. Contoh: google-svcs-new_28
    • NETWORK_NAME adalah nama resource jaringan tempat alamat harus dicadangkan.

      Google membuat jaringan default (bernama default) untuk setiap project baru, sehingga Anda dapat menggunakannya. Namun, Google tidak merekomendasikan penggunaan jaringan default untuk hal selain pengujian.

  2. Buat rentang IP jaringan dengan panjang CIDR /22:
    gcloud compute addresses create $NEW_RANGE_NAME_22 \
      --global \
      --prefix-length=22 \
      --description="Peering range for Apigee services" \
      --network=$NETWORK_NAME \
      --purpose=VPC_PEERING \
      --project=$PROJECT_ID

    Jika berhasil, gcloud akan merespons dengan hal berikut:

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses/google-svcs-new].

    Validasi alamat komputasi yang dibuat:

    gcloud compute addresses list \
      --global \
      --project=$PROJECT_ID
    gcloud compute addresses describe $NEW_RANGE_NAME_22 \
      --global \
      --project=$PROJECT_ID

    Setelah Anda membuat rentang alamat IP, alamat tersebut akan dikaitkan dengan project hingga Anda merilisnya.

  3. Buat rentang IP jaringan dengan panjang CIDR /28. Rentang ini diperlukan dan digunakan oleh Apigee untuk tujuan pemecahan masalah dan tidak dapat disesuaikan atau diubah.
    gcloud compute addresses create $NEW_RANGE_NAME_28 \
      --global \
      --prefix-length=28 \
      --description="Peering range for supporting Apigee services" \
      --network=$NETWORK_NAME \
      --purpose=VPC_PEERING \
      --project=$PROJECT_ID
  4. Validasi alamat komputasi yang dibuat:

    gcloud compute addresses list \
      --global \
      --project=$PROJECT_ID
     gcloud compute addresses describe $NEW_RANGE_NAME_28 \
      --global \
      --project=$PROJECT_ID
  5. Dapatkan nama rentang peering:
    gcloud services vpc-peerings list \
      --network=$NETWORK_NAME \
      --project=$PROJECT_ID
  6. Tambahkan rentang yang baru dicadangkan ke jaringan peering Anda dengan perintah berikut, dengan $NEW_RANGE_NAME_22 dan $NEW_RANGE_NAME_28 adalah nama rentang baru dan ORIGINAL_RANGE_NAME_1 dan ORIGINAL_RANGE_NAME_n adalah nama rentang peering yang dicadangkan yang ditampilkan dalam perintah sebelumnya:
    gcloud services vpc-peerings update --service=servicenetworking.googleapis.com \
      --network=$NETWORK_NAME \
      --ranges=$NEW_RANGE_NAME_22,$NEW_RANGE_NAME_28,ORIGINAL_RANGE_NAME_1,ORIGINAL_RANGE_NAME_n \
      --project=$PROJECT_ID
  7. Validasi perubahan peering VPC yang telah diperbarui:

    gcloud services vpc-peerings list \
      --network=$NETWORK_NAME \
      --project=$PROJECT_ID

Buat instance baru

Buat instance baru untuk region menggunakan Instances API.

Dengan peering VPC

Jika Apigee disiapkan untuk menggunakan peering VPC, gunakan panggilan API ini untuk membuat instance:

curl -X POST -H "$AUTH" \
  -H "Content-Type: application/json" \
  "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances" \
  -d '{
    "name":"'"$NEW_INSTANCE_NAME"'",
    "location":"'"$NEW_REGION_LOCATION"'",
    "diskEncryptionKeyName":"KEY_PATH",
    "ipRange":"IP_ADDRESS_1/28, IP_ADDRESS_2/22"  # OPTIONAL
  }'

Dengan keterangan:

  • KEY_PATH adalah jalur kunci kunci enkripsi disk yang Anda buat di Membuat key ring dan kunci baru.
  • IP_ADDRESS_* adalah alamat IP CIDR untuk rentang CIDR /22 dan /28 yang digunakan untuk membuat instance Apigee. Perhatikan bahwa ipRange bersifat opsional. Jika Anda tidak memberikan kolom ini, Apigee akan otomatis meminta blok CIDR /22 dan /28 yang tersedia dari Jaringan Layanan. Lihat juga API instance Apigee.
  • Permintaan ini dapat memerlukan waktu hingga 20 menit untuk diselesaikan karena Apigee harus membuat dan meluncurkan cluster Kubernetes baru, menginstal resource Apigee di cluster tersebut, dan menyiapkan load balancing.

Tanpa peering VPC

Jika Apigee tidak disiapkan untuk menggunakan peering VPC, gunakan panggilan API ini untuk membuat instance:

curl -X POST -H "$AUTH" \
  -H "Content-Type:application/json" \
  "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances" \
  -d '{
    "name":"'"$INSTANCE_NAME"'",
    "location":"'"$RUNTIME_LOCATION"'",
    "diskEncryptionKeyName":"'"KEY_PATH"'",
    "consumerAcceptList":[ARRAY_OF_PROJECT_IDS]      
  }'

Dengan keterangan:

  • KEY_PATH adalah jalur kunci kunci enkripsi disk yang Anda buat di Membuat key ring dan kunci baru. Lihat juga API instance Apigee.
  • consumerAcceptList(Opsional) Menentukan daftar project ID Google Cloud yang dapat terhubung secara pribadi ke lampiran layanan VPC Apigee. Lampiran layanan adalah entitas yang digunakan dengan Private Service Connect Google Cloud untuk memungkinkan produsen layanan (dalam hal ini, Apigee) mengekspos layanan kepada konsumen (dalam hal ini, satu atau beberapa project Cloud yang Anda miliki). Secara default, kami menggunakan project Cloud yang sudah dikaitkan dengan organisasi Apigee Anda. Misalnya: "consumerAcceptList": ["project1", "project2", "project3"]

Permintaan ini dapat memerlukan waktu hingga 20 menit untuk diselesaikan karena Apigee harus membuat dan meluncurkan cluster Kubernetes baru, menginstal resource Apigee di cluster tersebut, dan menyiapkan load balancing.

timer Operasi pembuatan instance memerlukan waktu sekitar 30 menit untuk diselesaikan.

Untuk memeriksa status permintaan pembuatan instance runtime, jalankan perintah berikut. Jika statusnya AKTIF, Anda dapat melanjutkan ke langkah berikutnya.

curl -i -X GET -H "$AUTH" \
  "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$NEW_INSTANCE_NAME"

Untuk detail selengkapnya tentang cara membuat instance runtime, termasuk konteks tambahan dan informasi pemecahan masalah, lihat Langkah 5: Membuat instance runtime Apigee.

Melampirkan lingkungan ke instance baru

Setelah membuat instance, Anda harus melampirkan lingkungan ke instance tersebut. Jika tidak, instance tidak dapat merespons permintaan API.

Lingkungan digunakan bersama di seluruh instance; oleh karena itu, Anda harus melampirkan lingkungan yang ada ke region baru. Anda tidak menentukan lingkungan baru untuk wilayah baru. Jika Anda menentukan lingkungan baru untuk region baru yang menayangkan jalur dasar yang sama untuk host yang sama dengan lingkungan asli, panggilan runtime Anda dapat menampilkan error HTTP 503.

Saat mengisi region baru dengan lingkungan, Anda tidak perlu melampirkan lingkungan ke grup lingkungan: lingkungan tersebut sudah dilampirkan ke grupnya. Anda hanya perlu melampirkan lingkungan ke instance baru.

Untuk melampirkan lingkungan ke region baru, gunakan Instances attachment API seperti yang ditunjukkan pada contoh berikut:

curl -X POST -H "$AUTH" \
  -H "Content-Type: application/json" \
  https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$NEW_INSTANCE_NAME/attachments \
  -d '{
    "environment":"ENVIRONMENT_NAME"
  }'

Untuk mendapatkan daftar lingkungan Anda:

curl -i -X GET -H "$AUTH" \
  "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments"

Anda harus melampirkan setiap lingkungan dengan panggilan terpisah ke Instances Attachment API. Anda tidak dapat melampirkan lebih dari satu lingkungan dalam satu panggilan.

Mengonfigurasi pemilihan rute

Anda dapat mengonfigurasi pemilihan rute jaringan di region baru menggunakan grup instance terkelola (MIG) atau konfigurasi berbasis Private Service Connect (PSC).

Mengonfigurasi pemilihan rute PSC

Langkah-langkah berikut menjelaskan cara mengonfigurasi perutean di region baru menggunakan PSC.

Ringkasan

Gambar berikut menunjukkan arsitektur northbound tingkat tinggi untuk PSC multi-region:

Diagram pemilihan rute PSC multi-region.

Gambar 1: Arsitektur multi-region northbound dengan PSC

Seperti yang diilustrasikan pada Gambar 1, Anda akan membuat grup endpoint jaringan (NEG) dalam project yang berkomunikasi dengan lampiran layanan di region tempat instance Apigee baru berada. NEG Apigee untuk semua region terhubung ke layanan backend load balancer eksternal global produksi Apigee Anda.

Membuat grup endpoint jaringan untuk region baru

Ikuti langkah-langkah berikut untuk membuat dan mengonfigurasi load balancer dengan grup endpoint jaringan (NEG) untuk region baru:

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

      Dalam contoh output berikut, nilai serviceAttachment ditampilkan 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/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
          }
        ]
      }
    2. Buat NEG yang mengarah ke lampiran layanan yang Anda peroleh dari isi respons instance di langkah sebelumnya.

      gcloud compute network-endpoint-groups create NEG_NAME \
        --network-endpoint-type=private-service-connect \
        --psc-target-service=TARGET_SERVICE \
        --region=$NEW_REGION_LOCATION \
        --network=NETWORK_NAME \
        --subnet=SUBNET_NAME \
        --project=PROJECT_ID
      

      Ganti kode berikut:

      • NEG_NAME: nama untuk grup endpoint jaringan.
      • TARGET_SERVICE: lampiran layanan yang ingin Anda hubungkan. Contoh: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
      • NETWORK_NAME: (Opsional) Nama jaringan tempat NEG dibuat. Jika Anda menghapus parameter ini, jaringan project default akan digunakan.
      • SUBNET_NAME: Nama subnet yang digunakan untuk konektivitas pribadi ke produsen. Ukuran subnet dapat kecil: PSC NEG hanya memerlukan satu IP dari subnet. Untuk Apigee, hanya satu PSC NEG yang diperlukan per wilayah. Subnet dapat dibagikan dan digunakan oleh VM atau entitas lainnya. Jika subnet tidak ditentukan, endpoint jaringan dapat menjadi bagian dari subnetwork mana pun di region tempat grup endpoint jaringan dibuat.
      • PROJECT_ID Project Cloud yang sudah dikaitkan dengan organisasi Apigee Anda, atau project Cloud yang disertakan dalam consumerAcceptlist saat instance runtime Apigee dibuat.
  2. Dapatkan nama layanan backend untuk load balancer Apigee produksi Anda:
    gcloud compute backend-services list --project=$PROJECT_ID
  3. Tambahkan NEG sebagai backend ke layanan backend:
    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
      --network-endpoint-group=NEG_NAME \
      --network-endpoint-group-region=$NEW_REGION_LOCATION \
      --global --project=$PROJECT_ID

    Ganti kode berikut:

    • BACKEND_SERVICE_NAME: Nama layanan backend.
    • NEG_NAME: Nama grup endpoint jaringan.
  4. (Opsional) Anda dapat menetapkan kebijakan traffic deteksi pencilan di layanan backend untuk menangani skenario failover secara otomatis. Lihat referensi berikut untuk mengetahui informasi selengkapnya:

Menguji penyiapan akhir

Memanggil proxy API. Lihat Men-deploy proxy contoh.

Mengonfigurasi pemilihan rute MIG

Langkah-langkah berikut menjelaskan cara mengonfigurasi perutean di region baru menggunakan grup instance terkelola (MIG).

Ringkasan

Gambar berikut menunjukkan arsitektur northbound tingkat tinggi untuk multi-region menggunakan grup instance terkelola (MIG):

Diagram arsitektur northbound untuk PSC multi-region.

Gambar 2: Arsitektur multi-region northbound dengan MIG

Seperti yang diilustrasikan pada Gambar 2, Anda akan membuat MIG dalam project untuk berkomunikasi dengan load balancer yang di-deploy di region tempat instance Apigee baru berada. Proxy MIG untuk semua region terhubung ke backend load balancer eksternal global produksi Apigee Anda.

Membuat grup instance terkelola (MIG) untuk region baru

Ikuti langkah-langkah berikut untuk membuat dan mengonfigurasi MIG untuk region baru:

  1. Aktifkan Akses Google Pribadi untuk subnet jaringan VPC Anda.

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

  2. Siapkan variabel lingkungan:

    Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk ke string yang digunakan berulang kali. Sebaiknya tetapkan hal berikut sebelum melanjutkan:

    MIG_NAME=YOUR_MIG_NAME
    VPC_NAME=YOUR_VPC_NAME       # If you are using a shared VPC, use the shared VPC name
    VPC_SUBNET=YOUR_SUBNET_NAME     # Private Google Access must be enabled for this subnet
    NEW_REGION_LOCATION=YOUR_NEW_REGION      # The same region as your new Apigee runtime instance
    APIGEE_ENDPOINT=APIGEE_INSTANCE_IP        # See the tip below for details on getting this IP address value
  3. 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 $NEW_REGION_LOCATION \
        --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=$APIGEE_ENDPOINT,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 adalah jenis e2-medium. Server tersebut menjalankan Debian 12 dan memiliki disk sebesar 20 GB. Skrip startup-script.sh mengonfigurasi MIG untuk merutekan traffic masuk dari load balancer 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 $NEW_REGION_LOCATION
    3. Konfigurasikan penskalaan otomatis untuk grup dengan menjalankan perintah berikut:
      gcloud compute instance-groups managed set-autoscaling $MIG_NAME \
        --project $PROJECT_ID --region $NEW_REGION_LOCATION --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 $NEW_REGION_LOCATION --named-ports https:443
  4. Dapatkan nama layanan backend untuk load balancer Apigee produksi Anda:
    gcloud compute backend-services list --project=$PROJECT_ID
  5. Tambahkan MIG ke layanan backend Anda dengan perintah berikut:
    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
      --project $PROJECT_ID --instance-group $MIG_NAME \
      --instance-group-region $NEW_REGION_LOCATION \
      --balancing-mode UTILIZATION --max-utilization 0.8 --global

    Ganti BACKEND_SERVICE_NAME dengan nama layanan backend.

Menguji penyiapan akhir

Memanggil proxy API. Lihat Men-deploy proxy contoh.

Menambahkan wilayah

Menambahkan beberapa region ke lingkungan Apigee dapat memberikan ketersediaan tinggi, kapasitas yang lebih tinggi, dan latensi yang lebih rendah untuk API Anda. Deployment multi-region mendukung ketersediaan tinggi karena failover manual tidak diperlukan karena XLB akan melakukan health check pada setiap region. Kapasitas yang lebih tinggi disediakan saat beberapa region menayangkan API yang sama secara bersamaan. Selain itu, jika klien API Anda berada di beberapa region, menayangkan API dari region yang lebih dekat dengan klien akan membantu menurunkan latensi dan meningkatkan performa.

Contoh: Deployment multi-region meningkatkan ketersediaan, kapasitas, dan latensi

Dalam deployment multi-region aktif-aktif, traffic ditayangkan dari dua region secara bersamaan. Anda menambahkan layanan backend untuk setiap MIG region ke Load Balancer HTTPS Eksternal (XLB) yang sama, seperti yang dijelaskan di Langkah 8e(3) pada tab Pemilihan rute eksternal (MIG) di bagian Langkah 8: Konfigurasi pemilihan rute. Untuk informasi selengkapnya, lihat juga Membuat grup instance terkelola (MIG) untuk region baru.

Untuk setiap permintaan, XLB akan memilih region yang paling dekat dengan klien, kecuali jika jumlah permintaan melebihi batas yang ditetapkan untuk backend tertentu. Lihat Application Capacity Optimizations with Global Load Balancing untuk mengetahui informasi selengkapnya tentang cara load balancer eksternal merutekan traffic.

Menambahkan wilayah untuk Bayar sesuai penggunaan

Dengan model harga Pay-as-you-go, Anda dapat menetapkan jumlah minimum node gateway Apigee untuk lingkungan. Hal ini memungkinkan untuk memastikan bahwa region selalu berjalan dengan kapasitas tambahan untuk segera mendukung traffic failover, jika terjadi kegagalan region.

Menetapkan jumlah minimum node gateway Apigee

Jika Anda dapat menayangkan semua traffic API normal dari 2 region aktif, masing-masing dengan 4 node gateway Apigee, setiap region harus memiliki minimal 8 node. Hal ini untuk segera mendukung hilangnya satu region. Lihat Tentang node Apigee untuk mengetahui informasi selengkapnya tentang cara menentukan jumlah node yang diperlukan untuk menangani traffic API. Perhatikan bahwa jumlah minimum node ditetapkan per lingkungan, tetapi diterapkan per region. Misalnya, jika Anda menetapkan minimum ke 8, setiap region akan memiliki minimal 8 node.

Biaya

Pada contoh di atas, Anda akan dikenai biaya untuk menjalankan minimal 16 node gateway Apigee (8 node x 2 region). Biaya dapat meningkat seiring dengan peningkatan jumlah node secara otomatis untuk menangani traffic tambahan, hingga maksimum.

Menghapus Apigee dari wilayah

Untuk menonaktifkan instance Apigee agar tidak menayangkan traffic API, ikuti langkah-langkah berikut untuk memastikan layanan tidak terganggu (tidak ada periode nonaktif untuk API Anda):

  1. Aktifkan pengosongan koneksi di layanan backend. Pengosongan koneksi adalah proses yang memastikan bahwa permintaan yang ada dan sedang berlangsung diberi waktu untuk diselesaikan saat backend dihapus dari layanan backend.
  2. Jika Cloud DNS telah dikonfigurasi untuk merutekan traffic ke region Apigee ini melalui kebijakan pemilihan rute round-robin berbobot, hapus konfigurasi DNS tersebut, seperti yang dijelaskan dalam Mengelola kebijakan pemilihan rute dan health check DNS.
  3. Lepaskan backend MIG dari layanan backend. Hal ini, bersama dengan pengosongan koneksi, akan memastikan bahwa instance Apigee tidak menerima traffic baru, tetapi memungkinkan permintaan yang sedang berlangsung untuk diselesaikan.
  4. Hapus Instance Apigee dan MIG yang sesuai. Lihat Menghapus instance.