En esta guía de inicio rápido, aprenderás a configurar un servicio de Media CDN frente a un bucket de Cloud Storage. Puedes usar esta configuración para realizar pruebas o como base para un entorno de producción.
Para seguir la guía paso a paso en esta tarea directamente en la consola de Google Cloud, haz clic en Guiarme:
En esta página, se te guiará por los siguientes procedimientos:
- Crea un bucket de Cloud Storage para almacenar tu contenido.
- Habilita los servicios requeridos.
- Crea un recurso
EdgeCacheOrigin
para conectar Media CDN a tu bucket. - Crea un recurso
EdgeCacheService
para configurar el enrutamiento de solicitudes y almacenar en caché el contenido en el origen. - Prueba si una respuesta se almacena en caché.
Antes de comenzar
Asegúrate de tener lo siguiente:
Acceso a Media CDN para tu proyecto actual.
La Google Cloud CLI instalada. Usa la versión 345.0.0 o más adelante.
Si es necesario, usa
gcloud version
para verificar la versión ygcloud components update
para actualizar la CLI de gcloud instalada.Gcloud CLI proporciona el subgrupo de comandos
gcloud edge-cache
para administrar configuraciones de Media CDN nuevas y existentes.Los permisos de Identity and Access Management (IAM) necesarios para crear recursos de CDN de Media. Media CDN tiene las siguientes roles predefinidas de IAM:
roles/networkservices.edgeCacheAdmin
roles/networkservices.edgeCacheUser
roles/networkservices.edgeCacheViewer
Cree un bucket de Cloud Storage
El contenido de Media CDN puede provenir de ubicaciones como una de bucket de Cloud Storage, una ubicación de almacenamiento de terceros del balanceador de cargas.
En esta guía de inicio rápido, almacenaremos contenido en un bucket de Cloud Storage.
Crea un bucket de Cloud Storage de acceso público y asígnale el nombre
my-bucket
.Si prefieres que no se pueda acceder públicamente a tu bucket de Cloud Storage, debes otorgarle permisos a Media CDN para que pueda acceder al bucket. Para obtener más información, consulta Usa buckets privados de Cloud Storage.
Sube un archivo al bucket.
Habilita los servicios obligatorios
Para configurar e implementar servicios de Media CDN, debes habilitar con la API de Network Services y la API de Certificate Manager para tu proyecto.
Console
Habilita la API de Network Services.
Habilita el certificado de la API de Management.
gcloud
Habilita la API de Network Services:
gcloud services enable networkservices.googleapis.com
Habilita la API de administrador de certificados:
gcloud services enable certificatemanager.googleapis.com
Para obtener más información sobre cómo habilitar e inhabilitar servicios, consulta la documentación de Service Usage.
Crea un recurso EdgeCacheOrigin
Crea un origen que apunte a tu bucket de Cloud Storage.
Console
En la consola de Google Cloud, ve a la página Media CDN.
Haz clic en la pestaña Orígenes.
Haz clic en Crear origen.
Ingresa el nombre del origen como
cloud-storage-origin
.Ingresa una descripción para el origen (opcional).
En Dirección de origen, elige Seleccionar un bucket de Google Cloud Storage, navega al bucket de Cloud Storage llamado
my-bucket
y, luego, haz clic en Seleccionar.En cambio, si usas un origen externo, selecciona Especificar un FQDN o una IP dirección y luego ingresar el FQDN o la dirección IP.
Haz clic en Crear origen.
Después de aproximadamente 10 minutos, el recurso EdgeCacheOrigin
recién creado
aparezca en la lista de orígenes de tu proyecto en la página Origins.
Para actualizar una dirección de origen, haz clic en el origen y, luego, en
Editargcloud
Usa el comando gcloud edge-cache origins create
:
gcloud edge-cache origins create ORIGIN \
--origin-address="ADDRESS"
Reemplaza lo siguiente:
ORIGIN
: Es el nombre del origen nuevo.ADDRESS
: El nombre del bucket,gs://my-bucket
En cambio, si tienes un origen externo, reemplaza
ADDRESS
por el FQDN. o dirección IP.
Para ver el origen recién creado, 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" }
Reemplaza lo siguiente:
PARENT
: El recurso superior en el formatoprojects/PROJECT/locations/global
ORIGIN_ID
: Es el nombre corto del origen nuevo.ADDRESS
: Es el nombre del bucket,gs://my-bucket
.En cambio, si tienes un origen externo, reemplaza
ADDRESS
por el FQDN. o 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
Crea un recurso EdgeCacheService
Tu recurso EdgeCacheService
configura el enrutamiento, el certificado y el almacenamiento en caché
y puede apuntar a los recursos de EdgeCacheOrigin
.
Crea un recurso EdgeCacheService
básico que haga lo siguiente:
- Almacena en caché todas las respuestas desde nuestro origen configurado durante una hora
- Establece un encabezado de respuesta
x-cache-status
que muestra el estado de la caché. (por ejemplo,HIT
oMISS
)
De manera opcional, registra un nombre de dominio. para este servicio.
Console
En la consola de Google Cloud, ve a la página Media CDN.
Haga clic en la pestaña Servicios.
Haz clic en Crear servicio.
Ingresa un nombre único para tu servicio, por ejemplo,
my-service
, y haz clic en Siguiente.En la sección Enrutamiento, haz clic en Agregar regla de host y, luego, ingresa una. o más nombres de dominio de host.
En Hosts, ingresa un nombre de dominio de host, por ejemplo,
web.example.com
.Haz clic en Add route rule.
- En Prioridad, especifica
1
. - Haz clic en Add match condition, para Path match, especifica
/
y, luego, haz clic en Listo. - Selecciona Fetch from an Origin y, luego, selecciona el origen que configuraste.
- Haz clic en Acciones de complementos.
- En Header action, haz clic en Agregar un elemento. A continuación, haz lo siguiente:
- En Tipo, selecciona Response headers to add.
- Haz clic en Agregar encabezado.
- En Nombre, especifica
x-cache-status
y, en Valor, especifica{cdn_cache_status}
. - Haz clic en Listo.
- En Route action, haz clic en Agregar un elemento. A continuación, haz lo siguiente:
- En Tipo, selecciona CDN policy.
- En Modo de almacenamiento de caché, selecciona FORCE_CACHE_ALL.
- Haz clic en Listo.
- Haz clic en Guardar.
- En Prioridad, especifica
Haz clic en Crear servicio.
El recurso EdgeCacheService
recién creado aparece en Servicios.
en 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 hace coincidir el host y, luego, la ruta
- Cómo funciona el almacenamiento en caché según el modo de almacenamiento en caché y el 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 muestra en el archivo y, luego, 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}"
Reemplaza lo siguiente:
SERVICE
: Es el nombre del servicio.DOMAIN
: Es el dominio del servicio nuevo.
Si especificas el nombre de dominio, Media CDN responderá con un Error
404
para otros hosts. *ORIGIN
: El nombre del origen relacionadoUsa el comando
gcloud edge-cache services import
. por el archivo.yaml
:gcloud edge-cache services import SERVICE \ --source=my-service.yaml
Para ver el servicio creado recientemente en la lista de recursos
EdgeCacheService
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}" } ] }, } ] } ] } }
Reemplaza lo siguiente:
PARENT
: El recurso superior en el formatoprojects/PROJECT/locations/global
SERVICE_ID
: Es el nombre del servicio.DOMAIN
: Es el dominio del servicio nuevo.Si especificas el nombre de dominio, Media CDN responderá con un error
404
para otros hosts.ORIGIN_NAME
: Es el nombre del origen relacionado.
Para ver el servicio recién creado en la lista de EdgeCacheService
recursos
en tu proyecto, usa el
Método edgeCacheServices.list
.
Terraform
El primer servicio puede tardar varios minutos en crearse. Media CDN aprovisiona direcciones IP dedicadas y envía tu configuración a miles de ubicaciones perimetrales. Las actualizaciones posteriores de un servicio, como cambiar la configuración de una ruta o hacer coincidir los parámetros, son más rápidas.
Recupera las direcciones IP
Para ver las direcciones IP de tu servicio recién creado, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Media CDN.
Haga clic en la pestaña 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
Reemplaza 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
Reemplaza SERVICE_NAME
por el nombre completo de la
servicio. Usa el siguiente formato:
projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Reemplaza SERVICE_ID
por el nombre corto del servicio.
Los detalles recuperados incluyen las direcciones IP asignadas al servicio:
ipv4Addresses:
IPV4_ADDRESS
ipv6Addresses:
IPV6_ADDRESS
Prueba si una respuesta se almacena en caché
Antes de probar el servicio, asegúrate de que puedas almacenarse en caché contenido almacenado en el origen para que Media CDN puede recuperarlos.
Para probar que tu servicio esté configurado correctamente para almacenar en caché el contenido, usa la herramienta de línea de comandos curl
para enviar solicitudes y verificar las respuestas. curl
También está disponible en Cloud Shell en la consola de Google Cloud.
Si quieres usar EdgeCacheService
con tu dominio, sigue estos pasos:
puedes asignar la dirección IP de EdgeCacheService
a un registro de dominio. Para
consulta Configura tu dominio con Cloud DNS.
Después de configurar tu dominio, accede al contenido con la siguiente curl
:
curl -svo /dev/null "http://DOMAIN_NAME/FILE_NAME"
Si no configuraste el DNS para que apunte a tus direcciones IP aprovisionadas, usa el
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"
Reemplaza lo siguiente:
DOMAIN_NAME
: Es el dominio de host que especificaste. durante la creación del servicioIP_ADDRESS
: Es la dirección IP del servicio como se ve en la columna Direcciones de la lista de servicios.FILE_NAME
: Es el nombre del archivo que subiste. el bucket
Ejemplo:
curl -svo /dev/null --resolve web.example.com:80:34.104.37.129 "http://web.example.com/file.mp4"
Inicialmente, el comando produce un resultado similar al siguiente, con el formato
el estado miss
debido a que Media CDN no tiene la versión solicitada
datos ya recuperados del origen:
< HTTP/2 200 OK
...
< x-cache-status: den;miss
...
Cuando vuelvas a enviar la misma solicitud varias veces, se producirá un resultado similar al siguiente, con el estado hit
:
< HTTP/2 200 OK
...
< x-cache-status: den;hit
...
Si no se muestra el estado hit
, comprueba lo siguiente:
- La respuesta se puede almacenar en caché.
- El modo de almacenamiento en caché configurado permite almacenar en caché el contenido.
- El origen no está configurando directivas de caché que impidan el almacenamiento en caché. Para obtener más información, consulta Configuración de la caché.
Ya probaste un recurso EdgeCacheService
básico que puede entregar contenido a nivel mundial. Es posible que un servicio de nivel de producción necesite certificados SSL (TLS), varios orígenes y una política de seguridad de Google Cloud Armor.
Opcional: Limpieza
Borra los recursos que no tengas la intención de volver a usar.
Console
En la consola de Google Cloud, ve a la página Media CDN.
Haga clic en la pestaña Servicios.
Selecciona tu servicio y, luego, haz clic en Borrar.
Haz clic en la pestaña Orígenes.
Selecciona tu origen y, luego, haz clic en Borrar.
gcloud
Para enumerar los recursos que creaste, usa el comando
gcloud edge-cache origins list
y el comandogcloud edge-cache services list
.Para borrar el servicio, usa el comando
gcloud edge-cache services delete
:gcloud edge-cache services delete SERVICE
Reemplaza
SERVICE
por el nombre del servicio.Para borrar el origen, usa el Comando
gcloud edge-cache origins delete
:gcloud edge-cache origins delete ORIGIN
Reemplaza
ORIGIN
por el nombre del origen.
API
Para enumerar los recursos que creaste, usa el método
edgeCacheServices.list
y el métodoedgeCacheOrigins.list
.Para borrar el servicio, usa el método
edgeCacheServices.delete
:DELETE https://networkservices.googleapis.com/v1/SERVICE_NAME
Reemplaza
SERVICE_NAME
por el nombre completo del servicio. Usa el siguiente formato:projects/PROJECT/locations/global/edgeCacheServices/SERVICE_ID
Reemplaza
SERVICE_ID
por el nombre corto. del servicio.Para borrar el origen, usa el método
edgeCacheOrigins.delete
:DELETE https://networkservices.googleapis.com/v1/ORIGIN
Reemplaza
ORIGIN
por el nombre completo de la origen. Usa el siguiente formato:projects/PROJECT/locations/global/edgeCacheOrigins/ORIGIN_ID
Reemplaza
ORIGIN_ID
por el nombre corto del origen.
Repite este proceso para todos los recursos que hayas creado y no desees. para volver a usarlos, como el bucket de Cloud Storage.
¿Qué sigue?
- Emite y adjunta un certificado SSL (TLS) a tu
EdgeCacheService
. - Visualiza registros de solicitudes con Cloud Logging.
- Configura solicitudes firmadas para proteger tu contenido.
- Optimiza las claves de caché y los TTL y mejora las tasas de aciertos de caché.
- Configura la coincidencia avanzada de rutas y crea orígenes adicionales.