Dokumen ini menjelaskan cara menginstal dan mengonfigurasi Apigee dari command line
dengan peering VPC. Langkah-langkah ini berlaku untuk model penetapan harga Langganan dan Bayar sesuai penggunaan untuk organisasi berbayar
dengan atau tanpa mengaktifkan residensi data.
Ringkasan langkah-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: Konfigurasi jaringan layanan: Jaringan layanan
mengotomatiskan penyiapan konektivitas pribadi (menggunakan Peering Jaringan VPC) antarjaringan Anda
dan Apigee.
Langkah 5: Buat organisasi: Organisasi Apigee
(terkadang disebut sebagai org) adalah container level teratas di Apigee. Rencana ini mencakup semua
lingkungan dan grup lingkungan Anda, pengguna, proxy API, dan sumber daya terkait.
Langkah 6: Buat instance runtime: Instance, atau runtime
adalah tempat penyimpanan proyek dan
layanan terkait Anda; menyediakan endpoint yang menghadap pengguna
untuk layanan Anda.
Langkah 7: Buat lingkungan: Proxy API harus berupa
di-deploy ke lingkungan, dan ditambahkan ke grup lingkungan, sebelum API yang diekspos
dapat diakses melalui jaringan.
Siapkan gcloud dan tentukan variabel lingkungan untuk digunakan dalam langkah-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 Menginisialisasi 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 butuhkan:
Tidak ada residensi data atau dengan
Residensi data:
AUTH menentukan header Authentication dengan token pemilik.
Anda akan menggunakan header ini saat memanggil API Apigee. Perhatikan bahwa masa berlaku token telah habis
setelah jangka waktu tertentu dan ketika hal itu terjadi, Anda cukup membuatnya kembali 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
Prasyarat.
RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee yang Anda
buat nanti terletak. Untuk mengetahui daftar lokasi runtime yang tersedia, lihat
Lokasi Apigee.
ANALYTICS_REGION adalah lokasi fisik tempat Apigee
data analisis akan disimpan. Untuk melihat daftar Analisis API Apigee yang tersedia
region, lihat
Lokasi Apigee.
RUNTIME_LOCATION dan ANALYTICS_REGION
bisa berada di 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 pemilik.
Anda akan menggunakan header ini saat memanggil API Apigee. Perhatikan bahwa masa berlaku token telah habis
setelah jangka waktu tertentu dan ketika hal itu terjadi, Anda cukup membuatnya kembali 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
Prasyarat.
RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee yang Anda
buat nanti terletak. 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 bidang kontrol Apigee akan disimpan.
Untuk daftar lokasi bidang 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 mencerminkan nilai yang baru saja Anda tetapkan. Perhatikan bahwa bila Anda ingin
untuk menggunakan variabel dalam perintah Anda, 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 bawaan kepada penyedia Apigee yang mencakup
izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan
izin untuk memberikan hak istimewa terendah yang diperlukan. Lihat
Peran bawaan dan
Izin pengaktifan API.
Apigee mengharuskan Anda mengaktifkan beberapa API Google Cloud. Aktifkan dengan menjalankan services enable berikut
berikut:
Pastikan agen berhasil dibuat. Respons harus menampilkan nama
agen dalam format berikut:
service-PROJECT_NUMBER@gcp-sa-apigee..
misalnya:
Service identity created: service-1234567890@gcp-sa-apigee.
Langkah 4: Konfigurasi 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 yang tidak tumpang-tindih yaitu /22 dan /28. Bidang runtime Apigee
diberi alamat IP dari
dalam rentang CIDR ini. Akibatnya, itu
penting bahwa rentang tersebut dicadangkan untuk Apigee dan tidak digunakan oleh aplikasi lain di
jaringan VPC Anda. Untuk informasi lebih lanjut dan
pertimbangan penting,
lihat Memahami rentang peering.
Perlu diperhatikan bahwa Anda membuat rentang IP jaringan yang memadai untuk satu instance Apigee. Jika Anda berencana
untuk membuat instance Apigee tambahan, Anda harus mengulangi langkah ini untuk setiap instance. Rentang sel
tidak dapat dibagikan antar-instance. Lihat juga Memperluas Apigee ke beberapa region.
Izin diperlukan untuk
tugas ini
Anda dapat memberikan peran bawaan kepada penyedia Apigee yang mencakup
izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan
izin untuk memberikan hak istimewa terendah yang diperlukan. Lihat
Peran bawaan dan
Izin jaringan layanan.
RANGE_NAME adalah nama rentang alamat IP yang Anda buat.
Anda bisa memberi nama rentang ini sesuai keinginan. Contoh: google-svcs
NETWORK_NAME adalah nama resource jaringan tempat alamat
harus dicadangkan.
Google membuat jaringan default
(bernama default) untuk setiap project baru, jadi Anda dapat menggunakannya. Namun,
Google tidak merekomendasikan penggunaan jaringan default untuk hal apa pun selain pengujian.
Tempat --addresses memungkinkan Anda secara opsional menentukan
rentang alamat IP. 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 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 IP tersebut dikaitkan dengan
proyek sampai Anda
melepaskannya.
Pastikan rentang IP jaringan telah dibuat dengan panjang CIDR /22:
Buat rentang IP jaringan dengan panjang CIDR /28. Rentang ini wajib diisi dan
digunakan oleh Apigee untuk tujuan pemecahan masalah dan tidak dapat disesuaikan atau diubah.
Tempat --addresses memungkinkan Anda secara opsional menentukan
rentang alamat IP. 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 memilih rentang alamat yang tersedia untuk Anda.
Pastikan rentang IP jaringan telah dibuat dengan panjang CIDR /28:
Operasi ini dapat memerlukan waktu beberapa menit hingga selesai. Jika berhasil, gcloud
merespons dengan hal berikut, dengan OPERATION_ID adalah UUID LRO.
Apigee membuat koneksi antara jaringan Anda dan layanan Google; secara khusus,
Apigee menghubungkan project Anda ke Service Networking API melalui peering VPC. Apigee
juga mengaitkan alamat IP dengan proyek 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 bawaan kepada penyedia Apigee yang mencakup
izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan
izin untuk memberikan hak istimewa terendah yang diperlukan. Lihat:
Sebelum dapat membuat organisasi, Anda harus membuat database runtime
key ring dan kunci enkripsi (lihat langkah 1) dan, jika Anda
menggunakan
residensi data, key ring dan kunci enkripsi bidang kontrol
(lihat langkah 2). Ini
Kunci Cloud KMS mengenkripsi data yang disimpan dan direplikasi dari berbagai
lokasi bidang kontrol dan runtime. Apigee menggunakan entity ini untuk
mengenkripsi data aplikasi seperti KVM, cache, dan rahasia klien, yang
kemudian disimpan dalam {i>database<i}. Untuk informasi selengkapnya, lihat
Tentang kunci enkripsi Apigee.
Membuat key ring dan kunci enkripsi database runtime.
Menentukan variabel lingkungan untuk lokasi database runtime Anda
cincin dan kunci enkripsi. Hal ini membantu memastikan konsistensi
ketika Anda membuatnya dan
memudahkan Anda untuk
mengikuti dokumentasi.
Nilainya adalah lokasi fisik tempat key ring enkripsi database runtime Anda
dan kunci disimpan.
Satu region
Konfigurasi region tunggal (di mana Anda hanya memiliki satu instance
in satu region): Pilih dari KMS yang didukung
lokasi regional.
Contoh:
RUNTIMEDBKEY_LOCATION="us-west1"
Nilainya bisa sama dengan $RUNTIME_LOCATION (juga region), tetapi
tidak harus demikian. Namun demikian, ada manfaat kinerja yang diperoleh jika
hal yang sama.
Sebaiknya jika Anda memiliki konfigurasi multi-region di AS, gunakan
us untuk lokasi Anda jika memungkinkan. Jika tidak, gunakan nam4.
Menentukan variabel lingkungan untuk key ring dan nama kunci database.
Nama key ring harus unik untuk organisasi Anda. Jika Anda membuat
region kedua atau berikutnya, namanya tidak boleh sama dengan key ring lainnya.
nama.
(Opsional) Periksa pekerjaan Anda dengan mencerminkan nilai yang baru saja Anda tetapkan. Ingatlah bahwa ketika Anda ingin
untuk menggunakan variabel dalam perintah Anda, awali nama variabel dengan tanda dolar
($).
Perintah ini mengikat kunci ke Agen Layanan Apigee.
Setelah berhasil menyelesaikan permintaan ini, gcloud merespons dengan
sesuatu yang mirip dengan berikut ini:
Updated IAM policy for key [runtime].
bindings:
- members:
- serviceAccount:service-1234567890@gcp-sa-apigee.
role: roles/cloudkms.cryptoKeyEncrypterDecrypter
etag: BwWqgEuCuwk=
version: 1
Jika Anda mendapatkan pesan error seperti berikut:
INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
Pastikan Anda menggunakan nomor project dan bukan nama project di bagian
alamat email akun layanan Anda.
Jika Anda menggunakan
residensi data, membuat key ring enkripsi bidang kontrol,
tombol. Jika Anda tidak menggunakan residensi data, lanjutkan ke langkah 3.
Lakukan langkah-langkah berikut untuk membuat enkripsi bidang kontrol
key ring dan key.
Tentukan variabel lingkungan untuk lokasi cincin dan kunci enkripsi database bidang kontrol Anda:
CONTROL_PLANE_LOCATION adalah lokasi fisik tempat data bidang kontrol Apigee akan disimpan.
Untuk daftar lokasi bidang 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.
Menentukan variabel lingkungan untuk key ring dan nama kunci database bidang kontrol.
Perintah ini mengikat kunci ke Agen Layanan Apigee. Setelah berhasil diselesaikan
permintaan ini, gcloud merespons dengan sesuatu yang mirip dengan berikut ini:
runtimeDatabaseEncryptionKeyName: ID aplikasi
kunci enkripsi yang Anda buat di langkah sebelumnya. Ingat bahwa ID terstruktur
seperti jalur file. Contoh: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
-d menentukan payload data untuk permintaan. Payload ini harus mencakup
hal berikut:
name: Mengidentifikasi organisasi baru Anda. Harus sama
sebagai project ID.
runtimeType: Setel nilai ini ke CLOUD.
billingType: Menentukan jenis penagihan organisasi yang dibuat.
controlPlaneEncryptionKeyName: Merupakan ID kunci bidang kontrol Anda.
apiConsumerDataLocation: Anda juga harus menentukan subwilayah untuk digunakan oleh
resource internal. Lihat
Wilayah residensi data untuk nilai yang didukung.
apiConsumerDataEncryptionKeyName: Adalah ID kunci region data konsumen Anda.
runtimeDatabaseEncryptionKeyName: ID aplikasi
kunci enkripsi yang Anda buat di langkah sebelumnya. Ingat bahwa ID adalah
tersusun seperti jalur file. Contoh: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
Setelah Anda menjalankan perintah ini, Apigee memulai operasi yang berjalan lama,
yang dapat memerlukan waktu beberapa menit.
Jika terjadi error, periksa penggunaan tanda kutip Anda di sekitar
nilai variabel dalam {i>payload<i} data. Pastikan Anda memiliki tanda kutip ganda-tunggal-ganda
di sekitar variabel $PROJECT_ID, seperti yang ditunjukkan dalam contoh berikut:
"'"$PROJECT_ID"'"
Jika Anda menggunakan string biasa (bukan variabel lingkungan) untuk nilai permintaan, Anda bisa
menggabungkannya dalam tanda
kutip ganda di dalam
string payload yang dikutip tunggal, seperti yang ditampilkan dalam contoh berikut:
'{ "name":"my-gcp-project", ... }'
Tunggu beberapa menit.
Untuk memeriksa status permintaan pembuatan, Anda dapat mengirim permintaan GET ke Apigee
Cantumkan API organisasi, seperti yang ditampilkan dalam contoh berikut:
Jika Anda melihat respons ini, artinya 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 contoh berikut ini:
Anda dapat memberikan peran bawaan kepada penyedia Apigee yang mencakup
izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan
izin untuk memberikan hak istimewa terendah yang diperlukan. Lihat
Peran bawaan dan
Izin instance runtime.
Instance runtime adalah tempat project Apigee Anda dan layanan terkait disimpan; ini
menyediakan endpoint yang dilihat pengguna untuk layanan Anda. Untuk membuat instance runtime baru:
Pastikan Apigee telah menyelesaikan pembuatan organisasi Anda. Anda mengirimkan permintaan kepada
Buat organisasi baru di Membuat organisasi Apigee, tetapi
Anda perlu memastikan itu sudah
dilakukan sebelum melanjutkan.
Jika organisasi tersebut ada (dan Anda memiliki izin yang sesuai untuk melihatnya), Apigee
akan menanggapinya
dengan memberikan detail tentang hal itu. Jika Apigee merespons dengan error, tunggu beberapa
menit, lalu mengirim permintaan lagi.
Mirip dengan tugas sebelumnya di mana
Anda membuat kunci enkripsi untuk {i>database<i},
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
hingga 32 karakter, dan hanya dapat berisi huruf kecil, angka,
tanda hubung. ID ini tidak boleh dimulai atau diakhiri dengan tanda hubung dan minimal harus dua karakter
panjang.
RUNTIME_LOCATION adalah tempat fisik tempat cluster Anda dihosting.
Nilai yang valid adalah lokasi mana 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 VPC Apigee
lampiran layanan. Lampiran layanan adalah entity yang digunakan dengan Google Cloud
Private Service Connect untuk mengizinkan produsen layanan (dalam hal ini, Apigee) untuk
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 Apigee Anda
organisasi/pengaturan. Contoh:
"consumerAcceptList": ["project1", "project2", "project3"]
Perhatikan bahwa Anda juga dapat menetapkan dan mengubah daftar status
project di UI Instance. Untuk mengetahui detailnya, lihat
Mengelola instance.
Penyelesaian permintaan ini dapat memerlukan waktu hingga 20 menit karena Apigee harus membuat dan
meluncurkan cluster Kubernetes baru, menginstal resource Apigee pada cluster tersebut, dan menyiapkan
gunakan load balancer HTTP(S) Global.
Untuk memeriksa status permintaan pembuatan instance runtime, jalankan perintah berikut
perintah. Jika statusnya AKTIF, Anda dapat berlanjut 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: Buat lingkungan
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran bawaan kepada penyedia Apigee yang mencakup
izin yang diperlukan untuk menyelesaikan tugas ini, atau memberikan
izin untuk memberikan hak istimewa terendah yang diperlukan. Lihat:
Untuk membuat lingkungan dan menambahkannya ke runtime pada perintah
baris:
Tentukan variabel lingkungan yang akan digunakan di bagian ini. Variabel lingkungan spesifik yang Anda buat
akan bergantung pada apakah Anda membuat lingkungan untuk langganan atau Bayar sesuai penggunaan
org.
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
tentukan 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 langganan atau Bayar sesuai penggunaan
org.
Langganan
Untuk lingkungan langganan baru, gunakan perintah berikut:
Pada langkah ini, Anda akan mengonfigurasi cara aplikasi klien berkomunikasi dengan Apigee. Klien untuk Apigee
lalu lintas juga disebut "arah utara" kemacetan. Opsi konfigurasi arah utara mencakup hal berikut.
Buka opsi konfigurasi yang ingin Anda gunakan dan lakukan langkah-langkah untuk opsi tersebut:
Menggunakan grup instance terkelola (MIG) untuk mengirim
Traffic API dari layanan backend load balancer global ke Apigee. Dengan konfigurasi ini, Apigee hanya dapat
agar terhubung ke VPC yang di-peering. Konfigurasi ini memungkinkan Anda mengirim permintaan proxy API Apigee dari apa pun
komputer yang kompatibel dengan jaringan.
Hanya izinkan akses internal ke proxy API Anda dari project Google Cloud mana pun yang 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 lain yang Anda kontrol). Dengan metode ini, permintaan
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 API Apigee dari mesin yang mendukung jaringan.
Gunakan Private Service Connect (PSC) untuk mengaktifkan koneksi pribadi antara
produsen layanan (Apigee) dan konsumen layanan (project VPC yang di-peering dan/atau
satu atau beberapa project Cloud lain yang Anda kontrol). Dengan metode ini, permintaan melewati
load balancer eksternal global atau
load balancer eksternal regional ke
titik lampiran, yang disebut lampiran layanan.
Konfigurasi ini memungkinkan Anda mengirim
Permintaan proxy Apigee API dari
komputer yang kompatibel dengan jaringan.
Masing-masing pendekatan perutean ini dijelaskan dalam petunjuk di bawah.
Perutean internal (VPC)
Untuk mengarahkan traffic dari klien internal ke Apigee, Anda dapat memilih menggunakan TLS
penghentian atau tidak:
Opsi TLS: Anda memiliki dua pilihan jika ingin membuat proxy API
panggilan 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 External routing (MIG)
.
Membuat dan mengonfigurasi load balancer HTTPS(S) internal (ILB), serta
melampirkan MIG yang Anda buat ke layanan backend ILB, seperti yang dijelaskan di
Siapkan Load Balancing HTTP(S) Internal dengan backend grup instance VM. Dengan konfigurasi ILB,
Anda memiliki kendali penuh atas sertifikat
CA yang digunakan dengan ILB.
(Opsi 2) Gunakan nama domain internal yang sepenuhnya memenuhi syarat dan load balancer internal
IP instance Apigee. Kasus ini hanya direkomendasikan untuk tujuan pengujian, dan tidak
untuk lingkungan produksi. Dalam hal ini, sertifikat yang ditandatangani sendiri
yang dibuat oleh Apigee 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
di mana klien menonaktifkan TLS. Misalnya, dengan menggunakan opsi -k dengan
cURL, Anda dapat menonaktifkan TLS. Lihat
Memanggil proxy API dengan akses khusus internal.
Perutean 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 ke Apigee. Anda harus melakukan
ini sebelum Anda dapat mengirim permintaan dari klien eksternal ke runtime Apigee Anda
di instance Compute Engine.
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran bawaan 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 bawaan
dan Izin perutean akses.
Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk pada penggunaan berulang
{i>string<i}. Sebaiknya tetapkan hal ini 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 yang tersisa. Jika Anda
ingin mengkonfigurasi beberapa wilayah, lalu membuat 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 selanjutnya,
Anda akan menambahkan MIG ke layanan backend yang terpasang ke load balancer global. MIG adalah
diperlukan untuk mengirim traffic API dari layanan backend load balancer global ke Apigee.
Seperti yang dapat Anda lihat dari perintah ini, mesin berjenis e2-medium. Mereka menjalankan
Debian 12 dan memiliki disk sebesar 20 GB. Skrip startup-script.sh mengonfigurasi MIG untuk merutekan traffic masuk dari pemuatan
ke instance Apigee.
Langkah 8d: Buat sertifikat dan kunci SSL untuk load balancer
Anda hanya perlu membuat kredensial satu kali, baik dalam
menginstal di satu atau
beberapa region. Di 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 mengetahui informasi
selengkapnya tentang
membuat dan menggunakan sertifikat SSL untuk load balancer Google Cloud,
lihat SSL
sertifikat dan ringkasan sertifikat SSL.
Pada contoh berikut, kami membuat sertifikat SSL yang dikelola Google:
Tetapkan DOMAIN_HOSTNAME ke nama host domain yang valid yang telah Anda daftarkan. Di langkah selanjutnya, Anda akan mendapatkan kode
alamat IP balancer dan memperbarui data A domain
agar mengarah ke alamat tersebut. Misalnya, nama {i>host<i} domain
mungkin terlihat seperti ini: foo.example.com.
Anda akan menggunakan health check ini untuk memastikan bahwa layanan backend sedang berjalan. Sebagai
mengonfigurasi health check lanjutan terhadap proxy tertentu, lihat
Melakukan health check.
Langkah 8f: Mendapatkan alamat IP yang dicadangkan dan membuat aturan firewall
Anda harus menetapkan alamat IP ke load balancer, lalu membuat aturan yang mengizinkan
load balancer
untuk mengakses MIG. Anda hanya perlu melakukan langkah ini
sekali, baik Anda
menginstal di satu atau
beberapa region.
Langkah penting: Buka situs, host DNS, atau ISP tempat data DNS dikelola, dan pastikan
data DNS domain Anda di-resolve menjadi alamat IP beban Google Cloud
dengan load balancer
Jaringan Passthrough Eksternal Regional. Alamat ini adalah nilai IP yang ditampilkan di langkah terakhir. Untuk detail selengkapnya, lihat
Perbarui data DNS A dan AAAA agar mengarah ke alamat IP load balancer.
Buat aturan firewall yang memungkinkan load balancer mengakses MIG dengan 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 IP sumber
untuk Google Load Balancing. Aturan firewall ini memungkinkan Google Cloud Load Balancing untuk
membuat permintaan health check ke MIG.
Bagian ini menjelaskan cara hanya mengizinkan akses internal ke proxy API dari
Project Google Cloud yang 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 diteruskan melalui load balancer HTTP(S) internal regional. Lihat juga
Load balancing global vs regional.
Pilih tab di bawah untuk pilihan konfigurasi Anda dan ikuti langkah-langkahnya:
Endpoint layanan
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran bawaan 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 bawaan
dan Izin perutean 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, serviceAttachment
nilai ditunjukkan dalam huruf tebal:
Buat PSC Service Endpoint yang mengarah ke lampiran layanan yang Anda dapatkan
dari isi respons instance di langkah sebelumnya, seperti yang dijelaskan dalam
Membuat endpoint Private Service Connect.
Anda dapat memberikan peran bawaan 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 bawaan
dan Izin perutean akses.
Langkah 8a: Menyiapkan variabel lingkungan
Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk pada penggunaan berulang
{i>string<i}. 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 menghilangkan
parameter ini, jaringan project default akan digunakan.
SUBNET_NAME: Nama subnet yang digunakan untuk konektivitas pribadi ke produsen.
Ukuran subnet bisa jadi 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 lain.
Jika subnet tidak ditentukan, endpoint jaringan dapat menjadi bagian dari subnetwork
region tempat grup endpoint jaringan dibuat.
$PROJECT_ID dapat berupa project Cloud yang sudah
yang terkait dengan organisasi Apigee Anda, atau project Cloud yang disertakan
di consumerAcceptlist saat
Instance runtime Apigee telah dibuat.
Untuk membuat load balancer HTTPS, 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 sertifikat lokal
. Jika Anda perlu membuat file tersebut, lihat langkah 1 cara menggunakan sertifikat SSL yang dikelola sendiri.
DEFAULT_BACKEND_SERVICE_NAME: nama layanan backend default load balancer.
Setelan default digunakan saat 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) ke
memungkinkan komunikasi antara Apigee dan VPC yang Anda kontrol. Anda harus melakukannya sebelum
Anda dapat mengirim permintaan dari klien eksternal ke instance runtime Apigee.
Izin yang diperlukan untuk langkah ini
Anda dapat memberikan peran bawaan 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 bawaan
dan Izin perutean 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. Contoh: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
NETWORK_NAME: (Opsional) Nama jaringan tempat NEG dibuat. Jika Anda menghilangkan
parameter ini, jaringan project default akan digunakan.
SUBNET_NAME: Nama subnet yang digunakan untuk konektivitas pribadi ke produsen.
Ukuran subnet bisa jadi 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 lain.
Jika subnet tidak ditentukan, endpoint jaringan dapat menjadi bagian dari subnetwork
region tempat grup endpoint jaringan dibuat.
$PROJECT_ID Project Cloud yang sudah terkait
dengan organisasi Apigee Anda, atau dengan project Cloud
di consumerAcceptlist saat
Instance runtime Apigee telah dibuat.
Jika Anda belum melakukannya,
membuat 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.
Setelan default digunakan saat 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 untuk digunakan di
Proxy target HTTPS. Anda dapat membuat resource sertifikat SSL menggunakan sertifikat
Sertifikat SSL atau sertifikat SSL yang dikelola sendiri. Menggunakan sertifikat yang dikelola Google
direkomendasikan karena Google Cloud mendapatkan, 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 sertifikat lokal
. Jika Anda perlu membuat file tersebut, lihat langkah 1 cara 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.
Setelan default digunakan saat 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 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 sertifikat lokal
. Jika Anda perlu membuat file tersebut, lihat langkah 1 cara menggunakan sertifikat SSL yang dikelola sendiri.
Pembuatan dan deployment proxy memerlukan sekumpulan izin minimum. Jika Anda
memiliki peran Admin Org Apigee, Anda dapat menyelesaikan tugas ini. Untuk mempelajari tentang
peran yang dapat dipekerjakan, lihat
Peran Apigee.
Unduh
contoh proxy dari GitHub. Target proxy adalah
httpbin.org, yang merupakan
layanan permintaan dan respons publik yang umum digunakan.
Upload paket proxy API ke runtime menggunakan Apigee
API apis:
Jika Anda mendapatkan pesan error seperti ini:
CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure, centang untuk
pastikan bahwa 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-09-02 UTC."],[],[]]