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
EdgeCacheOriginpara conectar Media CDN a tu segmento. - Crea un recurso
EdgeCacheServicepara 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 versionpara comprobar la versión ygcloud components updatepara actualizar la CLI de gcloud que tengas instalada.La CLI de gcloud proporciona el grupo de subcomandos
gcloud edge-cachepara 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.comHabilita 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-buckety, 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-bucketSi tienes un origen externo, sustituye
ADDRESSpor 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/globalORIGIN_ID: nombre abreviado del nuevo origen.ADDRESS: el nombre del segmento,gs://my-bucketSi tienes un origen externo, sustituye
ADDRESSpor 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-statusque devuelve el estado de la caché (comoHIToMISS).
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-statusy, 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_statusen 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
404para otros hosts.ORIGIN: el nombre del origen relacionado
Usa el comando
gcloud edge-cache services importcon el archivo YAML:gcloud edge-cache services import SERVICE \ --source=my-service.yamlPara ver el servicio que acabas de crear en la lista de
EdgeCacheServicerecursos 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/globalSERVICE_ID: el nombre del servicioDOMAIN: el dominio del nuevo servicioSi especifica el nombre de dominio, Media CDN responde con un error
404para 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 listy el comandogcloud edge-cache services list.Para eliminar el servicio, usa el comando
gcloud edge-cache services delete:gcloud edge-cache services delete SERVICESustituye
SERVICEpor el nombre del servicio.Para eliminar el origen, usa el comando
gcloud edge-cache origins delete:gcloud edge-cache origins delete ORIGINSustituye
ORIGINpor el nombre del origen.
API
Para enumerar los recursos que has creado, usa el método
edgeCacheServices.listy el métodoedgeCacheOrigins.list.Para eliminar el servicio, utiliza el método
edgeCacheServices.delete:DELETE https://networkservices.googleapis.com/v1/SERVICE_NAMESustituye
SERVICE_NAMEpor el nombre completo del servicio. Utiliza el siguiente formato:projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Sustituye
SERVICE_IDpor el nombre corto del servicio.Para eliminar el origen, usa el método
edgeCacheOrigins.delete:DELETE https://networkservices.googleapis.com/v1/ORIGINSustituye
ORIGINpor el nombre completo del origen. Utiliza el siguiente formato:projects/PROJECT/locations/global/edgeCacheOrigins/ORIGIN_ID
Sustituye
ORIGIN_IDpor 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.