Tutorial ini menjelaskan cara menggunakan Certificate Manager untuk men-deploy sertifikat regional yang dikelola Google ke Load Balancer Aplikasi eksternal regional atau ke Load Balancer Aplikasi internal regional.
Untuk men-deploy sertifikat ke Load Balancer Aplikasi eksternal regional atau ke Load Balancer Aplikasi internal regional, lampirkan sertifikat secara langsung ke proxy target.
Tujuan
Tutorial ini menunjukkan kepada Anda cara menyelesaikan tugas-tugas berikut:
Buat sertifikat yang dikelola Google dan diterbitkan oleh CA yang dipercaya secara publik dengan otorisasi DNS menggunakan Pengelola Sertifikat. Untuk membuat sertifikat regional yang dikelola Google, Anda harus menggunakan otorisasi DNS per project.
Deploy sertifikat ke load balancer yang didukung menggunakan proxy HTTPS target.
Untuk mengetahui informasi selengkapnya tentang proses deployment sertifikat, lihat Ringkasan deployment.
Sebelum memulai
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
Google Cloud CLI versi
465.0.0
atau yang lebih baru diperlukan untuk men-deploy sertifikat. Untuk memeriksa versi CLI gcloud, jalankan perintah berikut:gcloud --version
Untuk mengupdate gcloud CLI, jalankan perintah berikut.
gcloud components update
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 regional yang dikelola Google
Selesaikan langkah-langkah di bagian ini untuk membuat otorisasi DNS dan sertifikat yang dikelola Google yang merujuk pada otorisasi DNS tersebut.
Membuat otorisasi DNS
Buat otorisasi DNS seperti yang dijelaskan di bagian ini. Jika Anda membuat
otorisasi DNS untuk sertifikat karakter pengganti, seperti *.myorg.example.com
,
konfigurasikan otorisasi DNS untuk domain induk—misalnya,
myorg.example.com
.
gcloud
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ --type=PER_PROJECT_RECORD \ –-location="LOCATION" \ gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME \ -–location="LOCATION"
Ganti kode berikut:
AUTHORIZATION_NAME
: nama otorisasi DNS.DOMAIN_NAME
: nama domain tempat Anda membuat otorisasi DNS ini. Nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.LOCATION
: lokasi Anda membuat otorisasi DNS.
Perintah menampilkan output seperti yang ditunjukkan dalam contoh berikut. Gunakan data CNAME dari output untuk ditambahkan ke konfigurasi DNS Anda.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.us-central1.authorize.certificatemanager.goog. name: _acme-challenge_ujmmovf2vn55tgye.myorg.example.com. type: CNAME domain: myorg.example.com name: projects/myProject/locations/us-central1/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Tambahkan data CNAME ke konfigurasi DNS Anda
Jika Anda menggunakan Google Cloud untuk mengelola DNS, selesaikan langkah-langkah di bagian ini. Jika tidak, baca dokumentasi untuk solusi DNS pihak ketiga Anda.
Sebelum menyelesaikan langkah-langkah di bagian ini, pastikan Anda telah membuat zona DNS publik.
Saat Anda membuat otorisasi DNS, perintah gcloud CLI akan menampilkan data CNAME yang sesuai. Anda harus menambahkan data CNAME ini ke konfigurasi DNS di zona DNS domain target sebagai berikut:
gcloud
Mulai transaksi data DNS:
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
Ganti
DNS_ZONE_NAME
dengan nama zona DNS target.Tambahkan data CNAME ke zona DNS target:
gcloud dns record-sets transaction add CNAME_RECORD_DATA \ --name= CNAME_RECORD_NAME \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"
Ganti kode berikut:
CNAME_RECORD_DATA
: nilai data lengkap dari data CNAME yang ditampilkan oleh perintah gcloud CLI yang membuat otorisasi DNS yang sesuai.CNAME_RECORD_NAME
: nilai nama lengkap data CNAME yang ditampilkan oleh perintah gcloud CLI yang membuat otorisasi DNS yang sesuai.DNS_ZONE_NAME
: nama zona DNS target.
Lihat contoh berikut:
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.us-central1.authorize.certificatemanager.goog. \ --name="_acme-challenge_ujmmovf2vn55tgye.myorg.example.com" \ --ttl="30" \ --type="CNAME" \ --zone="example-com"
Jalankan transaksi data DNS untuk menyimpan perubahan:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
Ganti
DNS_ZONE_NAME
dengan nama zona DNS target.
Buat sertifikat regional yang dikelola Google, yang merujuk pada otorisasi DNS
Untuk membuat sertifikat yang dikelola Google, yang merujuk ke otorisasi DNS yang Anda buat pada langkah sebelumnya, lakukan langkah berikut:
gcloud
Jalankan perintah berikut:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains=DOMAIN_NAME \ --dns-authorizations=AUTHORIZATION_NAME \ --location=LOCATION
Ganti kode berikut:
CERTIFICATE_NAME
: nama unik sertifikat.DOMAIN_NAME
: domain target sertifikat. Awalan tanda bintang (*.
) menandakan sertifikat karakter pengganti. Nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.AUTHORIZATION_NAME
: nama otorisasi DNS yang Anda buat untuk sertifikat ini.LOCATION
: lokasi tempat Anda membuat sertifikat yang dikelola Google.
Untuk membuat sertifikat yang dikelola Google dengan nama domain karakter pengganti, gunakan perintah berikut. Sertifikat nama domain karakter pengganti mencakup semua subdomain level pertama dari domain tertentu.
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="*.DOMAIN_NAME,DOMAIN_NAME" \ --dns-authorizations=AUTHORIZATION_NAME --location=LOCATION
Ganti kode berikut:
CERTIFICATE_NAME
: nama unik sertifikat.DOMAIN_NAME
: domain target sertifikat. Awalan*.
menandakan sertifikat karakter pengganti. Nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.AUTHORIZATION_NAME
: nama otorisasi DNS yang Anda buat untuk sertifikat ini.LOCATION
: lokasi tempat Anda membuat sertifikat yang dikelola Google.
Memastikan sertifikat aktif
Gunakan perintah berikut untuk memverifikasi bahwa sertifikat aktif sebelum men-deploy-nya ke load balancer Anda. Diperlukan waktu hingga beberapa jam agar
status sertifikat berubah menjadi ACTIVE
.
gcloud certificate-manager certificates describe CERTIFICATE_NAME \ --location=LOCATION
Ganti kode berikut:
CERTIFICATE_NAME
: nama unik sertifikat.LOCATION
: lokasi tempat Anda membuat sertifikat yang dikelola Google.
Outputnya mirip dengan hal 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 dnsAuthorizations: - projects/my-project/locations/us-central1/dnsAuthorizations/myAuth domains: - myorg.example.com state: ACTIVE name: projects/myProject/locations/us-central1/certificates/myCert scope: myScope sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Men-deploy sertifikat ke load balancer
Untuk men-deploy sertifikat yang dikelola Google ke load balancer, selesaikan langkah-langkah berikut.
Sebelum melanjutkan ke tugas di bagian ini, pastikan Anda telah menyelesaikan tugas yang tercantum di bagian Membuat sertifikat regional yang dikelola Google.
Untuk men-deploy sertifikat regional yang dikelola Google ke Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, deploy sertifikat dengan melampirkannya langsung ke proxy target.
Lampirkan sertifikat secara langsung ke proxy target
Untuk melampirkan sertifikat secara langsung ke proxy, jalankan perintah berikut:
gcloud compute target-https-proxies update PROXY_NAME \ --url-map=URL_MAP \ --region=REGION \ --certificate-manager-certificates=CERTIFICATE_NAME
Ganti kode berikut:
PROXY_NAME
: nama unik proxy.URL_MAP
: nama peta URL yang dibuat saat Anda membuat load balancer.REGION
: region tempat membuat proxy target HTTPS.CERTIFICATE_NAME
: nama sertifikat.
Pembersihan
Untuk mengembalikan perubahan yang Anda buat dalam tutorial ini, selesaikan langkah-langkah berikut:
- Hapus sertifikat yang dikelola Google:
Ganti kode berikut:gcloud certificate-manager certificates delete CERTIFICATE_NAME --location=LOCATION
CERTIFICATE_NAME
: nama sertifikat.LOCATION
: lokasi tempat Anda membuat sertifikat yang dikelola Google.
- Hapus otorisasi DNS:
Ganti kode berikut:gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME --location=LOCATION
AUTHORIZATION_NAME
: nama otorisasi DNS.LOCATION
: lokasi Anda membuat otorisasi DNS.