Questa guida rapida mostra come configurare un servizio Media CDN per in un bucket Cloud Storage. Puoi utilizzare questa configurazione per i test o la base di 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:
- Creare un bucket Cloud Storage in cui archiviare i tuoi contenuti.
- Abilita i servizi richiesti.
- Crea una risorsa
EdgeCacheOrigin
a cui connettere Media CDN del bucket. - Crea una risorsa
EdgeCacheService
per configurare il routing delle richieste e 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 attuale.
Hai installato Google Cloud CLI. Usa la versione 345.0.0 o in un secondo momento.
Se necessario, usa
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 di configurazioni di Media CDN nuove ed esistenti.Le autorizzazioni IAM (Identity and Access Management) necessarie per la creazione Risorse Media CDN. CDN multimediale include i seguenti ruoli IAM predefiniti:
roles/networkservices.edgeCacheAdmin
roles/networkservices.edgeCacheUser
roles/networkservices.edgeCacheViewer
Crea un bucket Cloud Storage
I contenuti di Media CDN possono provenire da posizioni quali un bucket Cloud Storage, una località di archiviazione di terze parti o un carico con il bilanciatore del carico di rete passthrough esterno regionale.
In questa guida rapida, archivieremo i contenuti in un bucket Cloud Storage.
Crea un bucket Cloud Storage accessibile pubblicamente e assegnagli il nome
my-bucket
.Se preferisci non rendere pubblico il tuo bucket Cloud Storage accessibile, devi concedere a Media CDN le autorizzazioni per accedere di sincronizzare la directory di una VM con un bucket. Per ulteriori informazioni, vedi Utilizzo dei bucket Cloud Storage privati.
Caricare un file nel bucket.
Abilita i servizi richiesti
Per configurare ed eseguire il deployment dei servizi Media CDN, devi abilitare sia l'API Network Services e l'API Certificate Manager per il tuo progetto.
Console
Attiva 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 disattivazione dei servizi, consulta Documentazione sull'utilizzo dei servizi.
Crea una risorsa EdgeCacheOrigin
Crea un'origine che punti al bucket Cloud Storage.
Console
Nella console Google Cloud, vai alla pagina Media CDN.
Fai clic sulla scheda Origini.
Fai clic su Crea origine.
Inserisci
cloud-storage-origin
come nome dell'origine.(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 IP e inserisci il nome di dominio completo o l'indirizzo IP.
Fai clic su Crea origine.
Dopo circa 10 minuti, la risorsa EdgeCacheOrigin
appena creata
viene visualizzato nell'elenco delle origini del progetto alla pagina Origini.
Per aggiornare un indirizzo di origine, fai clic sull'origine e poi su
Modifica.gcloud
Usa 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
: nome del bucket,gs://my-bucket
Se invece hai un'origine esterna, sostituisci
ADDRESS
con il nome di dominio completo o un indirizzo IP.
Per visualizzare l'origine appena creata, utilizza la
Comando gcloud edge-cache origins list
.
Per aggiornare l'indirizzo di origine, utilizza il
Comando gcloud edge-cache origins update
.
API
Utilizza la
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
: nome del bucket,gs://my-bucket
Se invece hai un'origine esterna, sostituisci
ADDRESS
con il nome di dominio completo o un indirizzo IP.
Per visualizzare l'origine appena creata, utilizza la
Metodo edgeCacheOrigins.list
.
Per aggiornare l'indirizzo di origine, utilizza il
Metodo edgeCacheOrigins.patch
.
Terraform
Crea una risorsa EdgeCacheService
La risorsa EdgeCacheService
configura il routing, i certificati e la memorizzazione nella cache
e può rimandare a EdgeCacheOrigin
risorse.
Crea una risorsa EdgeCacheService
di base che fa quanto segue:
- Memorizza nella cache tutte le risposte dall'origine configurata per un'ora
- Imposta un'intestazione della risposta
x-cache-status
che restituisce lo stato della cache (ad esempioHIT
oMISS
)
Facoltativamente, 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, quindi inserisci una regola host. 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.
- Per Nome specifica
x-cache-status
e per 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 sezione Servizi
nell'elenco dei servizi del tuo progetto.
gcloud
In Cloud Shell, utilizza un editor di testo per creare un file locale denominato
my-service.yaml
.Questo file indica quanto segue:
- Come funziona il routing: abbinando prima l'host e poi il percorso
- Funzionamento della memorizzazione nella cache, in base a modalità cache e TTL
- Il modo in cui vengono modificate richieste e 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
404
errore per gli altri host. *ORIGIN
: il nome dell'origine correlataUsa 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 di
EdgeCacheService
per le risorse del tuo progetto, utilizza Comandogcloud edge-cache services list
.
API
Utilizza la
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 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 di EdgeCacheService
risorse
nel tuo progetto, utilizza
Metodo edgeCacheServices.list
.
Terraform
La creazione del tuo primo servizio potrebbe richiedere diversi minuti. Media CDN esegue il provisioning di indirizzi IP dedicati ed esegue il push dei tuoi configurazione a migliaia di località sul perimetro della rete. I successivi aggiornamenti di un servizio quali la modifica della configurazione di una route o dei parametri di corrispondenza, sono più veloci.
Recupera gli indirizzi IP
Per visualizzare gli indirizzi IP del servizio che hai appena creato, segui questi passaggi:
Console
Nella console Google Cloud, vai alla pagina Media CDN.
Fai clic sulla scheda Services (Servizi).
Per gli indirizzi IP del servizio, vedi la cella Indirizzi.
Se la cella è vuota, aggiorna il browser.
gcloud
Usa 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 la
Metodo edgeCacheServices.get
:
GET https://networkservices.googleapis.com/v1/SERVICE_NAME
Sostituisci SERVICE_NAME
con il nome completo del
completamente gestito di Google Cloud. 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 che sia memorizzabile nella cache contenuti archiviati nella tua origine Media CDN può recuperarlo.
Per verificare che il servizio sia configurato correttamente per memorizzare i contenuti nella cache, utilizza
lo strumento a riga di comando curl
per inviare le richieste e controllare le risposte. curl
è disponibile anche in Cloud Shell nella console Google Cloud.
Se desideri utilizzare EdgeCacheService
con il tuo dominio,
puoi assegnare l'indirizzo IP di EdgeCacheService
a un record di dominio. Per
istruzioni, vedi Configurare il dominio utilizzando Cloud DNS.
Dopo aver configurato il dominio, accedi ai tuoi contenuti con i seguenti 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
Opzione resolve
per eseguire l'override dell'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 mentre crei il servizioIP_ADDRESS
: l'indirizzo IP del servizio come visibile nella colonna Indirizzi nell'elenco dei serviziFILE_NAME
: il nome del file che hai caricato il bucket
Esempio:
curl -svo /dev/null --resolve web.example.com:80:34.104.37.129 "http://web.example.com/file.mp4"
Il comando produce inizialmente un output simile al seguente, con
stato miss
, perché Media CDN non dispone della richiesta
dati già recuperati dall'origine:
< HTTP/2 200 OK
...
< x-cache-status: den;miss
...
Quando invii nuovamente la stessa richiesta un numero qualsiasi di volte, viene generata una
simile al seguente, con stato hit
:
< HTTP/2 200 OK
...
< x-cache-status: den;hit
...
Se non mostra lo stato hit
, controlla quanto segue:
- La risposta può essere memorizzata nella cache.
- La modalità cache configurata consente la memorizzazione nella cache dei contenuti.
- L'origine non imposta direttive relative alla cache che impediscono la memorizzazione nella cache. Per maggiori informazioni informazioni, consulta Configurazione della cache.
Ora hai testato una risorsa EdgeCacheService
di base che può essere pubblicata
contenuti a livello globale. Un servizio di livello enterprise potrebbe richiedere SSL (TLS)
certificati, più origini e un
Criterio di sicurezza di Google Cloud Armor.
(Facoltativo) Eseguire la pulizia
Elimina tutte 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 Comando
gcloud edge-cache origins list
e il comandogcloud edge-cache services list
.Per eliminare il servizio, utilizza il metodo Comando
gcloud edge-cache services delete
:gcloud edge-cache services delete SERVICE
Sostituisci
SERVICE
con il nome del servizio.Per eliminare l'origine, utilizza 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 Metodo
edgeCacheServices.list
e il metodoedgeCacheOrigins.list
.Per eliminare il servizio, utilizza il metodo Metodo
edgeCacheServices.delete
:DELETE https://networkservices.googleapis.com/v1/SERVICE_NAME
Sostituisci
SERVICE_NAME
con il nome completo del completamente gestito di Google Cloud. 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 Metodo
edgeCacheOrigins.delete
:DELETE https://networkservices.googleapis.com/v1/ORIGIN
Sostituisci
ORIGIN
con il nome completo del origine dati. 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 non vuoi per riutilizzarlo, ad esempio il bucket Cloud Storage.
Passaggi successivi
- Emettere e allegare un certificato SSL (TLS)
al tuo
EdgeCacheService
. - Visualizza log delle richieste con Cloud Logging.
- Configurare le richieste firmate per proteggere i tuoi contenuti.
- Ottimizzare chiavi cache e TTL e migliorare le percentuali di successo della cache.
- Configurare la corrispondenza avanzata delle route e ne creeremo altre.