Tutorial ini menunjukkan cara menggunakan Certificate Manager untuk men-deploy sertifikat yang dikelola Google global dengan otorisasi load balancer.
Otorisasi load balancer adalah metode paling efisien untuk mendapatkan sertifikat yang dikelola Google. Cara ini menjaga konfigurasi DNS Anda tetap bersih dan menyediakan sertifikat TLS setelah konfigurasi Anda selesai.
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
Membuat sertifikat yang dikelola Google dengan otorisasi load balancer
Untuk membuat sertifikat yang dikelola Google dengan otorisasi load balancer, lakukan langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Certificate Manager.
Di tab Sertifikat, klik Tambahkan Sertifikat.
Di kolom Nama sertifikat, masukkan nama unik untuk sertifikat.
Opsional: Di kolom Deskripsi, masukkan deskripsi untuk sertifikat. Deskripsi memungkinkan Anda mengidentifikasi sertifikat.
Untuk Location, pilih Global.
Untuk Cakupan, pilih Default.
Untuk Certificate type, pilih Create Google-managed certificate.
Untuk Certificate Authority type, pilih Public.
Di kolom Nama Domain, tentukan daftar nama domain yang dibatasi koma dari sertifikat. Setiap nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, seperti
myorg.example.com.Untuk Authorization type, pilih Load balancer authorization.
Di kolom Labels, tentukan label yang akan dikaitkan dengan sertifikat. Untuk menambahkan label, klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.
Klik Buat.
Sertifikat baru akan muncul dalam daftar sertifikat.
gcloud
Untuk membuat sertifikat global yang dikelola Google dengan otorisasi load balancer, gunakan perintah certificate-manager certificates create:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAMES"
Ganti kode berikut:
CERTIFICATE_NAME: nama sertifikat.DOMAIN_NAMES: daftar domain target yang dipisahkan koma. 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 Google Cloud project.CERTIFICATE_NAME: nama sertifikat.DOMAIN_NAMES: daftar domain target yang dipisahkan koma. Setiap nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com.
Men-deploy sertifikat ke load balancer
Untuk men-deploy sertifikat global yang dikelola Google, gunakan peta sertifikat.
Buat peta sertifikat
Buat peta sertifikat yang merujuk pada entri peta sertifikat yang terkait dengan sertifikat Anda:
gcloud
Untuk membuat peta sertifikat, gunakan perintah gcloud certificate-manager maps create:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Ganti CERTIFICATE_MAP_NAME dengan nama peta sertifikat
target.
Terraform
Untuk membuat peta sertifikat, Anda dapat menggunakan resource
google_certificate_manager_certificate_map.
Membuat entri peta sertifikat
Buat entri peta sertifikat dan kaitkan dengan sertifikat dan peta sertifikat Anda:
gcloud
Untuk membuat entri peta sertifikat, gunakan perintah gcloud certificate-manager maps entries create:
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 entri peta sertifikat.CERTIFICATE_MAP_NAME: nama peta sertifikat tempat entri peta sertifikat dilampirkan.CERTIFICATE_NAME: nama sertifikat yang ingin Anda kaitkan dengan entri peta sertifikat.HOSTNAME: nama host yang ingin Anda kaitkan dengan entri peta sertifikat.Jika Anda ingin membuat sertifikat yang mencakup domain karakter pengganti dan domain root, tentukan nama host dengan root dan karakter pengganti, seperti
example.comdan*.example.com. Selain itu, Anda harus menentukan dua entri peta sertifikat - satu untukexample.comdan yang lainnya untuk*.example.com.
Terraform
Untuk membuat entri peta sertifikat dengan domain root, gunakan
resource google_certificate_manager_certificate_map_entry.
Untuk membuat entri peta sertifikat dengan domain wildcard, gunakan
resource google_certificate_manager_certificate_map_entry.
Pastikan entri peta sertifikat aktif
Pastikan entri peta sertifikat aktif sebelum melampirkan peta sertifikat yang sesuai ke proxy target.
Untuk memverifikasi entri peta sertifikat, gunakan perintah gcloud certificate-manager maps entries describe:
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.CERTIFICATE_NAME: nama sertifikat yang ingin Anda kaitkan dengan entri peta sertifikat.
Outputnya mirip dengan hal berikut ini:
certificates: createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com 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
Anda dapat melampirkan peta sertifikat ke proxy target baru atau proxy target yang ada.
gcloud
Untuk melampirkan peta sertifikat ke proxy target baru, gunakan perintah gcloud compute target-https-proxies create:
gcloud compute target-https-proxies create PROXY_NAME \
--certificate-map="CERTIFICATE_MAP_NAME" \
--url-map="URL_MAP" \
--global
Ganti kode berikut:
PROXY_NAME: nama proxy target.CERTIFICATE_MAP_NAME: nama peta sertifikat yang merujuk pada entri peta sertifikat dan sertifikat terkait.URL_MAP: nama peta URL
Untuk melampirkan peta sertifikat ke proxy HTTPS target yang ada, gunakan perintah gcloud compute target-https-proxies update. Jika Anda tidak mengetahui nama
proxy target yang ada, buka halaman Target proxies dan catat nama
proxy target.
gcloud compute target-https-proxies update PROXY_NAME \
--certificate-map="CERTIFICATE_MAP_NAME" \
--global
Setelah membuat atau memperbarui proxy target, jalankan perintah berikut untuk memverifikasinya:
gcloud compute target-https-proxies list
Terraform
Untuk melampirkan peta sertifikat ke proxy target, Anda dapat menggunakan
resource google_compute_target_https_proxy.
Saat mengonfigurasi proxy target, jika Anda melampirkan sertifikat TLS (SSL) secara langsung dan juga melalui peta sertifikat, proxy akan menggunakan sertifikat yang dirujuk oleh peta sertifikat dan mengabaikan sertifikat TLS (SSL) yang dilampirkan secara langsung.
Verifikasi status sertifikat
Sebelum men-deploy sertifikat ke load balancer, pastikan sertifikat tersebut aktif. Mungkin diperlukan waktu beberapa menit agar status sertifikat berubah menjadi ACTIVE.
Konsol
Di konsol Google Cloud , buka halaman Certificate Manager.
Di tab Sertifikat, periksa kolom Status untuk sertifikat.
gcloud
Untuk memverifikasi status sertifikat, jalankan perintah berikut:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Ganti CERTIFICATE_NAME dengan nama sertifikat yang dikelola Google target.
Outputnya mirip dengan hal berikut ini:
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
pemCertificate: |
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
sanDnsnames:
- myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'
Jika status sertifikat bukan ACTIVE setelah beberapa jam, periksa hal berikut:
- Peta sertifikat yang merujuk sertifikat dilampirkan ke proxy target yang benar.
- Proxy target dilampirkan ke load balancer yang benar.
- Konfigurasi DNS domain target mengarah ke alamat IP load balancer target.
Untuk mengetahui langkah-langkah pemecahan masalah lainnya, lihat Memecahkan Masalah Certificate Manager.
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus resource tersebut.
Hapus load balancer dan sumber dayanya.
Untuk mengetahui informasi selengkapnya, lihat Membersihkan penyiapan load balancing.
Hapus atau lepaskan peta sertifikat dari proxy.
Untuk menghapus peta sertifikat, jalankan perintah berikut:
gcloud compute target-https-proxies delete PROXY_NAME
Jika Anda ingin mempertahankan proxy HTTPS target, lepaskan peta sertifikat dari proxy.
- Jika ada sertifikat TLS (SSL) yang dilampirkan langsung ke proxy, maka melepaskan peta sertifikat akan menyebabkan proxy melanjutkan penggunaan sertifikat TLS (SSL) yang dilampirkan langsung tersebut.
- Jika tidak ada sertifikat TLS (SSL) yang dilampirkan langsung ke proxy, peta sertifikat tidak dapat dilepas dari proxy. Anda harus melampirkan setidaknya satu sertifikat TLS (SSL) langsung ke proxy terlebih dahulu sebelum dapat melepaskan peta sertifikat.
Untuk melepaskan peta sertifikat, jalankan perintah berikut:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-mapGanti
PROXY_NAMEdengan nama proxy target.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.CERTIFICATE_MAP_NAME: nama peta sertifikat.
Hapus peta sertifikat:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Ganti
CERTIFICATE_MAP_NAMEdengan nama peta sertifikat.Hapus sertifikat yang dikelola Google:
Konsol
Di konsol Google Cloud , buka halaman Certificate Manager.
Di tab Certificates, centang kotak sertifikat.
Klik Hapus.
Pada dialog yang muncul, klik Hapus untuk mengonfirmasi.
gcloud
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Ganti
CERTIFICATE_NAMEdengan nama sertifikat target.