Tutorial ini akan memandu Anda melalui proses deployment sertifikat menggunakan sertifikat yang dikelola Google dengan otorisasi load balancer sebagai contohnya.
Untuk membandingkan jenis otorisasi domain yang didukung, lihat Otorisasi domain.
Load balancer berikut mendukung sertifikat yang dikelola Google dengan otorisasi load balancer:
- Load Balancer Aplikasi eksternal global
- Load Balancer Aplikasi Klasik
- Load Balancer Jaringan proxy eksternal global
Jika Anda ingin memigrasikan sertifikat yang ada ke Certificate Manager, ikuti langkah-langkah dalam Memigrasikan sertifikat ke Pengelola Sertifikat.
Tujuan
Tutorial ini menunjukkan kepada Anda cara menyelesaikan tugas-tugas berikut:
- Buat sertifikat yang dikelola Google yang diterbitkan oleh CA yang dipercaya secara publik dengan otorisasi load balancer menggunakan Pengelola Sertifikat.
- Deploy sertifikat ke load balancer yang didukung menggunakan proxy HTTPS target.
Untuk informasi selengkapnya tentang proses deployment sertifikat, lihat Ringkasan deployment.
Jika Anda mengikuti langkah-langkah dalam tutorial ini untuk men-deploy sertifikat untuk domain yang sudah menyalurkan traffic produksi, perlu diingat bahwa traffic untuk domain tersebut akan terganggu selama sertifikat disediakan dan diaktifkan pada load balancer yang terkait.
Sebelum memulai
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
Pastikan Anda memiliki peran berikut untuk menyelesaikan tugas dalam tutorial ini:
- Certificate Manager Owner: Diperlukan untuk membuat dan mengelola resource Certificate Manager.
- Admin Load Balancer Compute atau Admin Jaringan Compute: Diperlukan untuk membuat dan mengelola proxy target HTTPS.
- Administrator DNS: Diperlukan jika Anda ingin menggunakan Cloud DNS sebagai solusi DNS.
Untuk informasi selengkapnya, lihat referensi berikut:
- Peran dan izin untuk Certificate Manager
- Peran dan izin IAM Compute Engine untuk Compute Engine
- Kontrol akses dengan IAM untuk Cloud DNS
Membuat sertifikat yang dikelola Google dengan otorisasi load balancer
Untuk membuat sertifikat yang dikelola Google dengan otorisasi load balancer, selesaikan langkah-langkah di bagian ini.
Agar dapat menentukan beberapa nama domain untuk sertifikat, berikan daftar nama domain target yang dipisahkan koma untuk sertifikat tersebut.
Untuk mengetahui informasi selengkapnya, lihat Izin dan peran.
gcloud
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES"
Ganti kode berikut:
CERTIFICATE_NAME
: nama unik sertifikat.DOMAIN_NAMES
: daftar domain target yang dibatasi koma untuk sertifikat ini. Setiap nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.
Terraform
Gunakan resource
google_certificate_manager_certificate
.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
API
Buat sertifikat dengan membuat permintaan POST
ke
metode certificates.create
sebagai berikut:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME" { "managed": { "domains": ["DOMAIN_NAME"], } }
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud target.CERTIFICATE_NAME
: nama unik yang mendeskripsikan sertifikat ini.DOMAIN_NAME
: domain target untuk sertifikat ini. Nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.
Untuk ringkasan proses deployment sertifikat, lihat Ringkasan deployment.
Men-deploy sertifikat ke load balancer
Selesaikan langkah-langkah di bagian ini untuk men-deploy sertifikat yang dikelola Google yang Anda buat pada langkah sebelumnya ke load balancer.
Membuat peta sertifikat
Buat peta sertifikat yang merujuk ke entri peta sertifikat yang terkait dengan sertifikat Anda.
gcloud
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Ganti CERTIFICATE_MAP_NAME
dengan nama peta sertifikat target.
Terraform
Gunakan resource
google_certificate_manager_certificate_map
.
Membuat entri peta sertifikat
Buat entri peta sertifikat dan kaitkan dengan sertifikat Anda serta peta sertifikat Anda.
gcloud
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
Ganti kode berikut:
CERTIFICATE_MAP_ENTRY_NAME
: nama unik entri peta sertifikatCERTIFICATE_MAP_NAME
: nama peta sertifikat tempat entri peta sertifikat ini dilampirkanCERTIFICATE_NAME
: nama sertifikat yang ingin Anda kaitkan dengan entri peta sertifikat iniHOSTNAME
: nama host yang ingin Anda kaitkan dengan entri peta sertifikat ini
Terraform
Gunakan resource
google_certificate_manager_certificate_map_entry
.
Memastikan entri peta sertifikat aktif
Gunakan perintah berikut untuk memverifikasi bahwa entri peta sertifikat aktif sebelum melampirkan peta sertifikat yang sesuai ke proxy target:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ganti kode berikut:
CERTIFICATE_MAP_ENTRY_NAME
: nama entri peta sertifikat targetCERTIFICATE_MAP_NAME
: nama peta sertifikat tempat entri peta sertifikat ini dilampirkan
Perintah akan menampilkan output yang mirip dengan berikut ini:
createTime: '2021-09-06T10:01:56.229472109Z' name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Lampirkan peta sertifikat ke proxy target
Lampirkan peta sertifikat yang dikonfigurasi ke proxy target yang diinginkan.
Konsol
- Di konsol Google Cloud, buka halaman Target proxy.
Perhatikan nama proxy target.
Lampirkan peta sertifikat ke proxy target:
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME"
Ganti kode berikut:
* `PROXY_NAME`: the name of the target proxy
* `CERTIFICATE_MAP_NAME`: the name of the certificate
map referencing your certificate map entry and its associated
certificate
Terraform
Jika sudah ada sertifikat TLS (SSL) yang dilampirkan langsung ke proxy, proxy akan memberikan preferensi ke sertifikat yang dirujuk oleh peta sertifikat dibandingkan sertifikat TLS (SSL) yang dilampirkan secara langsung.
Menunggu hingga sertifikat diaktifkan
Setelah melampirkan sertifikat ke proxy target, diperlukan waktu hingga
beberapa jam agar sertifikat diterbitkan dan statusnya berubah menjadi
ACTIVE
. Setelah statusnya adalah ACTIVE
, perlu waktu hingga 30 menit agar load balancer mulai menggunakan sertifikat.
Gunakan perintah berikut untuk memeriksa status sertifikat:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Ganti CERTIFICATE_NAME
dengan nama target sertifikat yang dikelola Google.
Perintah akan menampilkan output yang mirip dengan berikut ini:
certificatePem: myPEM createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: authorizationAttemptInfo: - domain: myorg.example.com state: AUTHORIZED domains: - myorg.example.com state: ACTIVE name: projects/myProject/locations/global/certificates/myCert scope: myScope sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Jika status sertifikat tidak berubah menjadi ACTIVE
setelah beberapa jam, periksa hal berikut:
- Peta sertifikat yang merujuk ke sertifikat ini telah dilampirkan ke proxy target yang benar seperti yang dijelaskan dalam Melampirkan peta sertifikat ke proxy.
- Proxy target telah ditambahkan ke load balancer yang benar seperti yang dijelaskan
dalam Memverifikasi pengaitan
proxy target.
- Konfigurasi DNS domain target mengarah ke alamat IP load balancer target seperti yang dijelaskan dalam Memperbarui data DNS A dan AAAA agar mengarah ke alamat IP load balancer.
Untuk langkah pemecahan masalah lainnya, lihat Memecahkan masalah sertifikat SSL.
Pembersihan
Untuk mengembalikan perubahan yang Anda buat dalam tutorial ini, selesaikan langkah-langkah berikut:
Lepaskan peta sertifikat dari proxy.
Sebelum Anda melepaskan peta sertifikat, perhatikan hal-hal berikut:
- Jika ada sertifikat TLS (SSL) yang dilampirkan langsung ke proxy, melepaskan peta sertifikat akan menyebabkan proxy melanjutkan penggunaan sertifikat TLS (SSL) yang dilampirkan secara langsung tersebut.
- Jika tidak ada sertifikat TLS (SSL) yang dilampirkan langsung ke proxy, peta sertifikat tidak dapat dilepas dari proxy. Anda harus terlebih dahulu melampirkan setidaknya satu sertifikat TLS (SSL) langsung ke proxy sebelum dapat melepaskan peta sertifikat.
Untuk melepaskan peta sertifikat, jalankan perintah berikut:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Hapus entri peta sertifikat dari peta sertifikat:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ganti kode berikut:
CERTIFICATE_MAP_ENTRY_NAME
: nama entri peta sertifikat targetCERTIFICATE_MAP_NAME
: nama peta sertifikat target
Hapus peta sertifikat:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Ganti
CERTIFICATE_MAP_NAME
dengan nama peta sertifikat target.Hapus sertifikat yang dikelola Google:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Ganti
CERTIFICATE_NAME
dengan nama sertifikat target.