Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee Hybrid.
Baca dokumentasi Apigee Edge.
Anda dapat memperluas organisasi Apigee di beberapa region. Perluasan multi-region memungkinkan peningkatan pada 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: Region tambahan menyediakan kapasitas ekstra untuk menyalurkan traffic API dan ruang untuk lonjakan traffic yang tidak terduga tanpa menambah banyak tekanan pada satu lingkungan, sehingga meningkatkan kapasitas API secara keseluruhan.
- Latensi rendah: Region tambahan dapat menurunkan latensi transaksi secara keseluruhan untuk klien dengan melayani permintaannya di region yang lebih dekat secara geografis.
Dokumen ini menjelaskan cara menambahkan Apigee ke region baru dan cara menghapus Apigee dari suatu region.
Menambahkan Apigee ke region 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:
- Pastikan Anda memiliki rentang alamat IP yang sesuai di jaringan peering, seperti yang dijelaskan dalam Prasyarat. Selain itu, pastikan akun Anda dapat mendukung wilayah baru, seperti yang dijelaskan dalam Batas.
- Menentukan variabel lingkungan
- Membuat key ring dan kunci baru
- Memesan rentang alamat IP baru
- Membuat instance baru
- Melampirkan lingkungan ke instance baru
- Mengonfigurasi pemilihan rute
Setiap langkah ini dijelaskan di bagian berikutnya.
Prasyarat
Pastikan jaringan Anda memiliki /22 dan /28 sebagai rentang alamat IP yang tidak tumpang-tindih. Ini merupakan tambahan dari 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 wilayah jika hak lisensi Anda mengizinkannya. Anda juga dapat membeli paket organisasi.
- Jika memiliki model penetapan harga berdasarkan langganan, Anda mungkin perlu membeli Unit org tambahan agar perluasan ke beberapa wilayah dapat dilakukan. Lihat Hak langganan.
- Jika Anda memiliki model harga Bayar sesuai penggunaan, perluasan ke beberapa wilayah akan dikenai 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 mengetahui informasi selengkapnya, lihat Ringkasan bayar sesuai penggunaan.
Tidak ada organisasi yang dapat memiliki lebih dari 10 region (11 untuk hybrid).
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 keterangan:
NEW_REGION_LOCATION
adalah lokasi fisik instance baru. Nilai yang valid adalah semua region Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Region dan zona. Misalnya:us-west1
.NEW_INSTANCE_NAME
adalah nama wilayah 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 lingkaran disk.AUTH
menentukan headerAuthentication
dengan token pemilik. Anda akan menggunakan header ini ketika memanggil API Apigee. Perlu diperhatikan bahwa masa berlaku token telah berakhir setelah jangka waktu tertentu dan jika token sudah habis masa berlakunya, Anda cukup membuatnya kembali 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.- 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
- 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 ini dapat direferensikan oleh jalur kunci-nya. 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
- Berikan akses kepada 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 tersebut terikat dengan 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
- 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 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 apa pun 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 apa pun selain pengujian.
- 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 sampai Anda melepaskannya.
- 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
- Dapatkan nama-nama rentang peering:
gcloud services vpc-peerings list \ --network=$NETWORK_NAME \ --project=$PROJECT_ID
- 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, sedangkan 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
- KEY_PATH adalah jalur kunci enkripsi disk yang Anda buat di langkah Membuat key ring dan kunci baru.
- IP_ADDRESS_* adalah alamat IP CIDR untuk rentang CIDR /22 dan /28 yang digunakan untuk membuat instance Apigee. Perlu diketahui 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 Apigee instances API. - KEY_PATH adalah jalur kunci enkripsi disk yang Anda buat di langkah Membuat key ring dan kunci baru. Lihat juga Apigee instances API.
-
consumerAcceptList
(Opsional) Menentukan daftar project ID Google Cloud yang dapat terhubung secara pribadi ke lampiran layanan VPC Apigee. Lampiran layanan adalah entity 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"]
Buat 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 sebuah organisasi memiliki kunci enkripsi database yang sama.
Untuk mengetahui detail tambahan, lihat Tentang kunci enkripsi Apigee.
Untuk membuat kunci dan key ring enkripsi disk baru:
Memesan rentang alamat IP baru
Cadangkan alamat IP untuk rentang alamat jaringan peering Anda. Untuk informasi selengkapnya dan pertimbangan penting, lihat juga Memahami rentang peering.
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
Validasi perubahan vpc-peering 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 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:
Proses permintaan ini dapat memakan waktu hingga 20 menit 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:
Proses permintaan ini dapat memakan waktu hingga 20 menit karena Apigee harus membuat dan meluncurkan cluster Kubernetes baru, menginstal resource Apigee di cluster tersebut, dan menyiapkan load balancing.
timer Operasi create instance memerlukan waktu sekitar 30 menit untuk diselesaikan.
Untuk memeriksa status permintaan pembuatan instance runtime Anda, jalankan perintah berikut. Saat status 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 pembuatan 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 dalamnya. Jika tidak, instance tidak dapat merespons permintaan API.
Lingkungan digunakan bersama di seluruh instance; oleh karena itu, Anda harus menambahkan lingkungan yang ada ke region baru. Anda tidak menentukan lingkungan baru untuk region baru. Jika Anda menentukan lingkungan baru untuk region baru yang melayani 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 menambahkan lingkungan ke grup lingkungan: grup tersebut sudah disertakan ke grupnya. Anda hanya perlu melampirkan lingkungan ke instance baru.
Untuk melampirkan lingkungan Anda ke region baru, gunakan Instances attachment API seperti yang ditampilkan 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 Lampiran API. Anda tidak dapat menambahkan lebih dari satu lingkungan dalam satu panggilan.
Mengonfigurasi pemilihan rute
Anda dapat mengonfigurasi perutean jaringan di region baru menggunakan konfigurasi berbasis grup instance terkelola (MIG) atau Private Service Connect (PSC).
Mengonfigurasi pemilihan rute PSC
Langkah berikut menjelaskan cara mengonfigurasi pemilihan rute di region baru menggunakan PSC.
Ringkasan
Gambar berikut menunjukkan arsitektur tingkat tinggi menuju utara untuk PSC multi-region:
Seperti yang diilustrasikan pada Gambar 1, Anda akan membuat grup endpoint jaringan (NEG) dalam project Anda 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:
- Buat NEG baru:
- 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" } ] }
Buat NEG yang mengarah ke lampiran layanan yang Anda dapatkan 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 boleh kecil: NEG PSC hanya memerlukan satu IP dari subnet. Untuk Apigee, hanya satu NEG PSC 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 terkait dengan organisasi Apigee Anda, atau project Cloud yang disertakan dalam
consumerAcceptlist
saat instance runtime Apigee dibuat.
- Dapatkan lampiran layanan dari instance yang Anda buat sebelumnya:
- Dapatkan nama layanan backend untuk load balancer Apigee produksi Anda:
gcloud compute backend-services list --project=$PROJECT_ID
- 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.
- (Opsional) Anda dapat menetapkan kebijakan traffic deteksi pencilan pada layanan backend untuk menangani skenario failover secara otomatis. Lihat informasi selengkapnya berikut ini:
Menguji penyiapan akhir
Memanggil proxy API. Lihat Men-deploy contoh proxy.
Mengonfigurasi pemilihan rute MIG
Langkah berikut menjelaskan cara mengonfigurasi perutean di region baru menggunakan grup instance terkelola (MIG).
Ringkasan
Gambar berikut menunjukkan arsitektur tingkat tinggi menuju utara untuk multi-region menggunakan grup instance terkelola (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:
Aktifkan Akses Google Pribadi untuk subnet jaringan VPC Anda.
Guna mengaktifkan Akses Google Pribadi untuk subnet jaringan VPC Anda, ikuti langkah-langkah yang tercantum dalam Mengaktifkan Akses Google Pribadi.
Siapkan variabel lingkungan:
Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk ke string yang digunakan berulang kali. Sebaiknya tetapkan setelan 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- Membuat grup instance terkelola. Pada langkah ini, Anda akan membuat dan mengonfigurasi grup instance terkelola (MIG).
- Buat instance template 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-10 \ --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, jenis mesin adalah
e2-medium
. Paket ini menjalankan Debian 10 dan memiliki disk sebesar 20 GB. Skripstartup-script.sh
mengonfigurasi MIG untuk merutekan traffic masuk dari load balancer ke instance Apigee. - 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
- Konfigurasikan autoscaling 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
- 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
- Buat instance template dengan menjalankan perintah berikut.
- Dapatkan nama layanan backend untuk load balancer Apigee produksi Anda:
gcloud compute backend-services list --project=$PROJECT_ID
- 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 contoh proxy.
Menambahkan wilayah
Penambahan beberapa region ke lingkungan Apigee dapat memberikan ketersediaan tinggi, kapasitas 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 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, penayangan 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 yang aktif-aktif, traffic disalurkan dari dua region secara bersamaan. Anda menambahkan layanan backend untuk setiap MIG region ke Load Balancer HTTPS (XLB) Eksternal yang sama, seperti yang dijelaskan pada Langkah 8e(3) di bagian tab External routing (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 penetapan harga Pay-as-you-go, Anda dapat menetapkan jumlah minimum node gateway Apigee untuk suatu lingkungan. Hal ini memungkinkan untuk memastikan bahwa region selalu berjalan dengan kapasitas ekstra 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 region aktif, masing-masing dengan 4 node gateway Apigee, maka setiap region harus memiliki minimal 8 node. Ini untuk segera mendukung hilangnya satu region. Lihat Tentang node Apigee untuk informasi selengkapnya tentang cara menentukan jumlah node yang Anda perlukan untuk menangani traffic API. Perhatikan bahwa jumlah minimum node ditetapkan per lingkungan, tetapi diterapkan per region. Misalnya, jika Anda menetapkan minimum 8, maka setiap region akan memiliki minimal 8 node.
Biaya
Pada contoh di atas, Anda akan dikenai biaya menjalankan setidaknya 16 node gateway Apigee (8 node x 2 region). Biaya dapat meningkat seiring dengan bertambahnya jumlah node secara otomatis untuk menangani traffic tambahan, hingga maksimum.
Menghapus Apigee dari suatu wilayah
Untuk menghentikan instance Apigee agar tidak menyajikan traffic API, ikuti langkah-langkah berikut untuk memastikan layanan tanpa gangguan (periode nonaktif nol untuk API Anda):
- Aktifkan pengosongan koneksi di layanan backend. Pengosongan koneksi adalah proses yang memastikan bahwa permintaan yang sedang berlangsung akan diberi waktu untuk diselesaikan ketika backend dihapus dari layanan backend.
- Jika Cloud DNS telah dikonfigurasi untuk mengarahkan traffic ke region Apigee ini melalui kebijakan perutean round-robin berbobot, hapus konfigurasi DNS tersebut, seperti yang dijelaskan dalam Mengelola kebijakan perutean dan health check DNS.
- Lepaskan backend MIG dari backend-service. Hal ini, beserta pengurangan koneksi, akan memastikan bahwa instance Apigee tidak menerima traffic baru, tetapi memungkinkan penyelesaian permintaan yang sedang berlangsung.
- Hapus Instance Apigee dan MIG-nya yang sesuai. Baca bagian Menghapus instance.