Questa guida rapida mostra come configurare un servizio Media CDN di fronte a un bucket Cloud Storage. Puoi utilizzare questa configurazione per i test o come base per un ambiente di produzione.
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
Questa pagina illustra le seguenti procedure:
- Crea un bucket Cloud Storage per archiviare i tuoi contenuti.
- Attiva i servizi richiesti.
- Crea una risorsa
EdgeCacheOrigin
per connettere Media CDN al tuo bucket. - Crea una risorsa
EdgeCacheService
per configurare il routing delle richieste e la memorizzazione nella cache per i contenuti nell'origine. - Testa se una risposta è memorizzata nella cache.
Prima di iniziare
Assicurati di disporre di quanto segue:
Accesso a Media CDN per il progetto corrente.
Google Cloud CLI installato. Utilizza la versione 345.0.0 o successiva.
Se necessario, utilizza
gcloud version
per controllare la versione egcloud components update
per aggiornare gcloud CLI installato.Gcloud CLI fornisce il gruppo di comandi secondari
gcloud edge-cache
per gestire le configurazioni CDN multimediali nuove ed esistenti.Le autorizzazioni Identity and Access Management (IAM) necessarie per creare risorse Media CDN.
Crea un bucket Cloud Storage
I contenuti della CDN multimediale possono provenire da origini come un bucket Cloud Storage, una posizione di archiviazione di terze parti o un bilanciamento del carico.
In questa guida rapida, archiviamo i contenuti in un bucket Cloud Storage.
Crea un bucket Cloud Storage accessibile pubblicamente e chiamalo
my-bucket
.Se preferisci non rendere il tuo bucket Cloud Storage accessibile pubblicamente, devi concedere a Media CDN le autorizzazioni per accedere al bucket. Per ulteriori informazioni, consulta Utilizzare i bucket Cloud Storage privati.
Carica un file nel bucket.
Attiva i servizi richiesti
Per configurare ed eseguire il deployment dei servizi Media CDN, devi attivare sia l'API Network Services sia l'API Certificate Manager per il tuo progetto.
Console
Abilita l'API Network Services.
Abilita l'API Certificate Manager.
gcloud
Abilita l'API Network Services:
gcloud services enable networkservices.googleapis.com
Abilita l'API Certificate Manager:
gcloud services enable certificatemanager.googleapis.com
Per ulteriori informazioni sull'attivazione e la disattivazione dei servizi, consulta la documentazione di Service Usage.
Crea una risorsa EdgeCacheOrigin
Crea un'origine che punti al tuo bucket Cloud Storage.
Console
Nella console Google Cloud, vai alla pagina Media CDN.
Fai clic sulla scheda Origini.
Fai clic su Crea origine.
Inserisci il nome dell'origine come
cloud-storage-origin
.(Facoltativo) Inserisci una descrizione per l'origine.
Per Indirizzo di origine, scegli Seleziona un bucket Google Cloud Storage, accedi al bucket Cloud Storage denominato
my-bucket
e fai clic su Seleziona.Se invece hai un'origine esterna, scegli Specifica un FQDN o un indirizzo IP e inserisci l'FQDN o l'indirizzo IP.
Fai clic su Crea origine.
Dopo circa 10 minuti, la risorsa EdgeCacheOrigin
appena creata viene visualizzata nell'elenco delle origini del progetto nella pagina Origini.
Per aggiornare un indirizzo di partenza, fai clic sull'origine e poi su
Modifica.gcloud
Utilizza il comando gcloud edge-cache origins create
:
gcloud edge-cache origins create ORIGIN \
--origin-address="ADDRESS"
Sostituisci quanto segue:
ORIGIN
: il nome della nuova origineADDRESS
: il nome del bucket,gs://my-bucket
Se hai un'origine esterna, sostituisci
ADDRESS
con l'FQDN o l'indirizzo IP.
Per visualizzare l'origine appena creata, utilizza il
comando gcloud edge-cache origins list
.
Per aggiornare l'indirizzo di origine, utilizza il
comando gcloud edge-cache origins update
.
API
Utilizza il
metodo edgeCacheOrigins.create
:
POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheOrigins?edgeCacheOriginId=ORIGIN_ID { "name": "ORIGIN_ID", "originAddress: "ADDRESS" }
Sostituisci quanto segue:
PARENT
: la risorsa principale nel formatoprojects/PROJECT/locations/global
ORIGIN_ID
: il nome breve della nuova origineADDRESS
: il nome del bucket,gs://my-bucket
Se hai un'origine esterna, sostituisci
ADDRESS
con l'FQDN o l'indirizzo IP.
Per visualizzare l'origine appena creata, utilizza il
metodo edgeCacheOrigins.list
.
Per aggiornare l'indirizzo di origine, utilizza il
metodo edgeCacheOrigins.patch
.
Terraform
Crea una risorsa EdgeCacheService
La risorsa EdgeCacheService
configura le impostazioni di routing, certificato e memorizzazione nella cache e può puntare a risorse EdgeCacheOrigin
.
Crea una risorsa EdgeCacheService
di base che:
- Memorizza nella cache tutte le risposte della nostra origine configurata per un'ora
- Imposta un'intestazione di risposta
x-cache-status
che restituisce lo stato della cache (ad esempioHIT
oMISS
)
Se vuoi, registra un nome di dominio per questo servizio.
Console
Nella console Google Cloud, vai alla pagina Media CDN.
Fai clic sulla scheda Services (Servizi).
Fai clic su Crea servizio.
Inserisci un nome univoco per il tuo servizio, ad esempio
my-service
, poi fai clic su Avanti.Nella sezione Routing, fai clic su Aggiungi regola host e inserisci uno o più nomi di dominio host.
In Host inserisci un nome di dominio dell'host, ad esempio
web.example.com
.Fai clic su Aggiungi regola di percorso.
- In Priorità, specifica
1
. - Fai clic su Aggiungi condizione di corrispondenza, per Corrispondenza del percorso specifica
/
, quindi fai clic su Fine. - Seleziona Recupera da un'origine, quindi seleziona l'origine che hai configurato.
- Fai clic su Azioni aggiuntive.
- In Azione intestazione, fai clic su Aggiungi un elemento. Poi:
- Per Tipo, seleziona Intestazioni di risposta da aggiungere.
- Fai clic su Aggiungi intestazione.
- In Nome, specifica
x-cache-status
e in Valore, specifica{cdn_cache_status}
. - Fai clic su Fine.
- In Azione del percorso, fai clic su Aggiungi un elemento. Poi:
- In Tipo, seleziona Criterio CDN.
- Per Modalità cache, seleziona FORCE_CACHE_ALL.
- Fai clic su Fine.
- Fai clic su Salva.
- In Priorità, specifica
Fai clic su Crea servizio.
La risorsa EdgeCacheService
appena creata viene visualizzata nella pagina Servizi nell'elenco dei servizi del progetto.
gcloud
In Cloud Shell, utilizza un editor di testo per creare un file locale denominato
my-service.yaml
.Un file di questo tipo indica quanto segue:
- Come funziona il routing: prima viene trovata una corrispondenza per l'host e poi per il percorso
- Come funziona la memorizzazione nella cache, in base alla modalità e al TTL della cache
- Come vengono modificate le richieste e le risposte, ad esempio inserendo la variabile
cdn_cache_status
in un'intestazione di risposta
Incolla i seguenti contenuti di esempio nel file e salvalo:
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}"
Sostituisci quanto segue:
SERVICE
: nome del servizioDOMAIN
: il dominio del nuovo servizio
Se specifichi il nome di dominio, Media CDN risponde con un errore
404
per gli altri host. *ORIGIN
: il nome dell'origine correlataUtilizza il comando
gcloud edge-cache services import
con il file.yaml
:gcloud edge-cache services import SERVICE \ --source=my-service.yaml
Per visualizzare il servizio appena creato nell'elenco delle risorse
EdgeCacheService
nel tuo progetto, utilizza il comandogcloud edge-cache services list
.
API
Utilizza il
metodo 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}" } ] }, } ] } ] } }
Sostituisci quanto segue:
PARENT
: la risorsa principale nel formatoprojects/PROJECT/locations/global
SERVICE_ID
: il nome del servizioDOMAIN
: il dominio del nuovo servizioSe specifichi il nome di dominio, Media CDN risponde con un errore
404
per gli altri host.ORIGIN_NAME
: il nome dell'origine correlata
Per visualizzare il servizio appena creato nell'elenco delle risorse EdgeCacheService
nel tuo progetto, utilizza il metodo edgeCacheServices.list
.
Terraform
La creazione del primo servizio potrebbe richiedere diversi minuti. Media CDN esegue il provisioning di indirizzi IP dedicati e spinge la configurazione su migliaia di località perimetrali. Gli aggiornamenti successivi a un servizio, come la modifica della configurazione di un percorso o dei parametri di corrispondenza, sono più rapidi.
Recupera gli indirizzi IP
Per visualizzare gli indirizzi IP del servizio appena creato:
Console
Nella console Google Cloud, vai alla pagina Media CDN.
Fai clic sulla scheda Services (Servizi).
Per gli indirizzi IP del servizio, consulta la cella Indirizzi.
Se la cella è vuota, aggiorna il browser.
gcloud
Utilizza il comando gcloud edge-cache services describe
:
gcloud edge-cache services describe SERVICE
Sostituisci SERVICE con il nome del servizio.
L'output mostra gli indirizzi IP assegnati al servizio:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
name: projects/my-project/locations/global/edgeCacheServices/SERVICE
...
API
Utilizza il
metodo edgeCacheServices.get
:
GET https://networkservices.googleapis.com/v1/SERVICE_NAME
Sostituisci SERVICE_NAME
con il nome completo del servizio. Utilizza il formato seguente:
projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Sostituisci SERVICE_ID
con il nome breve del servizio.
I dettagli recuperati includono gli indirizzi IP assegnati al servizio:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
Testa se una risposta è memorizzata nella cache
Prima di testare il servizio, assicurati di avere contenuti memorizzabili nella cache archiviati nell'origine in modo che Media CDN possa recuperarli.
Per verificare che il servizio sia configurato correttamente per memorizzare nella cache i contenuti, utilizza lo strumento a riga di comando curl
per inviare richieste e controllare le risposte. curl
è disponibile anche in Cloud Shell nella console Google Cloud.
Se vuoi utilizzare il tuo EdgeCacheService
con il tuo dominio,
puoi assegnare l'indirizzo IP del EdgeCacheService
a un record di dominio. Per istruzioni, consulta Configurare il dominio utilizzando Cloud DNS.
Dopo aver configurato il dominio, accedi ai contenuti con il seguente comando curl
:
curl -svo /dev/null "http://DOMAIN_NAME/FILE_NAME"
Se non hai configurato il DNS in modo che punti ai tuoi indirizzi IP di cui è stato eseguito il provisioning, utilizza l'opzione
resolve
per sostituire l'indirizzo utilizzato da curl
.
curl -svo /dev/null --resolve DOMAIN_NAME:80:IP_ADDRESS "http://DOMAIN_NAME/FILE_NAME"
Sostituisci quanto segue:
DOMAIN_NAME
: il dominio host specificato durante la creazione del servizioIP_ADDRESS
: l'indirizzo IP del servizio come visualizzato nella colonna Indirizzi nell'elenco dei serviziFILE_NAME
: il nome del file che hai caricato nel bucket
Esempio:
curl -svo /dev/null --resolve web.example.com:80:34.104.37.129 "http://web.example.com/file.mp4"
Il comando inizialmente produce un output simile al seguente, con lo stato miss
, perché Media CDN non ha recuperato i dati richiesti dall'origine:
< HTTP/2 200 OK
...
< x-cache-status: den;miss
...
Quando invii di nuovo la stessa richiesta un numero qualsiasi di volte, viene prodotto un output simile al seguente, con lo stato hit
:
< HTTP/2 200 OK
...
< x-cache-status: den;hit
...
Se non viene visualizzato lo stato hit
, controlla quanto segue:
- La risposta è memorizzabile nella cache.
- La modalità cache configurata consente la memorizzazione nella cache dei contenuti.
- L'origine non imposta direttive della cache che ne impediscono la memorizzazione. Per ulteriori informazioni, consulta Configurazione della cache.
Ora hai testato una risorsa EdgeCacheService
di base che può pubblicare contenuti a livello globale. Un servizio di livello di produzione potrebbe richiedere certificati SSL (TLS), più origini e un criterio di sicurezza di Google Cloud Armor.
(Facoltativo) Pulizia
Elimina le risorse che non intendi utilizzare di nuovo.
Console
Nella console Google Cloud, vai alla pagina Media CDN.
Fai clic sulla scheda Services (Servizi).
Seleziona il tuo servizio e fai clic su Elimina.
Fai clic sulla scheda Origini.
Seleziona l'origine e fai clic su Elimina.
gcloud
Per elencare le risorse che hai creato, utilizza il comando
gcloud edge-cache origins list
e il comandogcloud edge-cache services list
.Per eliminare il servizio, utilizza il comando
gcloud edge-cache services delete
:gcloud edge-cache services delete SERVICE
Sostituisci
SERVICE
con il nome del servizio.Per eliminare l'origine, utilizza il comando
gcloud edge-cache origins delete
:gcloud edge-cache origins delete ORIGIN
Sostituisci
ORIGIN
con il nome dell'origine.
API
Per elencare le risorse che hai creato, utilizza il metodo
edgeCacheServices.list
e il metodoedgeCacheOrigins.list
.Per eliminare il servizio, utilizza il metodo
edgeCacheServices.delete
:DELETE https://networkservices.googleapis.com/v1/SERVICE_NAME
Sostituisci
SERVICE_NAME
con il nome completo del servizio. Utilizza il formato seguente:projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Sostituisci
SERVICE_ID
con il nome breve del servizio.Per eliminare l'origine, utilizza il metodo
edgeCacheOrigins.delete
:DELETE https://networkservices.googleapis.com/v1/ORIGIN
Sostituisci
ORIGIN
con il nome completo dell'origine. Utilizza il formato seguente:projects/PROJECT/locations/global/edgeCacheOrigins/ORIGIN_ID
Sostituisci
ORIGIN_ID
con il nome breve dell'origine.
Ripeti questa procedura per tutte le altre risorse che hai creato e che non intendi riutilizzare, ad esempio il bucket Cloud Storage.
Passaggi successivi
- Emetti e allega un certificato SSL (TLS) al tuo
EdgeCacheService
. - Visualizza i log delle richieste con Cloud Logging.
- Configura le richieste firmate per proteggere i tuoi contenuti.
- Ottimizza le chiavi e i TTL della cache e migliora le percentuali di successo della cache.
- Configura la corrispondenza avanzata delle route e crea origini aggiuntive.