Gunakan bucket pribadi yang kompatibel dengan Amazon S3 sebagai origin

Halaman ini menjelaskan cara menghubungkan Media CDN ke pribadi Bucket yang kompatibel dengan Amazon S3 menggunakan Amazon Simple Storage Service (Amazon S3) dan AWS Signature Versi 4. Media CDN tidak mendukung AWS Signature Versi 4a.

Media CDN mendukung AWS Signature Versi 4 untuk mengautentikasi permintaan origin. Anda dapat menggunakan fitur ini untuk menghubungkan Media CDN ke bucket pribadi yang kompatibel dengan Amazon S3 untuk pastikan 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 yang mengikuti aturan penamaan.

  • Akun pengguna IAM AWS khusus untuk mengakses akun pribadi sebelumnya Bucket Amazon S3. Pastikan bucket memberikan s3:getObject izin akses ke akun pengguna IAM AWS. Untuk mengetahui informasi selengkapnya tentang 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, 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 berikut untuk membuat secret di Secret Manager.

Konsol

  1. Di konsol Google Cloud, buka halaman Secret Manager.

    Buka Secret Manager

  2. Di halaman Secret Manager, klik Create secret.

  3. Di bagian Detail rahasia, selesaikan langkah-langkah berikut:

    1. Di kolom Nama, masukkan nama untuk rahasia—misalnya, aws-access-key-id.

    2. Di bagian Secret value, lewati kolom Upload file.

    3. Di kolom Nilai rahasia, masukkan kunci akses rahasia AWS.

  4. Lewati bagian lainnya.

  5. 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, seperti aws-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 layanan Media CDN menggunakan akun layanan.

Konsol

  1. Di konsol Google Cloud, buka halaman Secret Manager.

    Buka Secret Manager

  2. Pilih rahasia.
  3. Pilih Izin, lalu pilih Berikan akses. Tujuan Dialog Berikan akses akan muncul.
  4. Di bagian Add principals, masukkan Akun layanan Media CDN di New principals sebagai berikut:
    service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

    Ganti PROJECT_NUMBER dengan nomor project Anda.

  5. Di bagian Tetapkan peran, untuk Pilih peran, pilih Secret Manager, lalu pilih Aksesor Rahasia Secret Manager.
  6. Klik Simpan.

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 Anda
  • SECRET_NAME: nama untuk rahasia Anda

Mengonfigurasi Media CDN untuk mengautentikasi ke bucket origin eksternal Anda

Konsol

  1. Di konsol Google Cloud, buka halaman Media CDN.

    Buka Media CDN

  2. Klik tab Origins.

  3. Klik nama origin yang ingin Anda konfigurasi.

    Halaman Detail origin Edge Cache akan terbuka.

  4. Klik tombol Edit.

  5. Untuk Origin address, pilih Tentukan FQDN atau IP address, lalu pilih masukkan FQDN atau alamat IP.

  6. Di bagian Autentikasi asal pribadi, pilih Autentikasi Permintaan Media CDN ke asal ini dengan tanda tangan AWS versi 4.

  7. Tentukan informasi berikut:

    • Key ID: ID kunci akses AWS dengan izin baca untuk origin Anda
    • Referensikan rahasia: ID kunci akses Anda di Secret Manager beserta versinya. Anda dapat memilih ID yang ada, memasukkan ID secara manual, atau buat ID baru dan pilih ID tersebut.
    • Region: region tempat bucket Amazon S3 Anda berada yang berada di, seperti us-east-1
  8. Untuk Protocol, pilih HTTPS.

  9. Klik Update origin.

gcloud

  1. 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 CDN
    • FILENAME: nama file YAML
  2. Di Cloud Shell, gunakan editor teks untuk mengedit file YAML.

  3. 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 ini asal
    • S3_BUCKET_NAME: nama Bucket Amazon S3
    • S3_REGION: wilayah yang Lokasi bucket Amazon S3, seperti us-east-1
    • AWS_ACCESS_KEY_ID: ID kunci akses AWS Anda dengan izin baca ke origin Anda
    • PROJECT_NUMBER: nomor project Anda
    • SECRET_NAME: ID kunci akses Anda di Secret Manager
    • SECRET_VERSION: versi rahasia yang akan digunakan
  4. Konfigurasi penulisan ulang host dan jalur untuk permintaan ke origin Anda. Sebagai misalnya, untuk memetakan semua permintaan dengan awalan jalur /vod/, konfigurasikan hostRewrite yang sesuai dengan originAddress yang tercantum dalam File YAML EdgeCacheService. Contoh kode berikut menunjukkan cara menggunakan hostRewrite:

    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 nama EdgeCacheService Anda.

    Untuk informasi selengkapnya, lihat Menggunakan backend penyimpanan pihak ketiga.

  5. Simpan file YAML.

  6. Untuk memperbarui konfigurasi, impor file YAML.

    gcloud edge-cache origins import ORIGIN_NAME \
        --source=FILENAME.yaml
    

Setelah Anda mengonfigurasi Media CDN untuk mengautentikasi ke eksternal Anda Google Cloud, Media CDN akan membuat header otorisasi HTTP untuk semua yang berbeda ke header Anda. Semua parameter kueri dihapus dari tanda tangan permintaan dan penghitungan ke origin Anda.

Origin Anda dapat menambahkan header tambahan ke respons. Untuk menghapus {i>header <i}respons sebelum ditayangkan ke klien, lihat Menetapkan header kustom. Untuk informasi selengkapnya tentang mengonfigurasi origin, lihat Perlindungan dan konektivitas origin.