Setelah membuat layanan Media CDN (atau beberapa layanan), Anda dapat menerbitkan dan melampirkan sertifikat SSL (TLS) untuk mendukung konektivitas yang aman di browser dan aplikasi seluler.
Terbitkan sertifikat terkelola
Untuk membuat sertifikat terkelola dan melampirkannya ke layanan Media CDN, Anda harus melakukan hal berikut:
- Tunjukkan kepemilikan ("otorisasi") domain yang ingin Anda terbitkan sertifikatnya dengan membuat token tantangan dan menambahkan data DNS.
- Buat sertifikat jenis
EDGE_CACHE
dengan satu atau beberapa nama domain berdasarkan otorisasi tersebut. - Lampirkan sertifikat tersebut ke satu atau beberapa layanan Edge Cache.
Anda harus memiliki izin Identity and Access Management berikut untuk memberikan otorisasi, membuat, dan melampirkan sertifikat ke layanan Edge Cache:
certificatemanager.certs.create
certificatemanager.certs.get
certificatemanager.certs.list
certificatemanager.certs.use
certificatemanager.dnsauthorizations.create
certificatemanager.dnsauthorizations.get
certificatemanager.dnsauthorizations.list
certificatemanager.dnsauthorizations.use
Pengguna yang perlu melampirkan sertifikat yang ada ke layanan
Media CDN
memerlukan izin IAM certificatemanager.certs.get
,
certificatemanager.certs.list
, dan certificatemanager.certs.use
.
Sebelum memulai
- Anda harus memiliki nama domain terdaftar yang dapat Anda perbarui data DNS publiknya.
- Baca ringkasan sertifikat SSL.
Membuat otorisasi DNS
Pertama, Anda harus membuat otorisasi DNS untuk menunjukkan kepemilikan domain sebelum Anda dapat menerbitkan sertifikat untuk domain tersebut. Otorisasi DNS menggunakan tantangan DNS-01 ACME, dan memungkinkan Anda menerbitkan sertifikat sebelum mengarahkan traffic yang ditampilkan kepada pengguna ke layanan Edge Cache Anda.
Tetapkan nilai domain
ke nama domain yang ingin Anda buat sertifikatnya, sebagai berikut:
gcloud
Gunakan perintah gcloud certificate-manager dns-authorizations
:
gcloud certificate-manager dns-authorizations create DOMAIN_NAME_AUTH \ --domain="DOMAIN_NAME" gcloud certificate-manager dns-authorizations describe DOMAIN_NAME_AUTH
gcloud CLI menampilkan respons dengan detail data DNS yang perlu Anda tambahkan.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge.example.com. type: CNAME domain: example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Terraform
Jika Anda menggunakan Cloud DNS untuk domain Anda, lihat langkah-langkah untuk menambahkan data baru ke domain yang dihosting. Jika Anda menggunakan penyedia DNS lain, lihat dokumentasi mereka untuk menambahkan data CNAME.
- Anda dapat mengulangi langkah ini untuk setiap domain yang perlu Anda terbitkan sertifikatnya.
- Sertifikat dapat berisi beberapa domain, atau Anda dapat memilih untuk menerbitkan sertifikat per domain, sesuai kebutuhan. Setelah memiliki otorisasi untuk domain, Anda dapat menggunakannya untuk menerbitkan sertifikat.
- Sebaiknya buat lebih sedikit total sertifikat, yang masing-masing memiliki semua nama domain yang digunakan untuk layanan Anda. Hal ini meningkatkan performa klien saat menggunakan beberapa domain karena klien dapat lebih sering memanfaatkan kelanjutan TLS.
- Setiap layanan Edge Cache dapat mereferensikan hingga lima sertifikat. Dengan menerbitkan lebih sedikit sertifikat, Anda dapat tetap berada dalam batas ini.
Jika Anda perlu mengambil nilai data DNS di lain waktu, buat permintaan
untuk authorizationName
yang Anda berikan saat membuat otorisasi
DNS:
Membuat sertifikat
Setelah menambahkan data DNS yang menunjukkan kepemilikan domain yang ingin Anda buatkan sertifikatnya, Anda dapat mengirimkan permintaan pembuatan sertifikat.
Daftar dnsAuthorizations
harus cocok dengan nama otorisasi yang ada yang Anda buat sebelumnya dalam proses ini. Jika Anda ingin menambahkan beberapa domain ke sertifikat yang sama, berikan daftar domains[]
dan dnsAuthorizations[]
yang cocok saat membuat permintaan.
Untuk membuat sertifikat menggunakan otorisasi untuk test.example.com
yang disebut
test-example-com
:
gcloud
Gunakan perintah gcloud certificate-manager certificates
:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAME" \ --dns-authorizations="DOMAIN_NAME_AUTH" \ --scope=EDGE_CACHE
Tindakan ini akan membuat sertifikat dengan setiap otorisasi DNS dalam statusAUTHORIZING
dan sertifikat dalam status PROVISIONING
:
Create request issued for: [DOMAIN_NAME] Waiting for operation [projects/my-project/locations/global/operations/operatio n-1613425627385-5bb66ed644e91-3e2a2f1f-71979cf8] to complete...done. Created certificate [CERTIFICATE_NAME].
Terraform
Mungkin diperlukan waktu beberapa menit (dan hingga satu jam) hingga pembuatan sertifikat selesai, bergantung pada hal berikut:
- Seberapa cepat penyedia DNS Anda menyebarkan perubahan konfigurasi.
- Jumlah domain yang Anda coba validasi dan buat sertifikatnya.
Kolom state
menampilkan status sertifikat saat ini:
- PENYEDIAAN - sertifikat masih dalam proses penyediaan. Hal ini kemungkinan karena permintaan pembuatan sertifikat baru saja dilakukan.
- GAGAL - ditampilkan setelah beberapa upaya untuk memvalidasi domain
atau menerbitkan sertifikat. Untuk mengetahui detailnya, lihat kolom
provisioning_issue
,authorization_attempt_info
, danfailure_reason
. - AKTIF - domain berhasil divalidasi dan sertifikat telah disediakan.
Untuk memeriksa status sertifikat:
gcloud
Gunakan perintah gcloud certificate-manager certificates
:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Dalam contoh ini, otorisasi DNS adalah AUTHORIZED
dan status
sertifikat adalah ACTIVE
:
createTime: '2021-02-07T20:03:39.867762684Z' expireTime: '2021-03-09T19:20:41Z' managed: authorizationAttemptInfo: - domain: DOMAIN_NAME state: AUTHORIZED dnsAuthorizations: - projects/111111111111/locations/global/dnsAuthorizations/test-example-com domains: - DOMAIN_NAME state: ACTIVE name: projects/my-project/locations/global/certificates/test-example-com scope: EDGE_CACHE subjectAlternativeNames: - DOMAIN_NAME updateTime: '2021-02-07T20:03:40.297242738Z'
Setelah sertifikat ACTIVE
, Anda dapat melampirkannya ke
layanan Edge Cache.
Melampirkan sertifikat ke layanan
Setelah membuat sertifikat terkelola, Anda dapat
mengaitkannya dengan satu atau beberapa layanan Edge Cache.
Sertifikat dapat dilampirkan ke layanan yang ada dan baru dengan memperbarui daftar edgeSslCertificates
di layanan.
Anda harus memiliki izin IAM berikut untuk melampirkan sertifikat ke layanan Edge Cache:
certificatemanager.certs.get
certificatemanager.certs.list
certificatemanager.certs.use
networkservices.edgeCacheServices.get
networkservices.edgeCacheServices.list
networkservices.edgeCacheServices.update
Untuk melampirkan sertifikat ke layanan, selesaikan langkah-langkah berikut.
gcloud
Jalankan perintah gcloud edge-cache services export
untuk mengekspor file YAML
layanan Anda:
gcloud edge-cache services export MY_SERVICE \ --destination=my-service.yaml
Edit file YAML yang diekspor untuk menambahkan sertifikat Anda:
name: MY_SERVICE edgeSslCertificates: - projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME
Jalankan perintah gcloud edge-cache services import
:
gcloud edge-cache services import MY_SERVICE \ --source=my-service.yaml
Output:
Request issued for: [MY_SERVICE] Updated service [MY_SERVICE]
Perintah ini akan menampilkan deskripsi layanan Anda, termasuk
daftar edgeSslCertificates
yang kini terlampir:
name: MY_SERVICE edgeSslCertificates: - projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME
Setelah Anda mengupdate konfigurasi, sertifikat akan disebarkan ke semua lokasi edge dalam beberapa menit. Untuk menguji bahwa sertifikat dikaitkan dengan layanan Edge Cache Anda sebelum melakukan perubahan DNS, Anda dapat mengeluarkan permintaan terhadap alamat IPv4 atau IPv6 yang dikaitkan dengan layanan Anda.
Mengganti dan menghapus sertifikat
Sertifikat dapat ditambahkan dan dihapus dengan memperbarui daftar sertifikat.
Saat menggunakan flag --edge-ssl-certificate
gcloud CLI, sertifikat hanya ditambahkan ke daftar sertifikat yang ada, dan tidak diganti. Tindakan ini mencegah Anda menghapus sertifikat yang valid dan aktif secara tidak sengaja.
Untuk menghapus sertifikat test-example-com
dari layanan kami dalam contoh berikut, Anda dapat mengekspor layanan ke YAML menggunakan perintah impor dan ekspor
name: my-service edgeSslCertificates: - projects/PROJECT_ID/locations/global/certificates/test-example-com - projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME
Perintah berikut menunjukkan cara mengekspor layanan, menghapus referensi sertifikat, dan mengimpor layanan yang diperbarui.
gcloud
Gunakan perintah gcloud edge-cache services
:
gcloud edge-cache services export MY_SERVICE --destination=my-service.yaml
Exported [projects/my-project/locations/global/edgeCacheServices/MY_SERVICE] to 'my-service.yaml'.
Hapus sertifikat yang tidak ingin lagi digunakan oleh layanan menggunakan editor teks pilihan Anda:
name: MY_SERVICE edgeSslCertificates: - projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME
Simpan file yang diubah, lalu impor layanan yang diperbarui:
gcloud
Gunakan perintah gcloud edge-cache services
:
gcloud edge-cache services import MY_SERVICE --source=my-service.yaml
Request issued for: [MY_SERVICE] Updated service [MY_SERVICE].
Tidak ada batasan jumlah layanan yang dapat dikaitkan dengan sertifikat, dan setiap layanan Edge Cache dapat mereferensikan hingga lima sertifikat.
Sertifikat yang dikelola sendiri
Anda dapat mengupload sertifikat Anda sendiri ke Media CDN jika memiliki kasus penggunaan tertentu yang memerlukannya.
Untuk mengupload sertifikat dan kunci terkaitnya ke Certificate Manager:
gcloud
Gunakan perintah gcloud certificate-manager certificates
. Pastikan Anda menentukan --scope=EDGE_CACHE
untuk sertifikat yang terkait dengan Media CDN.
gcloud certificate-manager certificates create stream-example-com \ --certificate-file=CERT.pem \ --private-key-file=PRIVATE_KEY.pem \ --scope=EDGE_CACHE
Create request issued for: [stream-example-com] Created certificate [stream-example-com].
Setelah sertifikat diupload, Anda dapat melampirkannya ke EdgeCacheService seperti yang Anda lakukan pada sertifikat terkelola.
Memecahkan masalah penerbitan sertifikat
Lihat panduan pemecahan masalah tentang cara mengatasi error otorisasi dan penerbitan sertifikat umum.
Langkah berikutnya
- Mengalihkan semua permintaan HTTP ke HTTPS untuk mengenkripsi komunikasi secara default
- Melihat log permintaan dengan Logging
- Mengonfigurasi permintaan bertanda tangan untuk melindungi konten Anda
- Mengoptimalkan kunci cache dan TTL untuk meningkatkan rasio hit cache
- Mengonfigurasi pencocokan rute lanjutan dan menambahkan origin tambahan