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. Langkah-langkah ini berguna untuk menguji penyiapan Anda jika Apigee disediakan untuk menggunakan perutean 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 | Perutean internal (VPC) Perutean internal (PSC) |
Bayar sesuai penggunaan | Dengan peering VPC | Perutean internal (VPC) Perutean internal (PSC) |
Evaluasi | Dengan peering VPC | Mengonfigurasi pemilihan rute (internal) |
Evaluasi | Tanpa peering VPC | Perutean internal (PSC) |
Lihat juga Opsi jaringan.
Sebelum memulai
Lakukan langkah-langkah penyiapan awal berikut:
- Jika belum, lakukan inisialisasi Cloud SDK, seperti yang dijelaskan dalam Menginisialisasi gcloud CLI, atau pastikan 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:
PROJECT_ID
adalah ID project Cloud yang Anda buat sebagai bagian dari Prasyarat.AUTH
menentukan headerAuthentication
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.SUBNET
adalah subnet yang ditentukan selama penyediaan. Misalnya:default
INSTANCE_NAME
: Nama instance baru Anda. Contoh,my-runtime-instance
. Nama harus diawali dengan huruf kecil, dapat memiliki panjang hingga 32 karakter, dan hanya boleh menyertakan huruf kecil, angka, dan tanda hubung. Nama ini tidak boleh diawali atau diakhiri dengan tanda hubung dan harus berisi minimal dua karakter.PROJECT_NUMBER
adalah nomor project Cloud yang Anda buat sebagai bagian dari Prasyarat. Contoh ini mengeluarkan 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, lalu masukkan nama zona dalam variabel.
Zona harus berada dalam instance. Contoh:
export VM_ZONE="us-west1-b"
Jika Anda memerlukan bantuan untuk mengidentifikasi zona dalam region instance, Anda dapat menggunakan perintah
gcloud
ini untuk menampilkan nama zona bagi region runtime yang dikonfigurasi. Contoh:VM_ZONE=$(gcloud compute zones list | grep "us-west1" | head -n 1 | awk '{print $1}')
Buat VM dan panggil proxy API
Selanjutnya, buat VM baru di dalam jaringan VPC menggunakan perintah gcloud beta compute. VM bertindak sebagai jembatan yang memungkinkan Anda mengirim permintaan ke IP load balancer internal. Setelah VM disiapkan, Anda dapat memanggil proxy API yang di-deploy:
-
Contoh berikut membuat VM baru dengan beberapa opsi umum dan menggunakan variabel
lingkungan yang Anda tentukan 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@developer.gserviceaccount.com \ --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 yang 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 akan digunakan pada langkah-langkah berikutnya:sudo apt-get update -y
sudo apt-get install -y jq
- Di shell VM, buat variabel lingkungan berikut untuk memudahkan penyalinan/penempelan
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
- Panggil proxy API. Pilih opsi di bawah yang sesuai dengan cara Anda mengonfigurasi perutean
selama penyediaan Apigee.
Opsi untuk penginstalan yang menggunakan peering VPC
- (Opsi TLS #1) Jika Anda mengonfigurasi load balancer internal (ILB) di project Anda,
seperti yang dijelaskan dalam Perutean internal (VPC),
panggil proxy menggunakan IP ILB tersebut.
Opsi ini menggunakan sertifikat CA yang berada di bawah kendali Anda dan yang dibuat saat
load balancer internal dibuat:
- Dapatkan IP ILB di project Anda, seperti yang dijelaskan dalam Menyiapkan Load Balancing HTTP(S) Internal dengan backend grup instance VM.
- Panggil 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 di-resolve ke load balancer internal di project Apigee. Dengan opsi ini, TLS digunakan menggunakan sertifikat yang ditandatangani sendiri Apigee yang dibuat 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')
- Tarik 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, dengan
example.$PROJECT_ID.apigee.internal
adalah nama domain yang sepenuhnya memenuhi syarat, default, dan internal 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 mengalami masalah validasi sertifikat SSL/TLS, Anda dapat menggunakan tanda
-k
(atau--insecure
) dengan perintahcurl
. Tindakan ini akan melewati validasi sertifikat, sehingga koneksi dapat dilanjutkan. Perhatikan bahwa meskipun komunikasi tetap dienkripsi, opsi ini memiliki implikasi keamanan karena keaslian server tidak diverifikasi.- 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')
- Panggil 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 perutean endpoint layanan:
- Dapatkan IP endpoint layanan. Jika Anda perlu mencari IP endpoint, lihat Mencantumkan endpoint.
- Panggil 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 perutean endpoint layanan:
- Dapatkan IP endpoint layanan. Jika Anda perlu mencari IP endpoint, lihat Mencantumkan endpoint.
- Panggil 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 error selama bagian proses ini, pastikan semua variabel lingkungan yang Anda buat dan gunakan dalam perintah memiliki nilai yang valid. Lihat juga Pemecahan masalah.
Langkah berikutnya
Coba membuat proxy yang kemudian dapat Anda deploy, atau ikuti tur tutorial Apigee yang akan memperkenalkan Anda pada fitur Apigee, seperti melindungi dari lonjakan traffic yang tiba-tiba atau mendapatkan tampilan mendetail dari alur permintaan/respons.
(Lanjutan) Jika Anda berencana mengubahnya menjadi penyiapan produksi, Anda dapat mengonfigurasi perimeter keamanan di sekitar cluster baru dan layanan Cloud terkait. Hal ini dapat dilakukan dengan Kontrol Layanan VPC.
- (Opsi TLS #1) Jika Anda mengonfigurasi load balancer internal (ILB) di project Anda,
seperti yang dijelaskan dalam Perutean internal (VPC),
panggil proxy menggunakan IP ILB tersebut.
Opsi ini menggunakan sertifikat CA yang berada di bawah kendali Anda dan yang dibuat saat
load balancer internal dibuat: