En esta guía de inicio rápido se explica cómo configurar un servicio de Media CDN junto con un segmento de Cloud Storage. Puedes usar esta configuración para hacer pruebas o como base para un entorno de producción.
Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:
En esta página se explican los siguientes procedimientos:
- Crea un segmento de Cloud Storage para almacenar tu contenido.
- Habilita los servicios necesarios.
- Crea un recurso
EdgeCacheOrigin
para conectar Media CDN a tu segmento. - Crea un recurso
EdgeCacheService
para configurar el enrutamiento de solicitudes y el almacenamiento en caché del contenido del origen. - Comprueba si se está almacenando en caché una respuesta.
Antes de empezar
Asegúrate de que tienes lo siguiente:
Acceso a Media CDN para tu proyecto actual.
Google Cloud CLI instalado. Usa la versión 345.0.0 o una posterior.
Si es necesario, usa
gcloud version
para comprobar la versión ygcloud components update
para actualizar la CLI de gcloud que tengas instalada.La CLI de gcloud proporciona el grupo de subcomandos
gcloud edge-cache
para gestionar las configuraciones de Media CDN nuevas y ya disponibles.Los permisos de Gestión de Identidades y Accesos (IAM) necesarios para crear recursos de Media CDN.
Crea un segmento de Cloud Storage
El contenido de Media CDN puede proceder de ubicaciones como un segmento de Cloud Storage, una ubicación de almacenamiento de terceros o un balanceador de carga.
En esta guía de inicio rápido, almacenaremos contenido en un segmento de Cloud Storage.
Crea un segmento de Cloud Storage de acceso público y llámalo
my-bucket
.Si prefieres que tu segmento de Cloud Storage no sea accesible públicamente, debes dar permisos a Media CDN para acceder a él. Para obtener más información, consulta Usar segmentos privados de Cloud Storage.
Sube un archivo al segmento.
Habilita los servicios necesarios
Para configurar e implementar servicios de Media CDN, debes habilitar la API Network Services y la API Certificate Manager en tu proyecto.
Consola
Habilita la API Network Services.
Habilita la API Certificate Manager.
gcloud
Habilita la API Network Services:
gcloud services enable networkservices.googleapis.com
Habilita la API Certificate Manager:
gcloud services enable certificatemanager.googleapis.com
Para obtener más información sobre cómo habilitar e inhabilitar servicios, consulta la documentación de Uso de Servicio.
Crear un recurso EdgeCacheOrigin
Crea un origen que apunte a tu segmento de Cloud Storage.
Consola
En la Google Cloud consola, ve a la página Media CDN.
Haga clic en la pestaña Orígenes.
Haz clic en Crear origen.
Introduce el nombre del origen como
cloud-storage-origin
.Opcional: Introduce una descripción del origen.
En Dirección de origen, elige Seleccionar un segmento de Google Cloud Storage, busca el segmento de Cloud Storage llamado
my-bucket
y, a continuación, haz clic en Seleccionar.Si tienes un origen externo, elige Especificar un FQDN o una dirección IP y, a continuación, introduce el FQDN o la dirección IP.
Haz clic en Crear origen.
Después de unos 10 minutos, el recurso EdgeCacheOrigin
que ha creado aparecerá en la lista de orígenes de su proyecto en la página Orígenes.
Para actualizar una dirección de origen, haz clic en el origen y, a continuación, en
Editar.gcloud
Usa el comando gcloud edge-cache origins create
:
gcloud edge-cache origins create ORIGIN \
--origin-address="ADDRESS"
Haz los cambios siguientes:
ORIGIN
: el nombre del nuevo origenADDRESS
: el nombre del segmento,gs://my-bucket
Si tienes un origen externo, sustituye
ADDRESS
por el FQDN o la dirección IP.
Para ver el origen que acabas de crear, usa el comando gcloud edge-cache origins list
.
Para actualizar la dirección de origen, usa el comando gcloud edge-cache origins update
.
API
Usa el método edgeCacheOrigins.create
:
POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheOrigins?edgeCacheOriginId=ORIGIN_ID { "name": "ORIGIN_ID", "originAddress: "ADDRESS" }
Haz los cambios siguientes:
PARENT
: el recurso principal en el formatoprojects/PROJECT/locations/global
ORIGIN_ID
: nombre abreviado del nuevo origen.ADDRESS
: el nombre del segmento,gs://my-bucket
Si tienes un origen externo, sustituye
ADDRESS
por el FQDN o la dirección IP.
Para ver el origen recién creado, usa el método edgeCacheOrigins.list
.
Para actualizar la dirección de origen, usa el método edgeCacheOrigins.patch
.
Terraform
Crear un recurso EdgeCacheService
Tu recurso EdgeCacheService
configura los ajustes de enrutamiento, certificado y almacenamiento en caché, y puede apuntar a recursos EdgeCacheOrigin
.
Crea un recurso EdgeCacheService
básico que haga lo siguiente:
- Almacena en caché todas las respuestas de nuestro origen configurado durante una hora.
- Define un encabezado de respuesta
x-cache-status
que devuelve el estado de la caché (comoHIT
oMISS
).
También puedes registrar un nombre de dominio para este servicio.
Consola
En la Google Cloud consola, ve a la página Media CDN.
Haz clic en la pestaña Services (Servicios).
Haz clic en Crear servicio.
Introduce un nombre único para tu servicio (por ejemplo,
my-service
) y, a continuación, haz clic en Siguiente.En la sección Ruta, haz clic en Añadir regla de host y, a continuación, introduce uno o varios nombres de dominio de host.
En Hosts (Hosts), introduce un nombre de dominio de host; por ejemplo,
web.example.com
.Haz clic en Añadir regla de ruta.
- En Priority (Prioridad), especifica
1
. - Haga clic en Añadir condición de coincidencia, especifique
/
en Coincidencia de ruta y, a continuación, haga clic en Hecho. - Selecciona Obtener de un origen y, a continuación, el origen que hayas configurado.
- Haz clic en Acciones de complementos.
- En Acción del encabezado, haz clic en Añadir un elemento. A continuación, siga estos pasos:
- En Tipo, selecciona Encabezados de respuesta que se van a añadir.
- Haz clic en Añadir encabezado.
- En Nombre, especifica
x-cache-status
y, en Valor, especifica{cdn_cache_status}
. - Haz clic en Listo.
- En Acción de ruta, haz clic en Añadir un elemento. A continuación, siga estos pasos:
- En Type (Tipo), selecciona CDN policy (Política de CDN).
- En Cache mode (Modo de caché), selecciona FORCE_CACHE_ALL.
- Haz clic en Listo.
- Haz clic en Guardar.
- En Priority (Prioridad), especifica
Haz clic en Crear servicio.
El recurso EdgeCacheService
que acabas de crear aparece en la página Servicios
de la lista de servicios de tu proyecto.
gcloud
En Cloud Shell, usa un editor de texto para crear un archivo local llamado
my-service.yaml
.Este archivo indica lo siguiente:
- Cómo funciona el enrutamiento: primero se busca una coincidencia con el host y, después, con la ruta
- Cómo funciona el almacenamiento en caché en función del modo de caché y del TTL
- Cómo se modifican las solicitudes y las respuestas (por ejemplo, insertando la variable
cdn_cache_status
en un encabezado de respuesta)
Pega el siguiente contenido de ejemplo en el archivo y, a continuación, guárdalo:
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}"
Haz los cambios siguientes:
SERVICE
: nombre del servicioDOMAIN
: el dominio del nuevo servicioSi especifica el nombre de dominio, Media CDN responde con un error
404
para otros hosts.ORIGIN
: el nombre del origen relacionado
Usa el comando
gcloud edge-cache services import
con el archivo YAML:gcloud edge-cache services import SERVICE \ --source=my-service.yaml
Para ver el servicio que acabas de crear en la lista de
EdgeCacheService
recursos de tu proyecto, usa el comandogcloud edge-cache services list
.
API
Usa el método 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}" } ] }, } ] } ] } }
Haz los cambios siguientes:
PARENT
: el recurso principal en el formatoprojects/PROJECT/locations/global
SERVICE_ID
: el nombre del servicioDOMAIN
: el dominio del nuevo servicioSi especifica el nombre de dominio, Media CDN responde con un error
404
para otros hosts.ORIGIN_NAME
: el nombre del origen relacionado
Para ver el servicio recién creado en la lista de recursos EdgeCacheService
de tu proyecto, usa el método edgeCacheServices.list
.
Terraform
Puede que el primer servicio tarde varios minutos en crearse. Media CDN proporciona direcciones IP dedicadas y envía tu configuración a miles de ubicaciones perimetrales. Las actualizaciones posteriores de un servicio, como el cambio de una configuración de ruta o de parámetros coincidentes, son más rápidas.
Obtener las direcciones IP
Para ver las direcciones IP del servicio que acabas de crear, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Media CDN.
Haz clic en la pestaña Services (Servicios).
Para ver las direcciones IP de tu servicio, consulta la celda Direcciones.
Si la celda está vacía, actualiza el navegador.
gcloud
Usa el comando gcloud edge-cache services describe
:
gcloud edge-cache services describe SERVICE
Sustituye SERVICE por el nombre del servicio.
En el resultado se muestran las direcciones IP asignadas a tu servicio:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
name: projects/my-project/locations/global/edgeCacheServices/SERVICE
...
API
Usa el método edgeCacheServices.get
:
GET https://networkservices.googleapis.com/v1/SERVICE_NAME
Sustituye SERVICE_NAME
por el nombre completo del servicio. Utiliza el siguiente formato:
projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Sustituye SERVICE_ID
por el nombre corto del servicio.
Los detalles obtenidos incluyen las direcciones IP asignadas al servicio:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
Comprobar si se está almacenando en caché una respuesta
Antes de probar el servicio, asegúrate de que haya contenido almacenado en caché en tu origen para que Media CDN pueda recuperarlo.
Para comprobar que tu servicio está configurado correctamente para almacenar contenido en caché, usa la herramienta de línea de comandos curl
para enviar solicitudes y comprobar las respuestas. curl
también está disponible en Cloud Shell en la consola Google Cloud .
Si quieres usar tu EdgeCacheService
con tu dominio, puedes asignar la dirección IP del EdgeCacheService
a un registro de dominio. Para obtener instrucciones, consulta el artículo Configurar un dominio con Cloud DNS.
Una vez que hayas configurado tu dominio, accede a tu contenido con el siguiente comando curl
:
curl -svo /dev/null "http://DOMAIN_NAME/FILE_NAME"
Si no has configurado el DNS para que apunte a las direcciones IP aprovisionadas, usa la opción resolve
para anular la dirección que usa curl
.
curl -svo /dev/null --resolve DOMAIN_NAME:80:IP_ADDRESS "http://DOMAIN_NAME/FILE_NAME"
Haz los cambios siguientes:
DOMAIN_NAME
: el dominio de host que especificaste al crear el servicioIP_ADDRESS
: la dirección IP del servicio tal como se muestra en la columna Direcciones de la lista de serviciosFILE_NAME
: el nombre del archivo que has subido al segmento
Ejemplo:
curl -svo /dev/null --resolve web.example.com:80:34.104.37.129 "http://web.example.com/file.mp4"
Al principio, el comando genera un resultado similar al siguiente, con el estado miss
, porque Media CDN aún no ha obtenido los datos solicitados de origen:
< HTTP/2 200 OK
...
< x-cache-status: den;miss
...
Si vuelves a enviar la misma solicitud varias veces, se generará un resultado similar al siguiente, con el estado hit
:
< HTTP/2 200 OK
...
< x-cache-status: den;hit
...
Si no aparece el estado hit
, comprueba lo siguiente:
- La respuesta se puede almacenar en caché.
- El modo de caché configurado permite almacenar en caché el contenido.
- El origen no está definiendo directivas de caché que impidan el almacenamiento en caché. Para obtener más información, consulta Configuración de la caché.
Ahora has probado un recurso EdgeCacheService
básico que puede servir contenido en todo el mundo. Un servicio de nivel de producción puede necesitar certificados SSL (TLS), varios orígenes y una política de seguridad de Google Cloud Armor.
Opcional: limpiar
Elimina los recursos que no vayas a volver a usar.
Consola
En la Google Cloud consola, ve a la página Media CDN.
Haz clic en la pestaña Services (Servicios).
Selecciona el servicio y haz clic en Eliminar.
Haga clic en la pestaña Orígenes.
Selecciona el origen y haz clic en Eliminar.
gcloud
Para ver una lista de los recursos que has creado, usa el comando
gcloud edge-cache origins list
y el comandogcloud edge-cache services list
.Para eliminar el servicio, usa el comando
gcloud edge-cache services delete
:gcloud edge-cache services delete SERVICE
Sustituye
SERVICE
por el nombre del servicio.Para eliminar el origen, usa el comando
gcloud edge-cache origins delete
:gcloud edge-cache origins delete ORIGIN
Sustituye
ORIGIN
por el nombre del origen.
API
Para enumerar los recursos que has creado, usa el método
edgeCacheServices.list
y el métodoedgeCacheOrigins.list
.Para eliminar el servicio, utiliza el método
edgeCacheServices.delete
:DELETE https://networkservices.googleapis.com/v1/SERVICE_NAME
Sustituye
SERVICE_NAME
por el nombre completo del servicio. Utiliza el siguiente formato:projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Sustituye
SERVICE_ID
por el nombre corto del servicio.Para eliminar el origen, usa el método
edgeCacheOrigins.delete
:DELETE https://networkservices.googleapis.com/v1/ORIGIN
Sustituye
ORIGIN
por el nombre completo del origen. Utiliza el siguiente formato:projects/PROJECT/locations/global/edgeCacheOrigins/ORIGIN_ID
Sustituye
ORIGIN_ID
por el nombre corto del origen.
Repite este proceso con todos los recursos que hayas creado y que no vayas a volver a usar, como el segmento de Cloud Storage.
Siguientes pasos
- Emitir y adjuntar un certificado SSL (TLS)
a tu
EdgeCacheService
. - Consulta los registros de solicitudes con Cloud Logging.
- Configura solicitudes firmadas para proteger tu contenido.
- Optimiza las claves de caché y los TTLs y mejora las tasas de aciertos de caché.
- Configura la coincidencia de rutas avanzada y crea orígenes adicionales.