Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee hybrid.
Lihat Dokumentasi Apigee Edge.
Dokumen ini menjelaskan cara memanggil proxy API dari klien yang berjalan di jaringan internal Anda jaringan. Langkah-langkah ini berguna untuk menguji konfigurasi Anda jika Apigee disediakan untuk menggunakan {i>routing<i} jaringan internal. Anda dapat mengikuti langkah-langkah dalam dokumen ini jika Apigee disediakan dengan salah satu konfigurasi perutean jaringan berikut:
Opsi penyediaan | Opsi jaringan | Langkah-langkah penyediaan |
---|---|---|
Langganan berbayar | Dengan peering VPC | Pemilihan rute internal (VPC) Pemilihan rute internal (PSC) |
Bayar sesuai penggunaan | Dengan peering VPC | Pemilihan rute internal (VPC) Pemilihan rute internal (PSC) |
Evaluasi | Dengan peering VPC | Mengonfigurasi pemilihan rute (internal) |
Evaluasi | Tanpa peering VPC | Pemilihan rute internal (PSC) |
Lihat juga Opsi jaringan.
Sebelum memulai
Lakukan langkah-langkah penyiapan awal berikut:
- Jika belum dilakukan, lakukan inisialisasi Cloud SDK seperti yang dijelaskan dalam Melakukan inisialisasi gcloud CLI, atau pastikan bahwa
project Google Cloud yang Anda buat di Prasyarat adalah project default untuk
gcloud
. -
Tentukan variabel lingkungan lokal berikut:
export PROJECT_ID=YOUR_PROJECT_ID
export AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
export SUBNET=NETWORK_NAME
export INSTANCE_NAME=INSTANCE_NAME
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
Dengan keterangan:
PROJECT_ID
adalah project ID Cloud yang Anda buat sebagai bagian dari Prasyarat.AUTH
menentukan headerAuthentication
dengan token pemilik. Anda akan menggunakan header ini saat memanggil API Apigee. Perhatikan bahwa token akan habis masa berlakunya setelah periode waktu tertentu dan ketika itu terjadi, Anda cukup membuat ulang menggunakan perintah yang sama. Sebagai mengetahui informasi selengkapnya, lihat halaman referensi untuk perintah print-access-token.SUBNET
adalah subnet yang ditentukan selama penyediaan. Misalnya:default
INSTANCE_NAME
: Nama instance baru. Contoh,my-runtime-instance
. Nama harus diawali dengan huruf kecil, panjangnya maksimal 32 karakter, dan hanya dapat menyertakan huruf kecil huruf, angka, dan tanda hubung. Entri tidak boleh dimulai atau diakhiri dengan tanda hubung dan harus dengan setidaknya dua karakter.PROJECT_NUMBER
adalah nomor project Cloud yang Anda buat sebagai bagian Prasyarat. Contoh ini memberikan perintahgcloud
untuk mendapatkan nomor project untuk Anda.
- Dapatkan nilai properti
location
dari instance Apigee Anda. Nilai ini adalah region tempat instance berada, sepertius-west1
:curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances
- Pilih zona
dalam region instance, dan masukkan nama zona dalam variabel.
Zona harus berada di dalam instance. Contoh:
export VM_ZONE="us-west1-b"
Jika memerlukan bantuan untuk mengidentifikasi zona dalam region instance, Anda dapat menggunakan perintah
gcloud
ini guna menampilkan nama zona untuk region runtime yang dikonfigurasi. Contoh:VM_ZONE=$(gcloud compute zones list | grep "us-west1" | head -n 1 | awk '{print $1}')
Membuat VM dan memanggil proxy API
Selanjutnya, buat VM baru di dalam jaringan VPC Anda menggunakan komputasi gcloud beta perintah. VM bertindak sebagai jembatan yang memungkinkan Anda mengirim permintaan ke beban internal IP balancer. Setelah VM disiapkan, Anda dapat memanggil proxy API yang di-deploy:
-
Contoh berikut membuat VM baru dengan beberapa opsi umum dan menggunakan lingkungan
variabel yang Anda tetapkan sebelumnya sebagai input.
gcloud beta compute --project=$PROJECT_ID \ instances create $INSTANCE_NAME \ --zone=$VM_ZONE \ --machine-type=e2-micro \ --subnet=$SUBNET \ --network-tier=PREMIUM \ --no-restart-on-failure \ --maintenance-policy=TERMINATE \ --preemptible \ --service-account=$PROJECT_NUMBER-compute@ \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --tags=http-server,https-server \ --image=debian-12-bookworm-v20240701 \ --image-project=debian-cloud \ --boot-disk-size=10GB \ --boot-disk-type=pd-standard \ --boot-disk-device-name=$INSTANCE_NAME \ --no-shielded-secure-boot \ --shielded-vtpm \ --shielded-integrity-monitoring \ --reservation-affinity=any
-
Buka koneksi aman ke VM baru yang baru saja Anda buat.
gcloud compute ssh $INSTANCE_NAME --zone=$VM_ZONE --project=$PROJECT_ID
- Di shell VM, instal utilitas
jq
. ID ini digunakan dalam langkah berikutnya:sudo apt-get update -y
sudo apt-get install -y jq
- Di shell VM, buat variabel lingkungan berikut untuk memudahkan Anda menyalin/menempel
permintaan proxy API:
export AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
export PROJECT_ID=YOUR_PROJECT_ID
export ENV_GROUP_HOSTNAME=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups -s | jq -r '.environmentGroups[0].hostnames[0]')
- Pastikan variabel ditetapkan dengan benar:
echo $AUTH
echo $PROJECT_ID
echo $ENV_GROUP_HOSTNAME
- Memanggil proxy API. Pilih opsi di bawah yang sesuai dengan cara Anda mengonfigurasi pemilihan rute
selama penyediaan Apigee.
Opsi untuk penginstalan yang menggunakan peering VPC
- (Opsi TLS #1) Jika Anda mengonfigurasi load balancer internal (ILB) di project,
seperti yang dijelaskan dalam Perutean internal (VPC),
memanggil {i>proxy<i}
menggunakan IP ILB tersebut.
Opsi ini menggunakan sertifikat CA yang berada di bawah kendali Anda dan yang dibuat saat
load balancer internal telah dibuat:
- Dapatkan IP ILB di proyek Anda, seperti yang dijelaskan dalam Siapkan Load Balancing HTTP(S) Internal dengan backend grup instance VM.
- Memanggil proxy API:
curl -H "Host: $ENV_GROUP_HOSTNAME" \ https://INTERNAL_LOAD_BALANCER_IP/PROXY_BASEPATH
- (Opsi TLS #2) Gunakan nama domain default yang sepenuhnya memenuhi syarat yang ditetapkan ke pemuatan internal
di project Apigee. Dengan opsi ini, TLS digunakan menggunakan sertifikat Apigee yang ditandatangani sendiri secara internal. Anda tidak memiliki kontrol atas sertifikat ini.
- Dapatkan IP load balancer internal di project Apigee:
export INTERNAL_LOAD_BALANCER_IP=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances -s | jq -r '.instances[0].host')
- Dapatkan Sertifikat CA yang dibuat selama pembuatan org dengan perintah berikut:
curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID | jq -r .caCertificate | base64 -d > cacert.crt
- Kirim permintaan ke proxy API yang di-deploy, tempat
example.$PROJECT_ID.apigee.internal
adalah nama domain internal default yang sepenuhnya memenuhi syarat yang di-resolve ke load balancer internal.curl -is -H "Host: $ENV_GROUP_HOSTNAME" \ https://example.$PROJECT_ID.apigee.internal/PROXY_BASEPATH \ --cacert cacert.crt \ --resolve example.$PROJECT_ID.apigee.internal:443:$INTERNAL_LOAD_BALANCER_IP
- Dapatkan IP load balancer internal di project Apigee:
- (Opsi Non-TLS) Jika tidak memerlukan TLS, Anda dapat menggunakan tanda
-k
dicurl
untuk menonaktifkan TLS dan mungkin menghindari masalah SSL:- Dapatkan IP load balancer internal di project Apigee:
export INTERNAL_LOAD_BALANCER_IP=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances -s | jq -r '.instances[0].host')
- Memanggil proxy API:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://$INTERNAL_LOAD_BALANCER_IP/PROXY_BASEPATH
- Dapatkan IP load balancer internal di project Apigee:
- (Opsi endpoint layanan) Jika Anda menyediakan organisasi berbayar atau evaluasi dengan PSC dan memilih opsi pemilihan rute endpoint layanan:
- Dapatkan IP endpoint layanan. Jika Anda perlu mencari IP endpoint, lihat Mencantumkan endpoint.
- Memanggil proxy API:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://SERVICE_ENDPOINT_IP/PROXY_BASEPATH
Contoh:
curl -H "Host: $ENV_GROUP_HOSTNAME" https://10.138.0.2/helloworld -k
Opsi untuk penginstalan yang tidak menggunakan peering non-VPC
- (Opsi endpoint layanan) Jika Anda menyediakan organisasi berbayar atau evaluasi dengan PSC dan memilih opsi pemilihan rute endpoint layanan:
- Dapatkan IP endpoint layanan. Jika Anda perlu mencari IP endpoint, lihat Mencantumkan endpoint.
- Memanggil proxy API:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://SERVICE_ENDPOINT_IP/PROXY_BASEPATH
Contoh:
curl -H "Host: $ENV_GROUP_HOSTNAME" https://10.138.0.2/helloworld -k
Jika Anda mengalami {i>error<i} selama bagian proses ini, pastikan bahwa variabel lingkungan yang Anda buat dan gunakan dalam perintah memiliki nilai yang valid. Lihat juga Pemecahan masalah.
Langkah berikutnya
Coba buat proxy yang kemudian dapat Anda deploy, atau ikuti tur tutorial Apigee yang akan memperkenalkan fitur-fitur Apigee, seperti menjaga dari kemungkinan lonjakan traffic atau mendapatkan laporan tampilan alur permintaan/respons.
(Lanjutan) Jika berencana untuk mengubahnya menjadi penyiapan produksi, Anda dapat mengonfigurasi perimeter keamanan di sekeliling cluster baru Anda dan layanan Cloud terkait. Hal ini dapat dilakukan dengan Kontrol Layanan VPC.
- (Opsi TLS #1) Jika Anda mengonfigurasi load balancer internal (ILB) di project,
seperti yang dijelaskan dalam Perutean internal (VPC),
memanggil {i>proxy<i}
menggunakan IP ILB tersebut.
Opsi ini menggunakan sertifikat CA yang berada di bawah kendali Anda dan yang dibuat saat
load balancer internal telah dibuat: