Topik ini hanya dimaksudkan sebagai contoh. Dokumen ini menjelaskan cara mendapatkan sertifikat TLS dari certificate authority (CA) Let's Encrypt. Langkah-langkah ini disediakan terutama sebagai contoh yang harus diikuti jika Anda tidak memiliki cara lain yang siap untuk mendapatkan pasangan sertifikat/kunci yang diizinkan oleh CA. Contoh ini menunjukkan cara membuat sertifikat menggunakan CA Let's Encrypt, klien Certbot, dan Cloud DNS Google Cloud Platform.
Tempat Anda dapat menggunakan sertifikat ini
Anda harus menyediakan sertifikat TLS untuk dua gateway masuk Istio yang diekspos di luar cluster:
| Gateway | Persyaratan TLS |
|---|---|
| Gateway traffic masuk runtime | Anda dapat menggunakan pasangan kunci/sertifikat yang ditandatangani sendiri atau sertifikat TLS yang sah. |
| Gateway ingress MART (opsional jika tidak menggunakan Apigee Connect) | Memerlukan pasangan kunci/sertifikat TLS yang sah atau secret Kubernetes. |
Persyaratan
Anda memerlukan nama domain yang diperoleh melalui registrar nama domain. Anda dapat mendaftarkan nama domain melalui Google Domains atau registrar domain lain pilihan Anda.
Mengonfigurasi Cloud DNS
Untuk mendapatkan sertifikat TLS yang sah, Anda harus memiliki nama domain yang memenuhi syarat. Langkah-langkah berikut menjelaskan cara menggunakan Google Cloud DNS untuk mendapatkan nama domain dan mengelola server domain Anda.- Buka konsol Google Cloud dan login ke akun Anda.
- Pilih project tempat Apigee Hybrid diinstal.
- Jika Anda belum melakukannya, aktifkan Cloud DNS API. Lihat Mengaktifkan API.
- Buat alamat IP statis:
- Jika Anda menggunakan GKE, ikuti petunjuk di
Mereservasi alamat IP eksternal statis untuk membuat alamat IP statis yang dapat digunakan oleh proses eksternal
untuk berkomunikasi dengan ingress runtime hybrid. Anda dapat memberi nama apa pun pada alamat
sesuai keinginan, misalnya:
apigee-hybrid-runtime. Setelah selesai, Anda akan menggunakan nomor IP dalam konfigurasi cluster pada langkah berikutnya. Contoh:34.66.75.196 - Jika Anda menggunakan Anthos GKE, ikuti petunjuk di dokumentasi Anthos GKE untuk membuat alamat IP statis.
- Jika Anda menggunakan GKE, ikuti petunjuk di
Mereservasi alamat IP eksternal statis untuk membuat alamat IP statis yang dapat digunakan oleh proses eksternal
untuk berkomunikasi dengan ingress runtime hybrid. Anda dapat memberi nama apa pun pada alamat
sesuai keinginan, misalnya:
- Dapatkan IP Eksternal yang baru saja Anda cadangkan.
- Buat set data untuk endpoint ingress Istio runtime. Ini adalah alamat untuk melakukan panggilan API
ke gateway hybrid. Masukkan IP Eksternal yang Anda dapatkan di langkah
sebelumnya dan tambahkan awalan ke nama domain, seperti
example-endpoint. Untuk mengetahui petunjuknya, lihat Membuat rekaman baru.- Buat zona publik terkelola. Untuk mengetahui petunjuknya, lihat Membuat zona publik terkelola.
- Buat set rekaman baru dengan:
- DNS Name: Nama endpoint yang akan berkomunikasi dengan panggilan API eksternal, seperti
api-servicesatauexample-endpoint - Jenis Data Resource: A
- TTL dan TTL Unit: Terima nilai default
- IP Address: IP statis yang Anda buat.
- DNS Name: Nama endpoint yang akan berkomunikasi dengan panggilan API eksternal, seperti
- Tampilan Detail zona akan mencantumkan empat server DNS sebagai data NS untuk zona
baru Anda. Salin data data DNS, seperti yang ditunjukkan dalam contoh berikut:

- Kembali ke halaman domain Anda di registrar (misalnya, Google Domains).
- Pilih domain Anda.
- Pilih DNS.
- Di bagian Name Servers, klik Edit.
Masukkan server nama domain yang Anda salin dari halaman Network Services Cloud DNS. Contoh:

Sekarang, Google Cloud DNS akan mengelola data DNS untuk domain Anda.
Menginstal Certbot di VM
Setelah Cloud DNS disiapkan untuk mengelola server domain, Anda akan menginstal klien Certbot dengan plugin dns_google di VM Cloud. Klien ini memungkinkan Anda mendapatkan sertifikat resmi untuk domain Anda dari endpoint Let's Encrypt.
- Buka konsol Google Cloud dan login dengan akun yang Anda buat di Langkah 1: Buat akun Google Cloud.
- Pilih project yang Anda buat di Langkah 2: Buat project Google Cloud.
- Pilih IAM & admin > Service accounts.
Tampilan Akun layanan menampilkan daftar akun layanan project.
- Untuk membuat akun layanan baru, klik +Buat Akun Layanan di bagian atas
tampilan.
Tampilan Service account details akan ditampilkan.
- Di kolom Service account name, masukkan nama akun layanan.

Anda dapat menambahkan deskripsi di kolom Deskripsi akun layanan secara opsional. Deskripsi berguna untuk mengingatkan Anda tentang tujuan penggunaan akun layanan tertentu.
- Klik Buat.
Google Cloud akan membuat akun layanan baru dan menampilkan tampilan Izin akun layanan. Gunakan tampilan ini untuk menetapkan peran ke akun layanan baru Anda.
- Klik menu drop-down Select a role.
- Pilih peran Pemilik Project.
- Klik Lanjutkan.
- Klik Done.
- Di Google Cloud konsol, pilih Compute Engine > VM Instances.
- Buat instance VM bernama certmanager.
- Di bagian Boot Disk, pilih CentOS7 dan 20 GB untuk SSD persistent drive.
- Tetapkan Akun Layanan ke akun yang Anda buat di atas.
- Instal Certbot dan plugin dns_google
di komputer, lalu jalankan klien Certbot:
sudo su -yum -y install yum-utilsyum install certbot -yyum install certbot-dns-google -ycertbot certonly --dns-google -d *.your_domain_name,*.your_domain_name --server https://acme-v02.api.letsencrypt.org/directoryContoh:
sudo su -yum -y install yum-utilsyum install certbot -yyum install certbot-dns-google -ycertbot certonly --dns-google -d *.apigee-hybrid-docs.net,*.apigee-hybrid-docs.net --server https://acme-v02.api.letsencrypt.org/directory - Anda kini dapat menemukan file sertifikat dan kunci pribadi yang sah di direktori ini:
cd /etc/letsencrypt/live/your_domain_name/Contoh:
cd /etc/letsencrypt/live/apigee-hybrid-docs.netlscert.pem chain.pem fullchain.pem privkey.pem README - Salin file
fullchain.pemdanprivkey.pemke komputer lokal Anda. - Opsional: Buat secret Kubernetes dengan pasangan kunci/sertifikat. Lihat petunjuk di Opsi 2: Secret Kubernetes di Mengonfigurasi TLS dan mTLS di ingress Istio.
- Perbarui file penggantian untuk mengarah ke sertifikat dan kunci pribadi.
Contoh:
... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json virtualhosts: - name: my-env-group sslCertPath: "$HOME/hybrid/apigee-hybrid-setup/tls/fullchain.pem" sslKeyPath: "$HOME/hybrid/apigee-hybrid-setup/tls/privkey.pem" mart: # Assuming you are not using Apigee Connect nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime sslCertPath: "$HOME/hybrid/apigee-hybrid-setup/tls/fullchain.pem" sslKeyPath: "$HOME/hybrid/apigee-hybrid-setup/tls/privkey.pem" replicaCountMin: 1 replicaCountMax: 1
Atau jika menggunakan secret Kubernetes:
... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json virtualhosts: - name: my-env-group tlsMode: SIMPLE # Note: SIMPLE is the default, MUTUAL is also an available value. sslSecret: myorg-test-policy-secret" mart: # Assuming you are not using Apigee Connect nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime sslSecret: myorg-test-policy-secret" replicaCountMin: 1 replicaCountMax: 1 ...
- Terapkan perubahan:
Jika Anda mengubah konfigurasi
mart, terapkan perubahan:apigeectl apply -f your_overrides_file --all-envs
Jika Anda mengubah konfigurasi
envs, terapkan perubahan:apigeectl apply -f your_overrides_file --all-envs
Menguji konfigurasi
Men-deploy dan menguji proxy. Lihat Ringkasan Membangun proxy API pertama Anda.