Panduan memulai ini menunjukkan cara menyiapkan layanan Media CDN di depan bucket Cloud Storage. Anda dapat menggunakan konfigurasi ini untuk pengujian atau sebagai dasar untuk lingkungan produksi.
Untuk mengikuti panduan langkah demi langkah tugas ini langsung di Google Cloud konsol, klik Pandu saya:
Halaman ini akan memandu Anda melakukan prosedur berikut:
- Buat bucket Cloud Storage untuk menyimpan konten Anda.
- Aktifkan layanan yang diperlukan.
- Buat resource
EdgeCacheOrigin
untuk menghubungkan Media CDN ke bucket Anda. - Buat resource
EdgeCacheService
untuk mengonfigurasi perutean permintaan dan penyimpanan dalam cache untuk konten di origin. - Uji apakah respons sedang di-cache.
Sebelum memulai
Pastikan Anda memiliki:
Akses ke Media CDN untuk project Anda saat ini.
Google Cloud CLI telah diinstal. Gunakan versi 345.0.0 atau yang lebih baru.
Jika diperlukan, gunakan
gcloud version
untuk memeriksa versi dangcloud components update
untuk mengupdate gcloud CLI yang terinstal.gcloud CLI menyediakan grup sub-perintah
gcloud edge-cache
untuk mengelola konfigurasi Media CDN baru dan yang sudah ada.Izin Identity and Access Management (IAM) yang diperlukan untuk membuat resource Media CDN.
Membuat bucket Cloud Storage
Konten CDN media dapat berasal dari lokasi seperti bucket Cloud Storage, lokasi penyimpanan pihak ketiga, atau load balancer.
Dalam panduan memulai ini, kita akan menyimpan konten di bucket Cloud Storage.
Buat bucket Cloud Storage yang dapat diakses publik dan beri nama
my-bucket
.Jika Anda tidak ingin membuat bucket Cloud Storage Anda dapat diakses secara publik, Anda harus memberikan izin Media CDN untuk mengakses bucket tersebut. Untuk mengetahui informasi selengkapnya, lihat Menggunakan bucket Cloud Storage pribadi.
Upload file ke dalam bucket.
Aktifkan layanan yang diperlukan
Untuk mengonfigurasi dan men-deploy layanan Media CDN, Anda perlu mengaktifkan Network Services API dan Certificate Manager API untuk project Anda.
Konsol
Aktifkan Network Services API.
Aktifkan Certificate Manager API.
gcloud
Aktifkan Network Services API:
gcloud services enable networkservices.googleapis.com
Aktifkan Certificate Manager API:
gcloud services enable certificatemanager.googleapis.com
Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan dan menonaktifkan layanan, lihat dokumentasi Penggunaan Layanan.
Buat resource EdgeCacheOrigin
Buat origin yang mengarah ke bucket Cloud Storage Anda.
Konsol
Di konsol Google Cloud , buka halaman Media CDN.
Klik tab Origins.
Klik Buat asal.
Masukkan nama untuk asal sebagai
cloud-storage-origin
.Opsional: Masukkan deskripsi untuk asal.
Untuk Alamat asal, pilih Pilih bucket Google Cloud Storage, cari bucket Cloud Storage bernama
my-bucket
, lalu klik Pilih.Jika Anda memiliki origin eksternal, pilih Tentukan FQDN atau alamat IP, lalu masukkan FQDN atau alamat IP.
Klik Buat asal.
Setelah sekitar 10 menit, resource EdgeCacheOrigin
yang baru dibuat akan muncul dalam daftar origin di project Anda di halaman Origins.
Untuk memperbarui alamat asal, klik asal, lalu klik
Edit.gcloud
Gunakan perintah gcloud edge-cache origins create
:
gcloud edge-cache origins create ORIGIN \
--origin-address="ADDRESS"
Ganti kode berikut:
ORIGIN
: nama origin baruADDRESS
: nama bucket,gs://my-bucket
Jika Anda memiliki origin eksternal, ganti
ADDRESS
dengan FQDN atau alamat IP.
Untuk melihat asal yang baru dibuat, gunakan
perintah gcloud edge-cache origins list
.
Untuk memperbarui alamat asal, gunakan
perintah gcloud edge-cache origins update
.
API
Gunakan
metode edgeCacheOrigins.create
:
POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheOrigins?edgeCacheOriginId=ORIGIN_ID { "name": "ORIGIN_ID", "originAddress: "ADDRESS" }
Ganti kode berikut:
PARENT
: resource induk dalam formatprojects/PROJECT/locations/global
ORIGIN_ID
: nama pendek origin baruADDRESS
: nama bucket,gs://my-bucket
Jika Anda memiliki origin eksternal, ganti
ADDRESS
dengan FQDN atau alamat IP.
Untuk melihat origin yang baru dibuat, gunakan
metode edgeCacheOrigins.list
.
Untuk memperbarui alamat asal, gunakan
metode edgeCacheOrigins.patch
.
Terraform
Buat resource EdgeCacheService
Resource EdgeCacheService
Anda mengonfigurasi setelan perutean, sertifikat, dan caching, serta dapat mengarah ke resource EdgeCacheOrigin
.
Buat resource EdgeCacheService
dasar yang melakukan hal berikut:
- Meng-cache semua respons dari origin yang dikonfigurasi selama satu jam
- Menetapkan header respons
x-cache-status
yang menampilkan status cache (sepertiHIT
atauMISS
)
Atau, daftarkan nama domain untuk layanan ini.
Konsol
Di konsol Google Cloud , buka halaman Media CDN.
Klik tab Services.
Klik Create service.
Masukkan nama unik untuk layanan Anda—misalnya,
my-service
—lalu klik Berikutnya.Di bagian Perutean, klik Tambahkan aturan host, lalu masukkan satu atau beberapa nama domain host.
Untuk Host, masukkan nama domain host—misalnya,
web.example.com
.Klik Tambahkan aturan rute.
- Untuk Priority, tentukan
1
. - Klik Tambahkan kondisi pencocokan, untuk Pencocokan jalur, tentukan
/
, lalu klik Selesai. - Pilih Ambil dari Asal, lalu pilih asal yang Anda konfigurasi.
- Klik Tindakan add-on.
- Untuk Tindakan header, klik Tambahkan item. Kemudian, lakukan hal berikut:
- Untuk Jenis, pilih Header respons yang akan ditambahkan.
- Klik Tambahkan header.
- Untuk Nama, tentukan
x-cache-status
, dan untuk Nilai, tentukan{cdn_cache_status}
. - Klik Selesai.
- Untuk Tindakan rute, klik Tambahkan item. Kemudian, lakukan hal berikut:
- Untuk Type, pilih CDN policy.
- Untuk Cache mode, pilih FORCE_CACHE_ALL.
- Klik Selesai.
- Klik Simpan.
- Untuk Priority, tentukan
Klik Create service.
Resource EdgeCacheService
yang baru dibuat akan muncul di halaman Services dalam daftar layanan di project Anda.
gcloud
Di Cloud Shell, gunakan editor teks untuk membuat file lokal bernama
my-service.yaml
.File tersebut menunjukkan hal berikut:
- Cara kerja perutean—dengan mencocokkan host terlebih dahulu, lalu jalur
- Cara kerja penyimpanan dalam cache—berdasarkan mode cache dan TTL
- Cara permintaan dan respons diubah—misalnya, dengan menyisipkan
variabel
cdn_cache_status
ke dalam header respons
Tempelkan contoh konten berikut ke dalam file, lalu simpan:
name: SERVICE routing: hostRules: - hosts: - DOMAIN pathMatcher: routes pathMatchers: - name: routes routeRules: - priority: 1 matchRules: - prefixMatch: / origin: ORIGIN routeAction: cdnPolicy: cacheMode: CACHE_ALL_STATIC defaultTtl: 3600s headerAction: responseHeadersToAdd: - headerName: "x-cache-status" headerValue: "{cdn_cache_status}"
Ganti kode berikut:
SERVICE
: nama layananDOMAIN
: domain untuk layanan baruJika Anda menentukan nama domain, Media CDN akan merespons dengan error
404
untuk host lainnya.ORIGIN
: nama asal terkait
Gunakan perintah
gcloud edge-cache services import
dengan file YAML:gcloud edge-cache services import SERVICE \ --source=my-service.yaml
Untuk melihat layanan yang baru dibuat dalam daftar
EdgeCacheService
resource di project Anda, gunakan perintahgcloud edge-cache services list
.
API
Gunakan
metode edgeCacheServices.create
:
POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheServices?edgeCacheServiceId=SERVICE_ID { "name": "SERVICE_ID", "routing": { "hostRules": [ { "hosts": ["DOMAIN"], "pathMatcher": "routes" } ], "pathMatchers": [ { "name": "routes", "routeRules": [ { "priority": "1", "matchRules": [ { "prefixMatch": "/" } ], "origin": "ORIGIN", "routeAction": { "cdnPolicy": { "cacheMode": "CACHE_ALL_STATIC", "defaultTtl": "3600s" } } "headerAction": { "responseHeadersToAdd": [ { "headerName": "x-cache-status", "headerValue": "{cdn_cache_status}" } ] }, } ] } ] } }
Ganti kode berikut:
PARENT
: resource induk dalam formatprojects/PROJECT/locations/global
SERVICE_ID
: nama layananDOMAIN
: domain untuk layanan baruJika Anda menentukan nama domain, Media CDN akan merespons dengan error
404
untuk host lainnya.ORIGIN_NAME
: nama asal terkait
Untuk melihat layanan yang baru dibuat dalam daftar resource EdgeCacheService
di project Anda, gunakan
metode edgeCacheServices.list
.
Terraform
Mungkin perlu waktu beberapa menit hingga layanan pertama Anda dibuat. Media CDN menyediakan alamat IP khusus dan mengirimkan konfigurasi Anda ke ribuan lokasi edge. Pembaruan berikutnya pada layanan, seperti mengubah konfigurasi rute atau parameter pencocokan, akan lebih cepat.
Mengambil alamat IP
Untuk melihat alamat IP layanan yang baru dibuat, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Media CDN.
Klik tab Services.
Untuk alamat IP layanan Anda, lihat sel Addresses.
Jika sel kosong, muat ulang browser.
gcloud
Gunakan perintah gcloud edge-cache services describe
:
gcloud edge-cache services describe SERVICE
Ganti SERVICE dengan nama layanan.
Output menampilkan alamat IP yang ditetapkan ke layanan Anda:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
name: projects/my-project/locations/global/edgeCacheServices/SERVICE
...
API
Gunakan
metode edgeCacheServices.get
:
GET https://networkservices.googleapis.com/v1/SERVICE_NAME
Ganti SERVICE_NAME
dengan nama lengkap
layanan. Gunakan format berikut:
projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Ganti SERVICE_ID
dengan nama singkat layanan.
Detail yang diambil mencakup alamat IP yang ditetapkan ke layanan:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
Menguji apakah respons di-cache
Sebelum menguji layanan, pastikan Anda telah menyimpan konten yang dapat di-cache di origin Anda sehingga Media CDN dapat mengambilnya.
Untuk menguji apakah layanan Anda dikonfigurasi dengan benar untuk menyimpan konten dalam cache, gunakan alat command line curl
untuk mengirim permintaan dan memeriksa respons. curl
juga tersedia di Cloud Shell di konsol Google Cloud .
Jika ingin menggunakan EdgeCacheService
dengan domain, Anda dapat menetapkan alamat IP EdgeCacheService
ke data domain. Untuk
mendapatkan petunjuk, lihat Menyiapkan domain Anda menggunakan Cloud DNS.
Setelah menyiapkan domain, akses konten Anda dengan perintah curl
berikut:
curl -svo /dev/null "http://DOMAIN_NAME/FILE_NAME"
Jika Anda tidak mengonfigurasi DNS agar mengarah ke alamat IP yang disediakan, gunakan opsi
resolve
untuk mengganti alamat yang digunakan curl
.
curl -svo /dev/null --resolve DOMAIN_NAME:80:IP_ADDRESS "http://DOMAIN_NAME/FILE_NAME"
Ganti kode berikut:
DOMAIN_NAME
: domain host yang Anda tentukan saat membuat layananIP_ADDRESS
: alamat IP layanan seperti yang terlihat di kolom Alamat dalam daftar layananFILE_NAME
: nama file yang Anda upload ke bucket
Contoh:
curl -svo /dev/null --resolve web.example.com:80:34.104.37.129 "http://web.example.com/file.mp4"
Awalnya, perintah menghasilkan output yang mirip dengan berikut, dengan status miss
, karena Media CDN belum mengambil data yang diminta dari origin:
< HTTP/2 200 OK
...
< x-cache-status: den;miss
...
Jika Anda mengirimkan permintaan yang sama lagi beberapa kali, permintaan tersebut akan menghasilkan output yang mirip dengan berikut, dengan status hit
:
< HTTP/2 200 OK
...
< x-cache-status: den;hit
...
Jika tidak menampilkan status hit
, periksa hal berikut:
- Respons dapat di-cache.
- Mode cache yang dikonfigurasi memungkinkan konten di-cache.
- Situs asal tidak menetapkan perintah cache yang mencegah penyimpanan dalam cache. Untuk informasi selengkapnya, lihat Konfigurasi cache.
Anda kini telah menguji resource EdgeCacheService
dasar yang dapat menayangkan konten secara global. Layanan tingkat produksi mungkin memerlukan sertifikat SSL (TLS), beberapa origin, dan
kebijakan keamanan Google Cloud Armor.
Opsional: Pembersihan
Hapus semua resource yang tidak akan Anda gunakan lagi.
Konsol
Di konsol Google Cloud , buka halaman Media CDN.
Klik tab Services.
Pilih layanan Anda, lalu klik Hapus.
Klik tab Origins.
Pilih asal Anda, lalu klik Hapus.
gcloud
Untuk mencantumkan resource yang Anda buat, gunakan perintah
gcloud edge-cache origins list
dan perintahgcloud edge-cache services list
.Untuk menghapus layanan, gunakan perintah
gcloud edge-cache services delete
:gcloud edge-cache services delete SERVICE
Ganti
SERVICE
dengan nama layanan.Untuk menghapus origin, gunakan perintah
gcloud edge-cache origins delete
:gcloud edge-cache origins delete ORIGIN
Ganti
ORIGIN
dengan nama origin.
API
Untuk mencantumkan resource yang Anda buat, gunakan metode
edgeCacheServices.list
dan metodeedgeCacheOrigins.list
.Untuk menghapus layanan, gunakan metode
edgeCacheServices.delete
:DELETE https://networkservices.googleapis.com/v1/SERVICE_NAME
Ganti
SERVICE_NAME
dengan nama lengkap layanan. Gunakan format berikut:projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Ganti
SERVICE_ID
dengan nama pendek layanan.Untuk menghapus origin, gunakan metode
edgeCacheOrigins.delete
:DELETE https://networkservices.googleapis.com/v1/ORIGIN
Ganti
ORIGIN
dengan nama lengkap origin. Gunakan format berikut:projects/PROJECT/locations/global/edgeCacheOrigins/ORIGIN_ID
Ganti
ORIGIN_ID
dengan nama pendek origin.
Ulangi proses ini untuk resource lain yang Anda buat dan tidak ingin digunakan lagi, seperti bucket Cloud Storage.
Langkah berikutnya
- Terbitkan dan lampirkan sertifikat SSL (TLS)
ke
EdgeCacheService
Anda. - Lihat log permintaan dengan Cloud Logging.
- Konfigurasi permintaan bertanda tangan untuk melindungi konten Anda.
- Mengoptimalkan kunci cache dan TTL serta meningkatkan rasio hit cache.
- Konfigurasi pencocokan rute lanjutan dan buat origin tambahan.