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 Google Cloud console, 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 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 tuo progetto attuale.
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 installata.gcloud CLI fornisce il gruppo di sottocomandi
gcloud edge-cache
per la gestione delle configurazioni CDN Media 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 Media possono provenire da posizioni come un bucket Cloud Storage, una posizione di archiviazione di terze parti o un bilanciamento del carico.
In questa guida rapida, archivieremo i contenuti in un bucket Cloud Storage.
Crea un bucket Cloud Storage accessibile pubblicamente e chiamalo
my-bucket
.Se preferisci non rendere pubblicamente accessibile il bucket Cloud Storage, devi concedere a Media CDN le autorizzazioni per accedere al bucket. Per maggiori informazioni, consulta Utilizzo di bucket Cloud Storage privati.
Caricare un file nel bucket.
Attiva i servizi richiesti
Per configurare e implementare i servizi Media CDN, devi abilitare 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 rimandi al tuo bucket Cloud Storage.
Console
Nella console Google Cloud , vai alla pagina Media CDN.
Fai clic sulla scheda Origins.
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 poi inserisci il 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 Origins.
Per aggiornare un indirizzo di origine, 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 invece 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 padre nel formatoprojects/PROJECT/locations/global
ORIGIN_ID
: il nome breve della nuova origineADDRESS
: il nome del bucket,gs://my-bucket
Se invece 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 alle risorse EdgeCacheOrigin
.
Crea una risorsa EdgeCacheService
di base che:
- Memorizza nella cache tutte le risposte dall'origine configurata per un'ora
- Imposta un'intestazione di risposta
x-cache-status
che restituisce lo stato della cache (ad esempioHIT
oMISS
)
(Facoltativo) 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 poi 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 abbinato l'host e poi il percorso
- Come funziona la memorizzazione nella cache in base alla modalità cache e al TTL
- 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, quindi 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
: il nome del servizioDOMAIN
: il dominio per il nuovo servizioSe specifichi il nome di dominio, Media CDN risponde con un errore
404
per gli altri host.ORIGIN
: il nome dell'origine correlata
Utilizza 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 padre nel formatoprojects/PROJECT/locations/global
SERVICE_ID
: il nome del servizioDOMAIN
: il dominio per il 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 invia la configurazione a migliaia di località perimetrali. Gli aggiornamenti successivi a un servizio, come la modifica di una configurazione di percorso o dei parametri di corrispondenza, sono più rapidi.
Recuperare 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 tuo 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 tuo 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 aver memorizzato contenuti memorizzabili nella cache 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 tuoi 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 agli indirizzi IP di cui è stato eseguito il provisioning, utilizza l'opzione
resolve
per ignorare 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 visibile nella colonna Indirizzi dell'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"
Inizialmente, il comando 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 generato 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 di memorizzazione nella cache che impediscono la memorizzazione nella cache. Per ulteriori informazioni, consulta la sezione 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 una policy di sicurezza 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 Origins.
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 utilizzare di nuovo, 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 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.