Tutorial ini menunjukkan cara menggunakan Pengelola Sertifikat untuk men-deploy sertifikat yang dikelola Google regional dengan Layanan Certificate Authority ke Load Balancer Aplikasi eksternal regional atau ke Load Balancer Aplikasi internal regional.
Jika Anda ingin men-deploy ke load balancer eksternal global atau load balancer lintas-region, lihat hal 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 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.
-
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.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Aktifkan CA Service API.
- Buat kumpulan CA. Anda harus membuat dan mengaktifkan minimal satu CA di kumpulan CA ini.
Anda perlu mencatat hal-hal berikut sebelum mengikuti langkah-langkah tutorial ini:
- Sertifikat yang Anda buat dengan Certificate Authority Service tidak dipercaya secara publik. Untuk mengeluarkan sertifikat tepercaya secara 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 diterbitkan.
- Kebijakan telah menerapkan perubahan pada sertifikat yang tidak didukung oleh Pengelola Sertifikat. Dalam hal ini, Anda ditagih karena sertifikat telah diterbitkan, meskipun tidak sepenuhnya kompatibel dengan Pengelola Sertifikat.
Sertifikat TLS yang dikelola Google yang diterbitkan dari kumpulan CA regional bersifat global dan dapat digunakan di wilayah mana pun.
Peran yang diperlukan
Pastikan Anda memiliki peran berikut untuk menyelesaikan tugas dalam tutorial ini:
- Pemilik Pengelola Sertifikat (
roles/certificatemanager.owner
): Wajib untuk membuat dan mengelola resource Pengelola Sertifikat. - 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 Layanan CA.
Untuk informasi selengkapnya, lihat referensi berikut:
- Peran dan izin untuk Pengelola Sertifikat.
- Peran dan izin IAM Compute Engine untuk Compute Engine.
- Kontrol akses dengan IAM untuk CA Service.
Membuat load balancer
Tutorial ini mengasumsikan bahwa Anda telah membuat dan mengonfigurasi backend, health check, layanan backend, dan peta URL load balancer. Catat nama peta URL karena Anda akan memerlukannya nanti dalam tutorial ini.
Untuk membuat Load Balancer Aplikasi eksternal regional, lihat Menyiapkan Load Balancer Aplikasi eksternal regional dengan backend grup instance VM.
Untuk membuat Load Balancer Aplikasi internal regional, lihat Menyiapkan Load Balancer Aplikasi internal regional dengan backend grup instance VM.
Mengonfigurasi integrasi Layanan CA dengan Pengelola Sertifikat
Untuk mengintegrasikan Layanan CA dengan Pengelola Sertifikat, ikuti langkah-langkah berikut:
Di project Google Cloud target, 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
Berikan 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
: lokasi Google Cloud target.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 halaman Certificate Manager.
Di tab Issuance Configs, klik Create.
Di kolom Name, masukkan nama unik untuk konfigurasi pemberian sertifikat.
Opsional: Di kolom Description, masukkan deskripsi untuk konfigurasi penerbitan.
Untuk Lokasi, pilih Regional.
Untuk Region, pilih region yang sama dengan sertifikat dan kumpulan CA Anda.
Opsional: Di kolom Lifetime, tentukan masa berlaku sertifikat yang dikeluarkan 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 menemukan rentang nilai yang valid, lihat Persentase periode Umur 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 Create.
gcloud
gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ --location=LOCATION
Ganti kode berikut:
ISSUANCE_CONFIG_NAME
: nama resource konfigurasi pemberian sertifikat.CA_POOL
: jalur resource lengkap dan nama kumpulan CA yang ingin Anda tetapkan ke resource konfigurasi pemberian sertifikat ini.LOCATION
: lokasi Google Cloud target. Anda harus menentukan lokasi yang sama dengan kumpulan CA dan sertifikat.
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 Layanan CA Anda, lakukan langkah-langkah berikut:
Konsol
Di konsol Google Cloud, buka halaman Certificate Manager.
Di tab Certificates, klik Add Certificate.
Di kolom Nama sertifikat, masukkan nama unik untuk sertifikat.
Opsional: Di kolom Deskripsi, masukkan deskripsi untuk sertifikat. Deskripsi memungkinkan Anda mengidentifikasi sertifikat.
Untuk Lokasi, pilih Regional.
Dari daftar Region, pilih region Anda.
Untuk Certificate type, pilih Create Google-managed certificate.
Untuk Jenis Certificate Authority, pilih Pribadi.
Di kolom Domain Names, tentukan daftar nama domain sertifikat yang dipisahkan koma. Setiap nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, seperti
myorg.example.com
.Untuk Select a certificate issuance config, 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 Create.
Sertifikat baru akan muncul dalam daftar sertifikat.
gcloud
Untuk membuat sertifikat regional 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" \ --location="LOCATION"
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.LOCATION
: lokasi Google Cloud target. Anda harus menentukan lokasi yang sama dengan kumpulan CA, resource konfigurasi penerbitan sertifikat, dan sertifikat terkelola.
API
Buat sertifikat dengan membuat permintaan POST
ke metode certificates.create
sebagai berikut:
POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME" { name: "/projects/example-project/locations/LOCATION/certificates/my-cert", "managed": { "domains": ["DOMAIN_NAME"], "issuanceConfig": "ISSUANCE_CONFIG_NAME", }, }
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud.LOCATION
: lokasi Google Cloud target. Anda harus menentukan lokasi yang sama dengan kumpulan CA, resource konfigurasi penerbitan sertifikat, dan sertifikat terkelola.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. 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 \ --location=LOCATION
Ganti kode berikut:
CERTIFICATE_NAME
: nama sertifikat.LOCATION
: lokasi Google Cloud target tempat Anda membuat sertifikat yang dikelola Google.
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/LOCATION/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/LOCATION/certificates/mycertificate pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Untuk mengetahui langkah pemecahan masalah lainnya, lihat Memecahkan Masalah Pengelola Sertifikat.
Men-deploy sertifikat regional yang dikelola Google ke load balancer
Untuk men-deploy sertifikat yang dikelola Google secara regional, lampirkan langsung ke proxy target.
Melampirkan sertifikat langsung ke proxy target
Anda dapat melampirkan sertifikat ke proxy target baru atau proxy target yang ada.
Untuk melampirkan sertifikat ke proxy target baru, gunakan perintah
gcloud compute
target-https-proxies create
:
gcloud compute target-https-proxies create PROXY_NAME \ --certificate-manager-certificates=CERTIFICATE_NAME \ --url-map=URL_MAP \ --region=LOCATION
Ganti kode berikut:
PROXY_NAME
: nama proxy target.CERTIFICATE_NAME
: nama sertifikat.URL_MAP
: nama peta URL. Anda membuat peta URL saat membuat load balancer.LOCATION
: lokasi Google Cloud target tempat Anda ingin membuat proxy target HTTPS.
Untuk melampirkan 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 Proxy
target
dan catat nama proxy target.
gcloud compute target-https-proxies update PROXY_NAME \ --region=LOCATION \ --certificate-manager-certificates=CERTIFICATE_NAME
Setelah membuat atau memperbarui proxy target, jalankan perintah berikut untuk memverifikasinya:
gcloud compute target-https-proxies list
Memecahkan masalah sertifikat yang diterbitkan oleh Layanan CA
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 resource-nya.
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 \ --location=LOCATION
Ganti kode berikut:
CERTIFICATE_NAME
: nama sertifikat.LOCATION
: lokasi Google Cloud target.
Hapus resource konfigurasi penerbitan sertifikat:
Konsol
Di konsol Google Cloud, buka halaman Certificate Manager.
Di tab Issuance Configs, pilih kotak centang resource konfigurasi penerbitan.
Klik Hapus.
Pada dialog yang muncul, klik Hapus untuk mengonfirmasi.
gcloud
gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME \ --location=LOCATION
Ganti kode berikut:
ISSUANCE_CONFIG_NAME
: nama resource konfigurasi penerbitan sertifikat yang mereferensikan kumpulan CA target.LOCATION
: lokasi Google Cloud target.
Hapus kumpulan CA.
Untuk menghapus kumpulan CA, atau menonaktifkan CA terakhir yang diaktifkan dalam kumpulan CA yang dirujuk oleh konfigurasi penerbitan sertifikat, hapus semua konfigurasi penerbitan sertifikat yang mereferensikan kumpulan CA. Untuk informasi selengkapnya, lihat Menghapus kumpulan CA.