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. Ekspansi multi-region memungkinkan peningkatan di area berikut:

  • Ketersediaan tinggi: Jika terjadi kegagalan region, traffic masih dapat disalurkan oleh region yang tersisa, sehingga meningkatkan ketersediaan API Anda secara keseluruhan.
  • Kapasitas tinggi: Wilayah tambahan memberikan kapasitas ekstra untuk melayani 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 melayani 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 yang tersedia, seperti yang dijelaskan dalam Prasyarat. Selain itu, pastikan akun Anda dapat mendukung wilayah baru, seperti yang dijelaskan dalam 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 dan tersedia. Selain rentang yang digunakan oleh wilayah lain.

Batas

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

  • Jika memiliki model harga berbasis langganan, Anda mungkin perlu membeli Unit organisasi tambahan untuk memungkinkan ekspansi 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 terbatas pada satu region dan tidak dapat diperluas ke region kedua.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan bayar sesuai penggunaan.

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 dalam 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:

  • NEW_REGION_LOCATION adalah lokasi fisik instance baru Anda. Nilai yang valid adalah region Compute Engine mana pun. Untuk mengetahui informasi selengkapnya, lihat Region dan zona. Misalnya, us-west1.
  • NEW_INSTANCE_NAME adalah nama region baru. ID 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 pemilik. Anda akan menggunakan header ini saat memanggil Apigee API. Perhatikan bahwa token akan habis masa berlakunya setelah jangka waktu tertentu dan saat habis masa berlakunya, Anda cukup membuatnya ulang menggunakan perintah yang sama. Untuk 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 disk sendiri untuk jaringan. Google merekomendasikan agar Anda juga membuat key ring 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 key ring dan kunci 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 key ring 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 dirujuk berdasarkan jalur kuncinya. 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. \
      --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

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

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

    Dengan:

    • NEW_RANGE_NAME_22 adalah nama rentang alamat IP dengan panjang CIDR /22 yang akan Anda buat. Anda dapat memberi nama rentang sesuai keinginan. 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 sesuai keinginan. 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 lain 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 melepaskannya.

  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 yang di-peering dengan perintah berikut, dengan $NEW_RANGE_NAME_22 dan $NEW_RANGE_NAME_28 adalah nama rentang baru dan ORIGINAL_RANGE_NAME_1 serta 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 diupdate:

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

Buat instance baru

Buat instance baru untuk region menggunakan Instances API.

Dengan VPC-peering

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:

  • KEY_PATH adalah jalur kunci dari 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 Service Networking. 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 VPC-peering

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:

  • KEY_PATH adalah jalur kunci dari kunci enkripsi disk yang Anda buat di Membuat key ring dan kunci baru. Lihat juga API instance Apigee.
  • consumerAcceptList(Opsional) Menentukan daftar ID project 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 mengetahui detail selengkapnya tentang cara membuat instance runtime, termasuk konteks tambahan dan informasi pemecahan masalah, lihat Langkah 5: Buat instance runtime Apigee.

Lampirkan 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 menyajikan basepath yang sama untuk host yang sama dengan lingkungan asli Anda, 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 Anda ke region baru, gunakan Instances attachment API seperti yang ditunjukkan 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 perutean

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

Mengonfigurasi perutean 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 perutean PSC multi-region.

Gambar 1: Arsitektur multi-region northbound dengan PSC

Seperti yang diilustrasikan Gambar 1, Anda akan membuat grup endpoint jaringan (NEG) di 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.

Buat 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 pada 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 bisa kecil: NEG PSC hanya memerlukan satu IP dari subnet. Untuk Apigee, hanya satu NEG PSC yang diperlukan per region. Subnet dapat dibagikan dan digunakan oleh VM atau entitas lain. 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 pada layanan backend untuk menangani skenario failover secara otomatis. Lihat informasi berikut untuk mengetahui informasi selengkapnya:

Menguji penyiapan akhir

Panggil proxy API. Lihat Men-deploy proxy contoh.

Mengonfigurasi perutean 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 di 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.

Buat 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 di Mengaktifkan Akses Google Pribadi.

  2. Siapkan variabel lingkungan:

    Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk ke string yang digunakan berulang kali. Sebaiknya Anda menyetelnya 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, komputer memiliki jenis e2-medium. Instance ini menjalankan Debian 12 dan memiliki disk 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. Konfigurasi 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

Panggil 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 di setiap region. Kapasitas yang lebih tinggi disediakan saat beberapa region melayani API yang sama secara bersamaan. Selain itu, jika klien API Anda berada di beberapa region, API Anda yang ditayangkan 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 disalurkan dari dua region secara bersamaan. Anda menambahkan layanan backend untuk MIG setiap region ke Load Balancer HTTPS Eksternal (XLB) yang sama, seperti yang dijelaskan dalam Langkah 8e(3) di tab Perutean eksternal (MIG) di bagian Langkah 8: Konfigurasi perutean. Untuk mengetahui 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 Pengoptimalan Kapasitas Aplikasi dengan Load Balancing Global 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 Anda 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 melayani semua traffic API normal dari 2 wilayah aktif, masing-masing dengan 4 node gateway Apigee, maka setiap wilayah harus memiliki minimal 8 node. Hal ini dilakukan untuk segera mendukung hilangnya satu region. Lihat Tentang node Apigee untuk mengetahui informasi selengkapnya tentang cara menentukan jumlah node yang Anda butuhkan untuk menangani traffic API. Perhatikan bahwa jumlah minimum node ditetapkan per lingkungan, tetapi diterapkan per region. Misalnya, jika Anda menetapkan minimum ke 8, maka setiap region akan memiliki minimal 8 node.

Biaya

Dalam 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 suatu region

Untuk menonaktifkan instance Apigee dari penayangan traffic API, ikuti langkah-langkah berikut untuk memastikan layanan tanpa gangguan (tanpa waktu henti untuk API Anda):

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