Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee Hybrid.
Lihat dokumentasi Apigee Edge.
Dokumen ini menjelaskan cara menginstal dan mengonfigurasi organisasi evaluasi Apigee dari command line tanpa peering VPC. Masa berlaku organisasi evaluasi berakhir setelah 60 hari dan mungkin memiliki batasan lainnya. Lihat juga Membandingkan organisasi eval dan berbayar.
Batasan
Opsi penginstalan peering non-VPC yang dijelaskan dalam dokumen ini memiliki beberapa batasan:
- Kontrol Layanan VPC tidak didukung.
- Peering DNS pribadi tidak didukung.
Untuk daftar lengkap fitur dan pendekatan jaringan yang didukung dan tidak didukung untuk peering non-VPC, lihat Cara memilih opsi jaringan.
Ringkasan langkah
Langkah-langkah penyediaannya adalah sebagai berikut:
- Langkah 1: Tentukan variabel lingkungan:
Siapkan
gcloud
dan tentukan variabel lingkungan. Google Cloud CLI mengelola autentikasi, konfigurasi lokal, alur kerja developer, dan interaksi dengan Google Cloud API. - Langkah 2: Aktifkan API: Apigee mengharuskan Anda mengaktifkan beberapa Google Cloud API.
- Langkah 3: Buat organisasi: Organisasi Apigee (terkadang disebut sebagai org) adalah penampung tingkat teratas di Apigee. Tindakan ini mencakup semua lingkungan dan grup lingkungan, pengguna, proxy API, dan resource terkait.
- Langkah 4: Konfigurasi pemilihan rute: Izinkan akses eksternal atau akses khusus internal ke API Anda.
- Langkah 5: Panggil contoh proxy API: Uji penyediaan dengan men-deploy dan memanggil proxy API.
Langkah 1: Menentukan variabel lingkungan
Siapkan gcloud
dan tentukan variabel lingkungan untuk digunakan di langkah berikutnya:
- Pastikan Anda telah menyelesaikan persyaratan yang tercantum di Prasyarat.
- Anda harus menginstal gcloud CLI. Jika Anda perlu menginstalnya, lihat Menginstal gcloud CLI.
- Lakukan inisialisasi gcloud CLI, seperti yang dijelaskan dalam Melakukan inisialisasi gcloud CLI, atau jika CLI sudah diinisialisasi, pastikan project Google Cloud yang Anda buat di Prasyarat adalah project default untuk gcloud.
- Tentukan variabel lingkungan berikut:
AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
PROJECT_ID="YOUR_PROJECT_ID"
RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
ANALYTICS_REGION="YOUR_ANALYTICS_REGION"
Dengan keterangan:
- 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 yang Anda buat sebagai bagian dari Prasyarat.
RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee berada. Untuk mengetahui daftar lokasi runtime yang tersedia, lihat Lokasi Apigee.
-
ANALYTICS_REGION adalah lokasi fisik tempat data analytics Apigee akan disimpan. Untuk mengetahui daftar region Analisis API Apigee yang tersedia, lihat Lokasi Apigee.
RUNTIME_LOCATION dan ANALYTICS_REGION dapat berupa region yang sama, tetapi tidak harus sama. Namun, mungkin ada manfaat performa jika keduanya sama.
- AUTH menentukan header
- (Opsional) Periksa pekerjaan Anda dengan menampilkan nilai yang baru saja Anda tetapkan. Perhatikan bahwa saat Anda ingin
menggunakan variabel dalam perintah, awali nama variabel dengan tanda dolar
($).
echo $AUTH
echo $PROJECT_ID
echo $RUNTIME_LOCATION
echo $ANALYTICS_REGION
Respons terhadap perintah
echo
Anda akan terlihat seperti berikut:Authorization: Bearer ya29.a123456678940B63hPSAMPLEsampleKKYVsample0f3pWDWZDuH2-hENkNa TvgZ1PD977TMvv6edBQPJezdHw040880Ol_LoD5ZDkt-i-knizia_KhA9L20sSvztL81-SAMPLE42ELPMASk2_ 1CxN my-cloud-project us-west1 us-west1
Langkah 2: Aktifkan API
-
Apigee mengharuskan Anda mengaktifkan beberapa Google Cloud API. Aktifkan dengan menjalankan perintah
services enable
:gcloud services enable apigee.googleapis.com \ cloudkms.googleapis.com --project=$PROJECT_ID
(Opsional) Untuk memeriksa pekerjaan Anda, gunakan perintah
services list
untuk menampilkan semua API yang diaktifkan:gcloud services list
Respons menunjukkan semua layanan yang diaktifkan, termasuk API yang baru saja Anda aktifkan (Apigee, Cloud KMS, dan Compute Engine).
Langkah 3: Buat organisasi
Organisasi adalah penampung tingkat teratas di Apigee. File ini berisi semua proxy API dan resource terkait. Untuk mengetahui detailnya, lihat Memahami organisasi.
- Buat organisasi evaluasi baru dengan provisionOrganization API:
suppresswarning="true">curl "https://apigee.googleapis.com/v1/projects/$PROJECT_ID:provisionOrganization" \ -H "$AUTH" \ -X POST \ -H "Content-Type:application/json" \ -d '{ "analyticsRegion":"'"$ANALYTICS_REGION"'", "runtimeLocation":"'"$RUNTIME_LOCATION"'", "disableVpcPeering":"true", }'
Dengan keterangan:
-d
menentukan payload data untuk permintaan. Payload ini harus menyertakan hal berikut:ANALYTICS_REGION
: Menentukan lokasi fisik tempat data analisis Anda akan disimpan.RUNTIME_LOCATION
: adalah lokasi fisik tempat instance Apigee berada.disableVpcPeering
: Dalam alur penyediaan ini, kita tidak menggunakan peering VPC, sehingga tanda ini harus ditetapkan ketrue
. Default:false
-
Apigee memulai LRO untuk membuat organisasi evaluasi. Operasi ini memerlukan waktu hingga 40 menit untuk selesai.
- Untuk memeriksa status permintaan pembuatan, Anda dapat mengirim permintaan
GET
ke List organizations API Apigee, seperti yang ditunjukkan pada contoh berikut:curl -H "$AUTH" "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"
Jika Anda melihat respons ini, berarti pembuatan organisasi belum selesai:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)", "status": "PERMISSION_DENIED" } }
Jika berhasil, objek respons akan menunjukkan
"state": "ACTIVE"
, dan Anda dapat melanjutkan ke langkah berikutnya.
Langkah 4: Konfigurasikan perutean
Pada langkah ini, Anda mengonfigurasi cara aplikasi klien berkomunikasi dengan Apigee. Traffic klien ke Apigee juga disebut traffic "northbound". Opsi konfigurasi northbound mencakup:
Jenis akses | Deskripsi proses konfigurasi dan deployment |
---|---|
Internal dengan PSC |
Hanya izinkan akses internal ke proxy API dari project Google Cloud Anda menggunakan Private Service Connect (PSC). PSC memungkinkan koneksi pribadi antara produsen layanan (Apigee) dan konsumen layanan (project VPC yang di-peering dan/atau satu atau beberapa project Cloud lainnya yang Anda kontrol). Dengan metode ini, permintaan akan melewati endpoint layanan atau load balancer internal regional ke satu titik lampiran, yang disebut lampiran layanan. Konfigurasi ini memungkinkan klien internal Anda mengirim permintaan proxy Apigee API dari mesin apa pun yang terhubung ke jaringan. |
Eksternal dengan PSC |
Izinkan akses eksternal ke proxy API Anda menggunakan Private Service Connect (PSC). Gunakan Private Service Connect (PSC) untuk mengaktifkan koneksi pribadi antara produsen layanan (Apigee) dan konsumen layanan (project VPC yang di-peer dan/atau satu atau beberapa project Cloud lainnya yang Anda kontrol). Dengan metode ini, permintaan akan diteruskan melalui load balancer eksternal global atau load balancer eksternal regional ke satu titik pemasangan, yang disebut lampiran layanan. Konfigurasi ini memungkinkan Anda mengirim permintaan proxy Apigee API dari mesin apa pun yang terhubung ke jaringan. |
Setiap pendekatan pemilihan rute ini ditampilkan di tab dalam petunjuk di bawah.
Perutean internal (PSC)
Bagian ini menjelaskan cara mengizinkan hanya akses internal ke proxy API dari project Google Cloud Anda menggunakan Private Service Connect (PSC).
Anda memiliki dua opsi untuk mengonfigurasi akses internal dengan PSC:
- Endpoint layanan: Permintaan melewati endpoint layanan ke satu titik lampiran, yang disebut lampiran layanan.
- Load balancer regional internal: Permintaan melewati load balancer HTTP(S) internal regional. Lihat juga Load balancing global vs. regional.
Pilih tab di bawah ini untuk pilihan konfigurasi Anda dan ikuti langkah-langkahnya:
Endpoint layanan
Membuat endpoint layanan PSC untuk lampiran layanan
- Dapatkan lampiran layanan dari instance Apigee:
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", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "runtimeVersion": "1-7-0-20220228-190814", "consumerAcceptList": [ "my-project" ], "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1" } ] }
- Buat Endpoint Layanan PSC yang mengarah ke lampiran layanan yang Anda dapatkan dari isi respons instance pada langkah sebelumnya, seperti yang dijelaskan dalam Membuat endpoint Private Service Connect.
- Catat dan ingat alamat IP endpoint layanan. Anda akan memerlukan alamat IP nanti saat
menguji penyiapan dengan memanggil proxy API. (Misalnya:
10.138.0.2
)
Penyediaan Apigee selesai. Buka Men-deploy proxy contoh.
LB regional internal
Langkah 8a: Menyiapkan variabel lingkungan
Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk ke string yang digunakan berulang kali. Pastikan Anda telah menetapkan variabel di Menentukan variabel lingkungan.
Selain itu, tetapkan variabel lingkungan berikut:
NEG_NAME=YOUR_NEG_NAME"TARGET_SERVICE=YOUR_TARGET_SERVICE"
NETWORK_NAME=YOUR_NETWORK_NAME"
SUBNET_NAME=YOUR_SUBNET_NAME"
Dengan keterangan:
- 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.
Langkah 8b: Buat subnet khusus proxy
gcloud compute networks subnets create testproxyonlysubnet \ --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE --region=$RUNTIME_REGION --network=$NETWORK_NAME \ --range=100.0.0.0/24 --project=$PROJECT_ID
Langkah 8c: Buat grup endpoint jaringan (NEG)
- 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", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "runtimeVersion": "1-7-0-20220228-190814", "consumerAcceptList": [ "my-project" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
Buat NEG Private Service Connect 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=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Langkah 8d: Konfigurasikan load balancer internal regional
- Cadangkan alamat IPv4 internal untuk load balancer.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --subnet=$SUBNET_NAME \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Ganti ADDRESS_NAME dengan nama untuk resource alamat IP.
Jalankan perintah ini untuk melihat alamat IP yang dicadangkan:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=RUNTIME_LOCATION --project=$PROJECT_ID
- Buat layanan backend untuk NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTPS \ --region=$RUNTIME_REGION \ --project=$PROJECT_ID
- Tambahkan NEG ke layanan backend.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Ganti kode berikut:
- BACKEND_SERVICE_NAME: nama layanan backend.
- NEG_NAME: nama grup endpoint jaringan.
-
Anda harus memiliki resource sertifikat SSL untuk digunakan di proxy target HTTPS.
Gunakan perintah ini untuk membuat resource sertifikat SSL yang dikelola sendiri. Untuk membuat sertifikat SSL yang dikelola sendiri, Anda memerlukan file kunci pribadi lokal dan file sertifikat lokal. Jika Anda perlu membuat file ini, lihat langkah 1 menggunakan sertifikat SSL yang dikelola sendiri.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --region=RUNTIME_LOCATION --project=$PROJECT_ID
Ganti kode berikut:
- CERTIFICATE: nama untuk sertifikat.
- LB_CERT: jalur ke file sertifikat berformat PEM untuk sertifikat yang dikelola sendiri.
- LB_PRIVATE_KEY: jalur ke file kunci pribadi berformat PEM untuk sertifikat yang dikelola sendiri.
-
Buat peta URL untuk load balancer.
Peta URL harus merujuk ke layanan backend default. Tetapkan layanan backend yang baru saja Anda buat sebagai default.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
Ganti kode berikut:
- URL_MAP_NAME: nama untuk peta URL.
- DEFAULT_BACKEND_SERVICE_NAME: nama layanan backend default load balancer. Default digunakan jika tidak ada aturan host yang cocok dengan nama host yang diminta.
-
Gunakan resource sertifikat SSL untuk membuat proxy HTTPS target.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Ganti kode berikut:
- PROXY_NAME: nama untuk proxy HTTPS target.
- URL_MAP_NAME: nama peta URL.
- CERTIFICATE: nama resource sertifikat.
- Buat aturan penerusan.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=INTERNAL_MANAGED \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --target-https-proxy-region=$RUNTIME_REGION \ --region=$RUNTIME_REGION --project=$PROJECT_ID
Ganti kode berikut:
- FWD_RULE: nama untuk aturan penerusan.
- ADDRESS_NAME: resource alamat IP yang Anda cadangkan untuk digunakan bagi aturan penerusan.
- PROXY_NAME: nama proxy HTTPS target.
Ganti BACKEND_SERVICE_NAME dengan nama layanan backend.
Penyediaan Apigee selesai. Buka Men-deploy proxy contoh.
Pemilihan rute eksternal (PSC)
Bagian ini menjelaskan cara mengonfigurasi perutean eksternal menggunakan Private Service Connect (PSC) untuk mengizinkan komunikasi antara Apigee dan VPC yang Anda kontrol. Anda harus melakukannya sebelum dapat mengirim permintaan dari klien eksternal ke instance runtime Apigee.
Langkah 8b: Buat NEG dan konfigurasikan load balancer
Anda dapat membuat load balancer global atau regional.
LB eksternal global
Konfigurasikan load balancer HTTP(S) eksternal global (skema load balancing ditetapkan ke EXTERNAL_MANAGED
).
Meskipun NEG Private Service Connect bersifat regional, semua komponen load balancing lain dalam konfigurasi ini bersifat global.
- Pastikan Anda telah menetapkan variabel lingkungan di Menentukan variabel lingkungan.
- 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 Private Service Connect yang mengarah ke lampiran layanan yang Anda dapatkan 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=$RUNTIME_LOCATION \ --network=NETWORK_NAME \ --subnet=SUBNET_NAME \ --project=$PROJECT_ID
Ganti kode berikut:
- 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.
- NETWORK_NAME: (Opsional) Nama jaringan tempat NEG dibuat. Jika Anda menghapus parameter ini, jaringan project
- Cadangkan alamat IPv4 eksternal global untuk load balancer.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --global --project=$PROJECT_ID
Ganti ADDRESS_NAME dengan nama untuk resource alamat IP.
Jalankan perintah ini untuk melihat alamat IP yang dicadangkan:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --global --project=$PROJECT_ID
- Buat layanan backend untuk NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --global --project=$PROJECT_ID
- Tambahkan layanan backend ke NEG.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=$REGION \ --global --project=$PROJECT_ID
Ganti kode berikut:
- BACKEND_SERVICE_NAME: nama layanan backend.
- NEG_NAME: nama grup endpoint jaringan.
- REGION: region grup endpoint jaringan.
Buat peta URL untuk load balancer.
Peta URL harus merujuk ke layanan backend default. Tetapkan layanan backend yang baru saja Anda buat sebagai default.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
Ganti kode berikut:
- URL_MAP_NAME: nama untuk peta URL.
- DEFAULT_BACKEND_SERVICE_NAME: nama layanan backend default load balancer. Default digunakan jika tidak ada aturan host yang cocok dengan nama host yang diminta.
Buat proxy HTTPS target.
Anda harus memiliki resource sertifikat SSL untuk digunakan di proxy target HTTPS. Anda dapat membuat resource sertifikat SSL menggunakan sertifikat SSL yang dikelola Google atau sertifikat SSL yang dikelola sendiri. Sebaiknya gunakan sertifikat yang dikelola Google karena Google Cloud memperoleh, mengelola, dan memperpanjang sertifikat ini secara otomatis.
Untuk membuat sertifikat yang dikelola Google, Anda harus memiliki domain.
Gunakan perintah ini untuk membuat resource sertifikat SSL yang dikelola Google:
gcloud compute ssl-certificates create CERTIFICATE \ --domains DOMAIN --project=$PROJECT_ID
Ganti kode berikut:
- CERTIFICATE: nama untuk sertifikat.
- DOMAIN: nama domain load balancer Anda.
Gunakan perintah ini untuk membuat resource sertifikat SSL yang dikelola sendiri. Untuk membuat sertifikat SSL yang dikelola sendiri, Anda memerlukan file kunci pribadi lokal dan file sertifikat lokal. Jika Anda perlu membuat file ini, lihat langkah 1 menggunakan sertifikat SSL yang dikelola sendiri.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --project=$PROJECT_ID
Ganti kode berikut:
- CERTIFICATE: nama untuk sertifikat.
- LB_CERT: jalur ke file sertifikat berformat PEM untuk sertifikat yang dikelola sendiri.
- LB_PRIVATE_KEY: jalur ke file kunci pribadi berformat PEM untuk sertifikat yang dikelola sendiri.
Gunakan resource sertifikat SSL untuk membuat proxy HTTPS target.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
Ganti kode berikut:
- PROXY_NAME: nama untuk proxy HTTPS target.
- URL_MAP_NAME: nama peta URL.
- CERTIFICATE: nama resource sertifikat.
- Buat aturan penerusan.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --global --project=$PROJECT_ID
Ganti kode berikut:
- FWD_RULE: nama untuk aturan penerusan.
- ADDRESS_NAME: resource alamat IP yang Anda cadangkan untuk digunakan bagi aturan penerusan.
- PROXY_NAME: nama proxy HTTPS target.
Ganti BACKEND_SERVICE_NAME dengan nama layanan backend.
Penyediaan Apigee selesai. Buka Men-deploy proxy contoh.
LB eksternal regional
Mengonfigurasi load balancer HTTP(S) eksternal regional. Lihat juga Ringkasan load balancer HTTP(S) eksternal.
- Pastikan Anda telah menetapkan variabel di Menentukan variabel lingkungan.
- Buat subnet khusus proxy:
gcloud compute networks subnets create SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE \ --region=$RUNTIME_LOCATION --network=NETWORK_NAME \ --range=100.0.0.0/24 --project=$PROJECT_ID
- Ganti SUBNET_NAME dengan nama subnet.
- (Opsional) Ganti NETWORK_NAME Nama jaringan tempat subnet dibuat. Jika Anda menghapus parameter ini, jaringan project default akan digunakan.
- 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 grup endpoint jaringan.
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=TARGET_SERVICE \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Ganti kode berikut:
- NEG_NAME: nama grup endpoint jaringan.
- TARGET_SERVICE: nama lampiran layanan yang ingin Anda hubungkan.
Contoh:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
- Buat layanan backend untuk NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Tambahkan layanan backend ke NEG.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Ganti kode berikut:
- BACKEND_SERVICE_NAME: nama layanan backend.
- NEG_NAME: nama grup endpoint jaringan.
Buat peta URL untuk load balancer.
Peta URL harus merujuk ke layanan backend default. Tetapkan layanan backend yang baru saja Anda buat sebagai default.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Ganti kode berikut:
- URL_MAP_NAME: nama untuk peta URL.
- DEFAULT_BACKEND_SERVICE_NAME: nama layanan backend default load balancer. Default digunakan jika tidak ada aturan host yang cocok dengan nama host yang diminta.
Buat proxy HTTPS target.
Anda harus memiliki resource sertifikat SSL untuk digunakan di proxy target HTTPS.
Gunakan perintah ini untuk membuat resource sertifikat SSL yang dikelola sendiri. Untuk membuat sertifikat SSL yang dikelola sendiri, Anda memerlukan file kunci pribadi lokal dan file sertifikat lokal. Jika Anda perlu membuat file ini, lihat langkah 1 menggunakan sertifikat SSL yang dikelola sendiri.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Ganti kode berikut:
- CERTIFICATE: nama untuk sertifikat.
- LB_CERT: jalur ke file sertifikat berformat PEM untuk sertifikat yang dikelola sendiri.
- LB_PRIVATE_KEY: jalur ke file kunci pribadi berformat PEM untuk sertifikat yang dikelola sendiri.
- Tambahkan domain ke grup lingkungan Apigee yang dibuat untuk Anda. Nama grup lingkungan adalah
eval-group
:curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group" \ -H "$AUTH" \ -X PATCH \ -H "Content-Type:application/json" \ -d '{ "hostnames":["'"DOMAIN"'"] }'
- Periksa status operasi grup lingkungan:
curl -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments"
-
Gunakan resource sertifikat SSL untuk membuat proxy HTTPS target.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME --region=$RUNTIME_LOCATION \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
Ganti kode berikut:
- PROXY_NAME: nama untuk proxy HTTPS target.
- URL_MAP_NAME: nama peta URL.
- CERTIFICATE: nama resource sertifikat.
- Cadangkan alamat eksternal regional untuk load balancer. Perhatikan bahwa tingkat jaringan harus
ditetapkan ke
STANDARD
.gcloud compute addresses create ADDRESS_NAME \ --region=$RUNTIME_LOCATION --network-tier=STANDARD \ --project=$PROJECT_ID
Ganti ADDRESS_NAME dengan nama untuk resource alamat IP.
Jalankan perintah ini untuk melihat alamat IP yang dicadangkan:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Membuat aturan penerusan.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 --region=$RUNTIME_LOCATION \ --target-https-proxy-region=$RUNTIME_LOCATION --project=$PROJECT_ID
Ganti kode berikut:
- FWD_RULE: nama untuk aturan penerusan.
- ADDRESS_NAME: resource alamat IP yang Anda cadangkan untuk digunakan bagi aturan penerusan.
- PROXY_NAME: nama proxy HTTPS target.
Ganti BACKEND_SERVICE_NAME dengan nama layanan backend.
Penyediaan Apigee selesai. Buka Memanggil proxy API contoh.
Langkah 5: Panggil proxy API contoh
Proxy API bernama hello-world
dibuat dan di-deploy untuk Anda selama penyediaan. Pada langkah ini, Anda akan menguji organisasi eval baru dengan memanggil proxy.
Memanggil proxy API dengan pemilihan rute internal
Jika Anda memilih internal routing dengan opsi service endpoint di Langkah 5, ikuti langkah-langkah di Memanggil proxy API dengan akses khusus internal.
Memanggil proxy API dengan pemilihan rute eksternal
Jika Anda memilih opsi rute eksternal di Langkah 5, ikuti langkah-langkah di bagian ini.
- Siapkan entri DNS untuk domain Anda. Berikut dua cara untuk menyelesaikan tugas ini:
- Di registrar, buat data A yang mengarah ke domain Anda. Misalnya, jika domain Anda adalah
sales.example.com
dan IP-nya adalah 10.23.0.2, arahkan data untuksales.example.com
ke alamat10.23.0.2
.Jalankan perintah ini untuk melihat alamat IP yang dicadangkan:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Gunakan Cloud DNS Google untuk memetakan URL ke alamat IP.
- Di registrar, buat data A yang mengarah ke domain Anda. Misalnya, jika domain Anda adalah
- Pastikan proxy
hello-world
di-deploy:curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/eval/apis/hello-world/revisions/1/deployments"
- Panggil proxy API:
Kirim permintaan ke proxy API dari mesin apa pun yang terhubung ke jaringan dengan menjalankan perintah berikut:
curl -i -H "Host: DOMAIN" \ https://DOMAIN/hello-world
Dengan DOMAIN adalah domain yang Anda masukkan ke dalam sertifikat dan ditambahkan ke grup lingkungan, seperti yang dibahas dalam Langkah 5: Konfigurasi pemilihan rute. Jika perlu, Anda dapat menggunakan API ini untuk mendapatkan nilai
DOMAIN
dari grup lingkungan:curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"
Setelah berhasil, contoh proxy API akan menampilkan respons:
Hello, Guest!
Tips pemecahan masalah:
Jika Anda mendapatkan error handshake, periksa status sertifikat SSL. Untuk informasi tentang cara memecahkan masalah sertifikat yang dikelola sendiri dan dikelola Google, lihat Memecahkan masalah sertifikat SSL.
Pastikan domain terdaftar Anda memiliki data A yang mengarah ke alamat IP alamat IPv4 eksternal global yang dibuat di Langkah 5. Jalankan perintah ini untuk melihat alamat IP yang dicadangkan:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Jika Anda tidak dapat me-resolve konfigurasi domain, coba panggil proxy dengan perintah ini:
curl -H Host:DOMAIN --resolve \ DOMAIN:443:EXTERNAL_IP_ADDRESS \ https://DOMAIN:443/hello-world -k
Berikutnya: Untuk mempelajari lebih lanjut cara mem-build dan men-deploy proxy API, lihat Ringkasan membangun proxy API pertama Anda.