Tutorial ini menunjukkan cara menggunakan Pengelola Sertifikat untuk men-deploy sertifikat yang dikelola Google global dengan Certificate Authority Service.
Load balancer global berikut mendukung sertifikat yang dikelola Google dengan Certificate Authority Service:
- Load Balancer Aplikasi eksternal global
- Load Balancer Aplikasi Klasik
- Load Balancer Jaringan proxy eksternal global
Jika Anda ingin men-deploy ke load balancer lintas region atau load balancer regional, lihat artikel berikut:
Tujuan
Tutorial ini menunjukkan kepada Anda cara menyelesaikan tugas-tugas berikut:
- Buat sertifikat yang dikelola Google dengan Layanan CA menggunakan Pengelola Sertifikat.
- Deploy sertifikat ke load balancer yang didukung dengan menggunakan proxy HTTPS target.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Aktifkan CA Service API.
- Buat CA pool. Anda harus membuat dan mengaktifkan setidaknya satu CA di kumpulan CA ini.
- Sertifikat yang Anda buat dengan Certificate Authority Service tidak dipercaya secara publik. Untuk menerbitkan sertifikat yang dipercaya publik, buat sertifikat dengan otorisasi DNS atau otorisasi load balancer.
Jika kebijakan penerbitan sertifikat berlaku di kumpulan CA target, penyediaan sertifikat mungkin gagal karena salah satu alasan berikut:
- Kebijakan penerbitan sertifikat telah memblokir sertifikat yang diminta. Dalam hal ini, Anda tidak ditagih karena sertifikat belum dikeluarkan.
- Kebijakan telah menerapkan perubahan pada sertifikat yang tidak didukung oleh Certificate Manager. Dalam hal ini, Anda ditagih karena sertifikat telah diterbitkan, meskipun tidak sepenuhnya kompatibel dengan Certificate Manager.
Sertifikat TLS yang dikelola Google secara global dapat dikonfigurasi agar diterbitkan dari kumpulan CA di wilayah mana pun.
Pemilik Certificate Manager (
roles/certificatemanager.owner
)Diperlukan untuk membuat dan mengelola resource Certificate Manager.
Compute Load Balancer Admin (
roles/compute.loadBalancerAdmin
) atau Compute Network Admin (roles/compute.networkAdmin
)Diperlukan untuk membuat dan mengelola proxy target HTTPS.
CA Service Admin (
roles/privateca.admin
)Diperlukan untuk melakukan tindakan dalam CA Service.
- Peran dan izin untuk Certificate Manager.
- Peran dan izin IAM Compute Engine untuk Compute Engine.
- Kontrol akses dengan IAM untuk CA Service.
Untuk membuat Load Balancer Aplikasi eksternal global, lihat Menyiapkan Load Balancer Aplikasi eksternal global dengan backend grup instance VM.
Untuk membuat Load Balancer Aplikasi klasik, lihat Menyiapkan Load Balancer Aplikasi klasik dengan backend grup instance terkelola.
Untuk membuat Load Balancer Jaringan proxy eksternal Global (proxy SSL), lihat Menyiapkan Load Balancer Jaringan proxy eksternal global (proxy SSL) dengan backend grup instance VM.
Untuk membuat Load Balancer Jaringan proxy Klasik (proxy SSL), lihat Menyiapkan Load Balancer Jaringan proxy klasik (proxy SSL) dengan backend grup instance VM.
Anda perlu mencatat hal berikut sebelum mengikuti langkah-langkah tutorial ini:
Peran yang diperlukan
Pastikan Anda memiliki peran berikut untuk menyelesaikan tugas dalam tutorial ini:
Untuk informasi selengkapnya, lihat referensi berikut:
Membuat load balancer
Tutorial ini mengasumsikan bahwa Anda telah membuat dan mengonfigurasi backend, health check, layanan backend, dan peta URL load balancer. Jika Anda telah membuat Load Balancer Aplikasi eksternal, catat nama peta URL karena Anda akan memerlukannya nanti dalam tutorial ini.
Jika Anda belum membuat load balancer, lihat halaman berikut untuk membuatnya:
Mengonfigurasi integrasi Layanan CA dengan Certificate Manager
Untuk mengintegrasikan Layanan CA dengan Certificate Manager, ikuti langkah-langkah berikut:
Di project target Google Cloud , buat akun layanan Certificate Manager:
gcloud beta services identity create --service=certificatemanager.googleapis.com \ --project=PROJECT_ID
Ganti
PROJECT_ID
dengan ID project Google Cloud target.Perintah ini menampilkan nama identitas layanan yang dibuat. Lihat contoh berikut:
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
Beri akun layanan Certificate Manager peran CA Service Certificate Requester (
roles/privateca.certificateRequester
) dalam kumpulan CA target:gcloud privateca pools add-iam-policy-binding CA_POOL \ --location LOCATION \ --member "serviceAccount:SERVICE_ACCOUNT" \ --role roles/privateca.certificateRequester
Ganti kode berikut:
CA_POOL
: ID kumpulan CA target.LOCATION
: target Google Cloud lokasi.SERVICE_ACCOUNT
: nama lengkap akun layanan yang Anda buat di langkah 1.
Buat resource konfigurasi penerbitan sertifikat untuk kumpulan CA Anda:
Konsol
Di konsol Google Cloud , buka tab Issuance configs di halaman Certificate Manager.
Klik Buat. Halaman Create a Certificate Issuance Config akan muncul.
Di kolom Name, masukkan nama unik untuk konfigurasi penerbitan sertifikat.
Opsional: Di kolom Deskripsi, masukkan deskripsi untuk konfigurasi penerbitan.
Untuk Location, pilih Global.
Opsional: Di kolom Masa Aktif, tentukan masa aktif sertifikat yang diterbitkan dalam hari. Nilai harus antara 21 hingga 30 hari (inklusif).
Opsional: Di Persentase periode rotasi, tentukan persentase masa berlaku sertifikat saat proses perpanjangannya dimulai. Untuk mengetahui rentang nilai yang valid, lihat Persentase periode aktif dan rotasi.
Opsional: Dari daftar Algoritma kunci, pilih algoritma kunci yang akan digunakan saat membuat kunci pribadi.
Dari daftar CA pool, pilih nama CA pool yang akan ditetapkan ke resource konfigurasi penerbitan sertifikat ini.
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.
gcloud
gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL
Ganti kode berikut:
ISSUANCE_CONFIG_NAME
: nama resource konfigurasi penerbitan sertifikat.CA_POOL
: jalur dan nama resource lengkap kumpulan CA yang ingin Anda tetapkan ke resource konfigurasi penerbitan sertifikat ini.
Untuk mengetahui informasi selengkapnya tentang resource konfigurasi penerbitan sertifikat, lihat Mengelola resource konfigurasi penerbitan sertifikat.
Membuat sertifikat yang dikelola Google yang diterbitkan oleh instance CA Service Anda
Untuk membuat sertifikat yang dikelola Google yang diterbitkan oleh instance CA Service Anda, 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 Jenis Otoritas Sertifikat, pilih Pribadi.
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 Pilih konfigurasi penerbitan sertifikat, pilih nama resource konfigurasi penerbitan sertifikat yang mereferensikan kumpulan CA target.
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 Certificate Authority Service,
gunakan perintah certificate-manager certificates create
dengan flag issuance-config
:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config=ISSUANCE_CONFIG_NAME
Ganti kode berikut:
CERTIFICATE_NAME
: nama sertifikat.DOMAIN_NAME
: nama domain target. Nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.ISSUANCE_CONFIG_NAME
: nama resource konfigurasi penerbitan sertifikat yang mereferensikan kumpulan CA target.
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"], "issuanceConfig": "ISSUANCE_CONFIG_NAME", } }
Ganti kode berikut:
PROJECT_ID
: ID Google Cloud project.CERTIFICATE_NAME
: nama sertifikat.DOMAIN_NAME
: nama domain target. Nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.ISSUANCE_CONFIG_NAME
: nama resource konfigurasi penerbitan sertifikat yang mereferensikan kumpulan CA target.
Memverifikasi 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: domains: - myorg.example.com issuanceConfig: projects/myproject/locations/global/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/global/certificates/mycertificate pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Untuk mengetahui langkah-langkah pemecahan masalah lainnya, lihat Memecahkan Masalah Certificate Manager.
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.com
dan*.example.com
. Selain itu, Anda harus menentukan dua entri peta sertifikat - satu untukexample.com
dan 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.
Memecahkan masalah sertifikat yang diterbitkan oleh CA Service
Untuk mengetahui langkah-langkah pemecahan masalah, lihat Masalah terkait sertifikat yang dikeluarkan oleh instance Layanan CA.
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.
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. Sebelum Anda melepaskan peta sertifikat, perhatikan 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 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-map
Ganti
PROXY_NAME
dengan 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_NAME
dengan 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_NAME
dengan nama sertifikat target.Hapus resource konfigurasi penerbitan sertifikat:
Konsol
Di konsol Google Cloud , buka tab Issuance configs di halaman Certificate Manager.
Pilih kotak centang resource konfigurasi penerbitan yang ingin Anda hapus.
Klik Hapus.
Pada dialog yang muncul, klik Hapus untuk mengonfirmasi.
gcloud
gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME
Ganti
ISSUANCE_CONFIG_NAME
dengan nama resource konfigurasi penerbitan sertifikat target.Hapus kumpulan CA.
Untuk menghapus kumpulan CA, atau menonaktifkan CA terakhir yang diaktifkan dalam kumpulan CA yang dirujuk oleh resource konfigurasi penerbitan sertifikat, hapus semua resource konfigurasi penerbitan sertifikat yang merujuk ke kumpulan CA. Untuk informasi selengkapnya, lihat Menghapus kumpulan CA.