Halaman ini menjelaskan cara menghubungkan Media CDN ke bucket pribadi yang kompatibel dengan Amazon S3 menggunakan Amazon Simple Storage Service (Amazon S3) dan AWS Signature Version 4. Media CDN tidak mendukung AWS Signature Versi 4a.
Media CDN mendukung AWS Signature Version 4 untuk mengautentikasi permintaan asal. Anda dapat menggunakan fitur ini untuk menghubungkan Media CDN ke bucket pribadi yang kompatibel dengan Amazon S3 guna memastikan bahwa konten Anda hanya dibagikan dengan Media CDN. Anda juga dapat mengaktifkan otentikasi klien untuk pertahanan yang lebih mendalam. Untuk informasi selengkapnya, lihat Menggunakan permintaan yang ditandatangani.
Sebelum memulai
Pastikan Anda memiliki resource berikut:
Bucket Amazon S3 pribadi.
Akun pengguna IAM AWS khusus untuk mengakses bucket Amazon S3 pribadi sebelumnya. Pastikan bucket memberikan izin
s3:getObject
ke akun pengguna IAM AWS. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi akses ke bucket Amazon S3, lihat Pengelolaan akses dan identitas di Amazon S3.ID kunci akses AWS dan kunci akses rahasia AWS untuk akun pengguna IAM AWS khusus. Untuk informasi selengkapnya, lihat Mengelola kunci akses untuk pengguna IAM.
Jika Anda belum pernah menggunakan Secret Manager sebelumnya, konfigurasikan Secret Manager.
Membuat agen layanan untuk Media CDN
Untuk membuat agen layanan untuk Media CDN, gunakan perintah gcloud beta services identity create
.
gcloud
gcloud beta services identity create \ --project PROJECT_ID \ --service=networkservices.googleapis.com
Ganti PROJECT_ID
dengan project ID Anda.
Untuk mengetahui informasi selengkapnya, lihat Memicu pembuatan agen layanan.
Menyimpan kunci akses di Secret Manager
Ikuti langkah-langkah ini untuk membuat rahasia di Secret Manager.
Konsol
Di konsol Google Cloud, buka halaman Secret Manager.
Di halaman Secret Manager, klik Create secret.
Di bagian Detail rahasia, selesaikan langkah-langkah berikut:
Di kolom Name, masukkan nama untuk rahasia—misalnya,
aws-access-key-id
.Di bagian Secret value, lewati kolom Upload file.
Di kolom Nilai rahasia, masukkan kunci akses rahasia AWS.
Lewati bagian lainnya.
Klik Create secret.
gcloud
Pastikan Anda menggunakan Google Cloud CLI versi 402.0.0 atau yang lebih baru. Di Compute Engine atau Google Kubernetes Engine (GKE), Anda harus melakukan autentikasi dengan cakupan platform cloud.
gcloud secrets create SECRET_NAME \ --replication-policy="automatic" \ --data-file="PATH_TO_AWS_SECRET_ACCESS_KEY"
Ganti kode berikut:
SECRET_NAME
: nama untuk rahasia Anda, sepertiaws-access-key-id
PATH_TO_AWS_SECRET_ACCESS_KEY
: jalur ke nilai kunci akses secret AWS Anda
Untuk mengetahui informasi tentang cara menambahkan versi secret, lihat Menambahkan versi secret.
Memberikan peran Akses Secret Manager
Ikuti langkah-langkah berikut untuk memberikan peran Secret Manager Secret Accessor (roles/secretmanager.secretAccessor
) ke akun layanan Media CDN.
Konsol
Di konsol Google Cloud, buka halaman Secret Manager.
- Pilih rahasia.
- Pilih Izin, lalu pilih Berikan akses. Dialog Berikan akses akan muncul.
Di bagian Add principals, masukkan akun layanan Media CDN di kolom New principals sebagai berikut:
service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com
Ganti
PROJECT_NUMBER
dengan nomor project Anda.- Di bagian Assign roles, untuk Select a role, pilih Secret Manager, lalu pilih Secret Manager Secret Accessor.
- Klik Save.
gcloud
gcloud secrets add-iam-policy-binding \ projects/PROJECT_NUMBER/secrets/SECRET_NAME \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"
Ganti kode berikut:
PROJECT_NUMBER
: nomor project AndaSECRET_NAME
: nama untuk rahasia Anda
Mengonfigurasi Media CDN untuk mengautentikasi ke bucket origin eksternal Anda
Konsol
Di konsol Google Cloud, buka halaman Media CDN.
Klik tab Origins.
Klik nama origin yang ingin Anda konfigurasi.
Halaman Detail origin Edge Cache akan terbuka.
Klik tombol Edit.
Untuk Origin address, pilih Tentukan FQDN atau alamat IP, lalu masukkan FQDN atau alamat IP.
Di bagian Private origin authentication, pilih Authenticate Permintaan Media CDN ke origin ini dengan tanda tangan AWS versi 4.
Tentukan informasi berikut:
- Key ID: ID kunci akses AWS dengan izin baca ke origin Anda
- Referensikan rahasia: ID kunci akses Anda di Secret Manager dan versinya. Anda dapat memilih ID yang ada, memasukkan ID secara manual, atau membuat ID baru lalu memilihnya.
- Region: region tempat bucket Amazon S3 Anda berada, misalnya
us-east-1
Untuk Protocol, pilih HTTPS.
Klik Update origin.
gcloud
Untuk mengekspor konfigurasi layanan Anda saat ini ke file YAML, jalankan perintah
gcloud edge-cache services export
:gcloud edge-cache services export SERVICE_NAME \ --destination=FILENAME.yaml
Ganti kode berikut:
SERVICE_NAME
: nama layanan Media CDNFILENAME
: nama file YAML
Di Cloud Shell, gunakan editor teks untuk mengedit file YAML.
Perbarui file YAML sehingga memiliki baris berikut:
name: ORIGIN_NAME originAddress: "S3_BUCKET_NAME.s3.S3_REGION.amazonaws.com" protocol: HTTPS awsV4Authentication: accessKeyId: "AWS_ACCESS_KEY_ID" secretAccessKeyVersion: "projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/SECRET_VERSION" originRegion: "S3_REGION"
Ganti kode berikut:
ORIGIN_NAME
: nama yang Anda tetapkan untuk origin iniS3_BUCKET_NAME
: nama bucket Amazon S3 AndaS3_REGION
: region tempat bucket Amazon S3 Anda berada, misalnyaus-east-1
AWS_ACCESS_KEY_ID
: ID kunci akses AWS Anda dengan izin baca ke originPROJECT_NUMBER
: nomor project AndaSECRET_NAME
: ID kunci akses Anda di Secret ManagerSECRET_VERSION
: versi rahasia yang akan digunakan
Konfigurasi penulisan ulang host dan jalur untuk permintaan ke origin Anda. Misalnya, untuk memetakan semua permintaan dengan awalan jalur
/vod/
, konfigurasikanhostRewrite
yang sesuai denganoriginAddress
yang tercantum dalam file YAMLEdgeCacheService
. Contoh kode berikut menunjukkan cara menggunakanhostRewrite
:name: SERVICE_NAME routeRules: - priority: 1 - description: ROUTE_DESCRIPTION origin: ORIGIN_NAME matchRules: - prefixMatch: "/vod/" routeAction: urlRewrite: hostRewrite: "S3_BUCKET_NAME.s3.S3_REGION.amazonaws.com" pathPrefixRewrite: "/" cdnPolicy: cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s
Ganti
SERVICE_NAME
dengan namaEdgeCacheService
Anda.Untuk mengetahui informasi selengkapnya, lihat Menggunakan backend penyimpanan pihak ketiga.
Simpan file YAML.
Untuk memperbarui konfigurasi, impor file YAML.
gcloud edge-cache origins import ORIGIN_NAME \ --source=FILENAME.yaml
Setelah Anda mengonfigurasi Media CDN untuk mengautentikasi ke bucket eksternal, Media CDN akan membuat header otorisasi HTTP untuk semua permintaan ke header Anda. Semua parameter kueri dihapus dari penghitungan tanda tangan dan permintaan ke origin Anda.
Origin Anda dapat menambahkan header tambahan ke respons. Untuk menghapus header respons sebelum menayangkan ke klien, lihat Menetapkan header kustom. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi origin, lihat Konektivitas dan perlindungan origin.