Dokumen ini menjelaskan cara menginstal dan mengonfigurasi Apigee dari
command line
dengan peering VPC. Langkah-langkah ini berlaku untuk model harga Langganan dan Bayar sesuai penggunaan untuk organisasi berbayar dengan atau tanpa kemampuan data tetap.
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 4: Konfigurasikan jaringan layanan: Jaringan layanan
mengotomatiskan penyiapan konektivitas pribadi (menggunakan Peering Jaringan VPC) antara jaringan
Anda dan Apigee.
Langkah 5: 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 6: Buat instance runtime: Instance, atau runtime, adalah tempat project dan layanan terkait disimpan; instance ini menyediakan endpoint yang ditampilkan kepada pengguna untuk layanan Anda.
Langkah 7: Membuat lingkungan: Proxy API harus di-deploy ke lingkungan, dan ditambahkan ke grup lingkungan, sebelum API yang dieksposnya dapat diakses melalui jaringan.
Siapkan gcloud dan tentukan variabel lingkungan untuk digunakan di langkah berikutnya:
Pastikan Anda telah menyelesaikan persyaratan penyiapan yang tercantum di
Sebelum memulai.
Anda harus menginstal Cloud SDK. Jika Anda perlu menginstalnya, lihat
Menginstal Cloud SDK.
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 berikut di terminal perintah Anda.
Pilih tab yang sesuai dengan jenis organisasi yang Anda perlukan:
Tanpa retensi data atau dengan
Retensi data:
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 saat masa berlakunya berakhir, Anda cukup membuat ulang token menggunakan perintah yang sama. Untuk informasi selengkapnya, lihat halaman referensi untuk
perintah print-access-token.
PROJECT_ID adalah project ID Cloud yang Anda buat sebagai bagian dari Prasyarat.
PROJECT_NUMBER adalah nomor project Cloud yang Anda buat sebagai bagian dari Prasyarat.
RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee yang akan Anda buat nanti berada. Untuk mengetahui daftar lokasi runtime yang tersedia, lihat
Lokasi Apigee.
ANALYTICS_REGION adalah lokasi fisik tempat data analisis 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.
BILLING_TYPE adalah jenis penagihan untuk organisasi yang Anda buat. Nilai yang valid adalah:
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 saat masa berlakunya berakhir, Anda cukup membuat ulang token menggunakan perintah yang sama. Untuk informasi selengkapnya, lihat halaman referensi untuk
perintah print-access-token.
PROJECT_ID adalah project ID Cloud yang Anda buat sebagai bagian dari Prasyarat.
PROJECT_NUMBER adalah nomor project Cloud yang Anda buat sebagai bagian dari Prasyarat.
RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee yang akan Anda buat nanti berada. Untuk mengetahui daftar lokasi runtime yang tersedia, lihat
Lokasi Apigee.
Lokasi runtime harus berada dalam
lokasi bidang kontrol.
CONTROL_PLANE_LOCATION adalah lokasi fisik tempat data platform kontrol Apigee akan disimpan.
Untuk mengetahui daftar lokasi panel kontrol yang tersedia, lihat lokasi Apigee.
CONSUMER_DATA_REGION adalah sub-region dari region bidang kontrol. Anda harus menentukan CONTROL_PLANE_LOCATION dan CONSUMER_DATA_REGION.
Untuk mengetahui daftar region data konsumen yang tersedia, lihat
Lokasi Apigee.
BILLING_TYPE adalah jenis penagihan untuk organisasi yang Anda buat. Nilai yang valid adalah:
(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
($).
Respons terhadap perintah echo Anda akan terlihat seperti berikut:
YOUR_TOKEN
my-cloud-project
1234567890
us-west1
us
us-west1
SUBSCRIPTION
Langkah 2: Aktifkan API
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran yang telah ditetapkan sebelumnya kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan. Lihat
Peran standar dan
Izin pengaktifan API.
Apigee mengharuskan Anda mengaktifkan beberapa Google Cloud API. Aktifkan dengan menjalankan perintah services enable
berikut:
Pastikan agen berhasil dibuat. Respons akan menampilkan nama
agen dalam format berikut:
service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com.
misalnya:
Service identity created: service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
Langkah 4: Konfigurasikan jaringan layanan
Pada langkah ini, Anda mengalokasikan sepasang Rentang Alamat IP (rentang CIDR /22 dan /28) ke Apigee dan
melakukan peering VPC antara jaringan Anda dan jaringan Apigee. Setiap instance Apigee memerlukan rentang CIDR /22 dan /28 yang tidak tumpang-tindih. Platform runtime Apigee
diberi alamat IP dari dalam rentang CIDR ini. Oleh karena itu, penting
untuk mencadangkan rentang tersebut untuk Apigee dan tidak digunakan oleh aplikasi lain di jaringan VPC Anda. Untuk informasi selengkapnya dan pertimbangan penting,
lihat Memahami rentang peering.
Perhatikan bahwa Anda membuat rentang IP jaringan yang memadai untuk satu instance Apigee. Jika berencana membuat instance Apigee tambahan, Anda harus mengulangi langkah ini untuk setiap instance. Rentang tersebut tidak dapat dibagikan antar-instance. Lihat juga Memperluas Apigee ke beberapa region.
Izin yang diperlukan untuk
tugas ini
Anda dapat memberikan peran yang telah ditetapkan sebelumnya kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan. Lihat
Peran standar dan
Izin jaringan layanan.
RANGE_NAME adalah nama rentang alamat IP yang Anda buat.
Anda dapat memberi nama rentang apa pun yang Anda inginkan. Contoh: google-svcs
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 selain pengujian.
Dengan --addresses, Anda dapat menentukan
rentang alamat secara opsional. Misalnya, untuk mengalokasikan blok CIDR
192.168.0.0/22, tentukan 192.168.0.0 untuk alamat dan 22 untuk panjang awalan. Lihat juga
Membuat alokasi IP.
Jika Anda tidak memberikan parameter --addresses, gcloud akan memilih rentang alamat yang tersedia untuk Anda.
Jika berhasil, gcloud akan merespons dengan hal berikut:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses/google-svcs].
Setelah Anda membuat rentang alamat IP, alamat tersebut akan dikaitkan dengan project hingga Anda merilisnya.
Pastikan rentang IP jaringan dibuat dengan panjang CIDR /22:
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.
Dengan --addresses, Anda dapat menentukan
rentang alamat secara opsional. Misalnya, untuk mengalokasikan blok CIDR
192.168.0.0/28, tentukan 192.168.0.0 untuk alamat dan 28 untuk panjang awalan. Lihat juga
Membuat alokasi IP.
Jika Anda tidak memberikan parameter --addresses, gcloud akan memilih rentang alamat yang tersedia untuk Anda.
Pastikan rentang IP jaringan dibuat dengan panjang CIDR /28:
Operasi ini dapat memerlukan waktu beberapa menit hingga selesai. Jika berhasil, gcloud
akan merespons dengan hal berikut, dengan OPERATION_ID adalah UUID LRO.
Apigee membuat koneksi antara jaringan Anda dan layanan Google; khususnya,
Apigee menghubungkan project Anda ke Service Networking API melalui peering VPC. Apigee juga mengaitkan alamat IP dengan project Anda.
Setelah beberapa menit, verifikasi apakah peering VPC berhasil:
gcloud services vpc-peerings list \
--network=$NETWORK_NAME \
--service=servicenetworking.googleapis.com \
--project=$PROJECT_ID
Langkah 5: Buat organisasi
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran yang telah ditetapkan sebelumnya kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan. Lihat:
Sebelum dapat membuat organisasi, Anda harus membuat key ring dan kunci enkripsi database runtime (lihat langkah 1) dan, jika menggunakan
data residency, key ring dan kunci enkripsi kontrol plane (lihat langkah 2). Kunci
Cloud KMS ini mengenkripsi data yang disimpan dan direplikasi di seluruh lokasi runtime dan control plane. Apigee menggunakan entitas ini untuk
mengenkripsi data aplikasi seperti KVM, cache, dan secret klien, yang
kemudian disimpan dalam database. Untuk mengetahui informasi selengkapnya, lihat
Tentang kunci enkripsi Apigee.
Membuat key ring dan kunci enkripsi database runtime.
Tentukan variabel lingkungan untuk lokasi cincin dan kunci enkripsi database runtime Anda. Hal ini membantu memastikan konsistensi saat Anda membuatnya dan memudahkan Anda untuk mengikuti dokumentasi.
Nilainya adalah lokasi fisik tempat cincin kunci enkripsi database runtime dan kunci disimpan.
Satu region
Konfigurasi satu region (di mana Anda hanya memiliki satu instance
di satu region): Pilih dari lokasi regional
KMS yang didukung.
Contoh:
RUNTIMEDBKEY_LOCATION="us-west1"
Nilainya dapat sama dengan $RUNTIME_LOCATION (juga merupakan region), tetapi tidak harus begitu. Namun, mungkin ada manfaat performa jika keduanya
sama.
Sebaiknya jika Anda memiliki konfigurasi multi-region di Amerika Serikat, gunakan
us untuk lokasi Anda jika memungkinkan. Jika tidak, gunakan nam4.
Tentukan variabel lingkungan untuk ring kunci dan nama kunci database.
Nama ring kunci harus unik untuk organisasi Anda. Jika Anda membuat
region kedua atau berikutnya, namanya tidak boleh sama dengan nama
ring kunci lainnya.
(Opsional) Periksa pekerjaan Anda dengan menampilkan nilai yang baru saja Anda tetapkan. Ingat bahwa saat Anda ingin
menggunakan variabel dalam perintah, awali nama variabel dengan tanda dolar
($).
Perintah ini mengikat kunci ke Agen Layanan Apigee.
Setelah permintaan ini berhasil diselesaikan, gcloud akan merespons dengan
sesuatu yang mirip dengan berikut ini:
Updated IAM policy for key [runtime].
bindings:
- members:
- serviceAccount:service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
role: roles/cloudkms.cryptoKeyEncrypterDecrypter
etag: BwWqgEuCuwk=
version: 1
Jika Anda mendapatkan error seperti berikut:
INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
Pastikan Anda menggunakan nomor project, bukan nama project, di alamat email akun layanan.
Jika Anda menggunakan
data residency, buat key ring dan kunci enkripsi control plane. Jika Anda tidak menggunakan retensi data, lanjutkan ke langkah 3.
Lakukan langkah-langkah berikut untuk membuat key ring dan kunci enkripsi
control plane.
Tentukan variabel lingkungan untuk lokasi kunci dan ring enkripsi database bidang kontrol Anda:
CONTROL_PLANE_LOCATION adalah lokasi fisik tempat data platform kontrol Apigee akan disimpan.
Untuk mengetahui daftar lokasi panel kontrol yang tersedia, lihat lokasi Apigee.
CONSUMER_DATA_REGION adalah sub-region dari region bidang kontrol. Anda harus menentukan CONTROL_PLANE_LOCATION dan CONSUMER_DATA_REGION.
Untuk mengetahui daftar region data konsumen yang tersedia, lihat
Lokasi Apigee.
Tentukan variabel lingkungan untuk ring kunci dan nama kunci database bidang kontrol.
Perintah ini mengikat kunci ke Agen Layanan Apigee. Setelah permintaan ini berhasil diselesaikan, gcloud akan merespons dengan sesuatu yang mirip dengan berikut:
runtimeDatabaseEncryptionKeyName: ID kunci enkripsi aplikasi yang Anda buat di langkah sebelumnya. Ingat bahwa ID disusun
seperti jalur file. Misalnya: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
-d menentukan payload data untuk permintaan. Payload ini harus menyertakan
hal berikut:
name: Mengidentifikasi organisasi baru Anda. Namanya harus sama dengan project ID Anda.
runtimeType: Tetapkan nilai ini ke CLOUD.
billingType: Menentukan jenis penagihan organisasi yang dibuat.
controlPlaneEncryptionKeyName: Adalah ID kunci bidang kontrol Anda.
apiConsumerDataLocation: Anda juga harus menentukan sub-region untuk digunakan oleh resource internal. Lihat
Region residensi data untuk mengetahui nilai yang didukung.
apiConsumerDataEncryptionKeyName: Adalah ID kunci region data konsumen Anda.
runtimeDatabaseEncryptionKeyName: ID kunci enkripsi aplikasi yang Anda buat di langkah sebelumnya. Ingat bahwa ID terstruktur seperti jalur file. Misalnya: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
Setelah Anda menjalankan perintah ini, Apigee akan memulai operasi yang berjalan lama,
yang dapat memerlukan waktu beberapa menit untuk diselesaikan.
Jika Anda mendapatkan error, periksa penggunaan tanda petik di sekitar
nilai variabel dalam payload data. Pastikan Anda memiliki tanda kutip ganda-tunggal-ganda di sekitar variabel $PROJECT_ID, seperti yang ditunjukkan pada contoh berikut:
"'"$PROJECT_ID"'"
Jika menggunakan string biasa (bukan variabel lingkungan) untuk nilai permintaan, Anda dapat
menggabungkannya dalam tanda kutip ganda dalam
string payload tanda kutip tunggal, seperti yang ditunjukkan pada contoh berikut:
'{ "name":"my-gcp-project", ... }'
Tunggu beberapa menit.
Untuk memeriksa status permintaan pembuatan, Anda dapat mengirim permintaan GET ke List organizations API Apigee, seperti yang ditunjukkan pada contoh berikut:
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 Apigee berhasil membuat organisasi baru, Anda akan menerima respons yang mirip dengan berikut ini:
Anda dapat memberikan peran yang telah ditetapkan sebelumnya kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan. Lihat
Peran standar dan
Izin instance runtime.
Instance runtime adalah tempat project Apigee dan layanan terkait disimpan; instance ini menyediakan endpoint yang ditampilkan kepada pengguna untuk layanan Anda. Untuk membuat instance runtime baru:
Pastikan Apigee telah selesai membuat organisasi Anda. Anda telah mengirimkan permintaan untuk membuat organisasi baru di Membuat organisasi Apigee, tetapi Anda harus memastikan permintaan tersebut telah selesai sebelum melanjutkan.
Jika organisasi ada (dan Anda memiliki izin yang tepat untuk melihatnya), Apigee akan merespons dengan detail tentang organisasi tersebut. Jika Apigee merespons dengan error, tunggu beberapa menit, lalu kirim permintaan lagi.
Serupa dengan tugas sebelumnya saat Anda membuat kunci enkripsi untuk database,
sekarang Anda perlu membuat kunci
Cloud KMS yang digunakan untuk mengenkripsi data di sisi server.
Untuk memulai, tentukan variabel lingkungan berikut:
INSTANCE_NAME: Nama instance baru Anda. Misalnya,
my-runtime-instance. Nama harus diawali dengan huruf kecil, dapat
panjangnya maksimal 32 karakter, dan hanya boleh menyertakan huruf kecil, angka, dan
tanda hubung. Nama ini tidak boleh diawali atau diakhiri dengan tanda hubung dan harus memiliki panjang minimal dua karakter.
RUNTIME_LOCATION adalah tempat fisik tempat cluster Anda dihosting.
Nilai yang valid adalah lokasi apa pun yang diizinkan oleh Compute Engine. (Lihat
Region dan zona yang tersedia.) Contoh ini menggunakan
us-west1.
DISK_KEY_RING_NAME adalah nama key ring enkripsi disk.
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"]
Perhatikan bahwa Anda juga dapat menetapkan dan mengubah daftar project yang diterima di UI Instance. Untuk mengetahui detailnya, lihat
Mengelola instance.
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.
Untuk memeriksa status permintaan pembuatan instance runtime, jalankan perintah
berikut. Jika statusnya ACTIVE, Anda dapat melanjutkan ke langkah berikutnya.
Tidak ada residensi data
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"
Residensi data
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"
Langkah 7: Membuat lingkungan
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran yang telah ditetapkan sebelumnya kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan. Lihat:
Untuk membuat lingkungan dan melampirkannya ke runtime di command line:
Tentukan variabel lingkungan yang akan digunakan di bagian ini. Variabel lingkungan spesifik yang Anda buat
akan bergantung pada apakah Anda membuat lingkungan untuk organisasi langganan atau Bayar sesuai penggunaan.
Langganan
Untuk lingkungan langganan, buat variabel berikut:
ENVIRONMENT_TYPE adalah
jenis lingkungan
untuk lingkungan ini dan hanya berlaku untuk pengguna Pay-as-you-go, yang harus
menentukan salah satu nilai berikut: BASE, INTERMEDIATE, atau
COMPREHENSIVE. Pengguna lain harus menghapus jenis lingkungan.
ENV_GROUP_NAME adalah nama string. Contoh: test-group
ENV_GROUP_HOSTNAME adalah nama host domain yang valid. Contoh: foo.example.com
Buat lingkungan baru dengan Environments API. Perintah spesifik yang Anda gunakan akan bergantung pada apakah Anda membuat lingkungan untuk organisasi langganan atau Bayar sesuai penggunaan.
Langganan
Untuk lingkungan langganan baru, gunakan perintah berikut:
Apigee akan merespons dengan daftar lingkungan yang tersedia; misalnya, jika nama lingkungan Anda adalah test, Apigee akan merespons dengan hal berikut:
Pada langkah ini, Anda mengonfigurasi cara aplikasi klien berkomunikasi dengan Apigee. Traffic klien ke Apigee
juga disebut traffic "northbound". Opsi konfigurasi northbound meliputi hal berikut.
Buka opsi konfigurasi yang ingin Anda gunakan dan lakukan langkah-langkah untuk opsi tersebut:
Gunakan grup instance terkelola (MIG) untuk mengirim traffic API dari layanan backend load balancer global ke Apigee. Dengan konfigurasi ini, Apigee hanya dapat
terhubung ke VPC yang di-peering. Konfigurasi ini memungkinkan Anda mengirim permintaan proxy Apigee API dari
mesin apa pun yang mendukung jaringan.
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.
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 disajikan dalam petunjuk di bawah.
Pemilihan rute internal (VPC)
Untuk merutekan traffic dari klien internal ke Apigee, Anda dapat memilih untuk menggunakan penghentian TLS atau tidak:
Opsi TLS: Anda memiliki dua pilihan jika ingin melakukan panggilan proxy API
dari klien internal dengan TLS diaktifkan:
Buat grup instance terkelola (MIG) di project Anda. Untuk membuat MIG, ikuti langkah-langkah 8a, 8b, dan 8c di tab Pemilihan rute eksternal (MIG).
Buat dan konfigurasikan load balancer HTTPS(S) internal (ILB), dan
lampirkan MIG yang Anda buat ke layanan backend ILB, seperti yang dijelaskan dalam
Menyiapkan Load Balancing HTTP(S) Internal dengan backend grup instance VM. Dengan konfigurasi ILB,
Anda memiliki kontrol penuh atas sertifikat CA yang digunakan dengan ILB.
(Opsi 2) Gunakan nama domain yang sepenuhnya memenuhi syarat dan default internal serta IP load balancer internal dari instance Apigee. Kasus ini hanya direkomendasikan untuk tujuan pengujian, dan bukan
untuk lingkungan produksi. Dalam hal ini, sertifikat yang ditandatangani sendiri yang dibuat Apigee akan digunakan,
dengan load balancer internal Apigee, dan Anda tidak dapat mengubahnya. Lihat
Memanggil proxy API dengan akses khusus internal.
Opsi non-TLS: Jika tidak perlu mengaktifkan penghentian TLS, Anda dapat memanggil proxy API
tempat klien menonaktifkan TLS. Misalnya, dengan menggunakan opsi -k dengan cURL, Anda dapat menonaktifkan TLS. Lihat
Memanggil proxy API dengan akses khusus internal.
Pemilihan rute eksternal (MIG)
Bagian ini menjelaskan cara mengonfigurasi perutean untuk mengizinkan akses eksternal ke proxy API menggunakan grup instance terkelola (MIG) untuk mengirim traffic API dari layanan backend load balancer global ke Apigee. Anda harus melakukannya sebelum dapat mengirim permintaan dari klien eksternal ke instance runtime Apigee.
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran yang telah ditetapkan sebelumnya kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan.
Lihat Peran standar dan Izin pemilihan rute akses.
Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk ke string yang digunakan berulang kali. Sebaiknya tetapkan hal berikut sebelum melanjutkan:
MIG_NAME=apigee-mig-MIG_NAME # You can choose a different name if you like
VPC_NAME=default # If you are using a shared VPC, use the shared VPC nameVPC_SUBNET=default # Private Google Access must be enabled for this subnetREGION=RUNTIME_REGION # The same region as your Apigee runtime instanceAPIGEE_ENDPOINT=APIGEE_INSTANCE_IP # See the tip below for details on getting this IP address value
Anda akan menggunakan variabel ini beberapa kali selama proses lainnya. Jika Anda ingin mengonfigurasi beberapa wilayah, buat variabel dengan nilai khusus untuk setiap wilayah.
Langkah 8c: Membuat grup instance terkelola
Pada langkah ini, Anda akan membuat dan mengonfigurasi grup instance terkelola (MIG). Pada langkah berikutnya,
Anda akan menambahkan MIG ke layanan backend yang terpasang ke load balancer global. MIG
diperlukan untuk mengirim traffic API dari layanan backend load balancer global ke Apigee.
Seperti yang dapat Anda lihat dari perintah ini, mesin adalah jenis e2-medium. Server tersebut menjalankan
Debian 12 dan memiliki disk sebesar 20 GB. Skrip startup-script.sh mengonfigurasi MIG untuk merutekan traffic masuk dari load
balancer ke instance Apigee.
Langkah 8d: Buat sertifikat dan kunci SSL untuk load balancer
Anda hanya perlu membuat kredensial satu kali, baik saat menginstal di satu region maupun beberapa region. Pada langkah berikutnya, Anda akan mengaitkan kredensial ini dengan proxy HTTPS target load balancer.
Anda dapat membuat kredensial dengan:
Sertifikat Anda sendiri dari certificate authority
Untuk informasi selengkapnya tentang cara membuat dan menggunakan sertifikat SSL untuk load balancer Google Cloud, lihat Sertifikat SSL dan Ringkasan sertifikat SSL.
Pada contoh berikut, kita membuat sertifikat SSL yang dikelola Google:
Tetapkan DOMAIN_HOSTNAME ke nama host domain yang valid yang telah Anda daftarkan. Pada langkah berikutnya, Anda akan mendapatkan alamat IP load
balancer dan memperbarui data A domain agar mengarah ke alamat tersebut. Misalnya, nama host domain
mungkin terlihat seperti ini: foo.example.com.
Anda akan menggunakan health check ini untuk memastikan bahwa layanan backend berjalan. Untuk
mengonfigurasi health check lanjutan terhadap proxy tertentu, lihat
Melakukan health check.
Langkah 8f: Dapatkan alamat IP yang dicadangkan dan buat aturan firewall
Anda harus menetapkan alamat IP ke load balancer, lalu membuat aturan yang memungkinkan load balancer mengakses MIG. Anda hanya perlu melakukan langkah ini satu kali, baik saat
menginstal di satu atau beberapa region.
Langkah penting: Buka situs, host DNS, atau ISP tempat data DNS Anda dikelola, dan pastikan data DNS domain Anda di-resolve ke alamat IP load balancer Google Cloud. Alamat ini adalah nilai IP yang ditampilkan di langkah terakhir. Untuk mengetahui detail selengkapnya, lihat
Memperbarui data A dan AAAA DNS agar mengarah ke alamat IP load balancer.
Buat aturan firewall yang memungkinkan load balancer mengakses MIG menggunakan perintah berikut:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \
--description "Allow incoming from GLB on TCP port 443 to Apigee Proxy" \
--project $PROJECT_ID --network $VPC_NAME --allow=tcp:443 \
--source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=gke-apigee-proxy
Perhatikan bahwa rentang alamat IP 130.211.0.0/22 dan 35.191.0.0/16 adalah rentang alamat IP sumber untuk Load Balancing Google. Aturan firewall ini memungkinkan Google Cloud Load Balancing membuat permintaan health check ke MIG.
Bagian ini menjelaskan cara mengizinkan hanya akses internal ke proxy API dari project Google Cloud mana pun 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
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran yang telah ditetapkan sebelumnya kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan.
Lihat Peran standar dan Izin pemilihan rute akses.
Membuat endpoint layanan PSC untuk lampiran layanan
Dapatkan lampiran layanan dari instance yang Anda buat sebelumnya:
Tidak ada residensi data
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Residensi data
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Dalam contoh output berikut, nilai serviceAttachment
ditampilkan dalam huruf tebal:
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.
Anda dapat memberikan peran yang telah ditetapkan kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan.
Lihat Peran standar dan Izin pemilihan rute akses.
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.
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 termasuk dalam subnetwork mana pun di wilayah tempat grup endpoint jaringan dibuat.
Dengan $PROJECT_ID dapat berupa project Cloud yang sudah
dikaitkan dengan organisasi Apigee Anda, atau project Cloud yang disertakan
dalam consumerAcceptlist saat
instance runtime Apigee dibuat.
Untuk membuat load balancer HTTPS, Anda harus memiliki resource sertifikat SSL yang akan 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.
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.
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.
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran yang telah ditetapkan sebelumnya kepada penyedia Apigee yang mencakup izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan izin yang lebih terperinci untuk memberikan hak istimewa terendah yang diperlukan.
Lihat Peran standar dan Izin pemilihan rute akses.
Langkah 8b: Buat NEG dan konfigurasikan load balancer
Anda dapat membuat load balancer global atau regional.
TARGET_SERVICE: lampiran layanan yang ingin Anda hubungkan. Gunakan nilai lampiran layanan yang ditampilkan oleh perintah
sebelumnya. 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.
$PROJECT_ID Project Cloud yang sudah dikaitkan dengan organisasi Apigee Anda, atau project Cloud yang disertakan dalam consumerAcceptlist saat instance runtime Apigee dibuat.
Jika Anda belum melakukannya, buat variabel lingkungan untuk menyimpan project ID, karena digunakan di sebagian besar perintah berikut.
Cadangkan alamat IPv4 eksternal global untuk load balancer.
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.
Untuk membuat load balancer HTTPS, Anda harus memiliki resource sertifikat SSL yang akan 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.
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.
TARGET_SERVICE: nama lampiran layanan yang ingin Anda hubungkan.
Contoh: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
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.
Untuk membuat load balancer HTTPS, Anda harus memiliki resource sertifikat SSL yang akan 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.
Membuat dan men-deploy proxy memerlukan serangkaian izin minimum. Jika memiliki peran Admin Org Apigee, Anda dapat menyelesaikan tugas ini. Untuk mempelajari peran
lain yang dapat Anda gunakan, lihat
Peran Apigee.
Download
contoh proxy dari GitHub. Target proxy adalah layanan httpbin.org, yang merupakan layanan permintaan dan respons publik yang umum digunakan.
Upload paket proxy API ke runtime menggunakan API
apis Apigee:
Jika Anda mendapatkan error seperti ini:
CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure, periksa untuk
memastikan sertifikat SSL yang Anda buat sebelumnya telah disediakan.
Gunakan perintah ini untuk memeriksa
status penyediaan. Saat sertifikat disediakan, statusnya adalah
ACTIVE.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2024-12-22 UTC."],[],[]]