Personalizar claves de caché

En esta página se explica cómo personalizar las claves de caché de Cloud CDN.

Si se cambia la configuración de la clave de caché, puede producirse un descenso repentino en la proporción de aciertos de caché si las nuevas solicitudes empiezan a usar claves de caché que sean diferentes de las entradas de claves de caché antiguas. Del mismo modo, cambiar el creador de la clave de caché no invalida necesariamente las entradas almacenadas en caché si las nuevas solicitudes usan la misma clave que las claves de caché antiguas. Para invalidar las entradas almacenadas en caché, consulta Invalidar contenido almacenado en caché.

Antes de empezar

En esta página se presupone que conoces Cloud CDN, las claves de caché de Cloud CDN y los servicios de backend con balanceo de carga. Te recomendamos que consultes estas páginas antes de continuar.

Habilitar Cloud CDN y personalizar las claves de caché

En estas instrucciones se explica cómo activar Cloud CDN en un servicio de backend con balanceo de carga y cómo personalizar la clave de caché. Si aún no tienes un balanceador de carga que usar como origen, consulta la documentación sobre el balanceador de carga de aplicaciones externo para obtener instrucciones sobre cómo crear uno.

Los segmentos de backend no incluyen el protocolo ni el host en la clave de caché porque no influyen en la forma en que se hace referencia a los objetos en un segmento de Cloud Storage. Sin embargo, incluyen un conjunto de parámetros de cadena de consulta que son específicos de Cloud Storage, lo que puede afectar a la respuesta y puede ampliarse con una lista personalizable de nombres de parámetros.

Consola

  1. En la Google Cloud consola, ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haga clic en el nombre del origen que quiera actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de carga asociado al origen, seleccione el que quiera actualizar en el menú Editar.

  4. Para desplegar la sección Rendimiento de la caché, haga clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes de la clave de caché, todos los componentes están seleccionados de forma predeterminada. Desmarque las casillas de los componentes que quiera excluir de la clave de caché.

  7. Haz clic en Listo.

gcloud

Para excluir uno o varios componentes de las claves de caché de un servicio de backend, usa el comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --no-cache-key-include-protocol \
    --no-cache-key-include-host \
    --no-cache-key-include-query-string

En el caso de los segmentos de backend, usa el comando gcloud compute backend-buckets update.

API

Para excluir uno o varios componentes de la clave de caché, especifique las opciones de configuración en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

En el caso de los servicios de backend, usa la llamada a la API del método backendServices.update.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

En el caso de los segmentos de backend, usa la llamada a la API del backendBuckets.update método.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET

Añade el siguiente fragmento al cuerpo de la solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": false,
      "includeHost": false,
      "includeQueryString": false
    }
  ]
}

Actualizar las claves de caché para añadir el protocolo, el host y la cadena de consulta

De forma predeterminada, los servicios de backend configurados para usar Cloud CDN incluyen todos los componentes del URI de solicitud en las claves de caché. Si has indicado que se deben excluir uno o varios componentes, puedes volver a incluirlos siguiendo estos pasos.

Estas instrucciones añaden el protocolo, el host y la cadena de consulta a la clave de caché de un servicio de backend que ya tiene habilitado Cloud CDN.

Consola

  1. En la Google Cloud consola, ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haga clic en el nombre del origen que quiera actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de carga asociado al origen, seleccione el que quiera actualizar en el menú Editar.

  4. Para desplegar la sección Rendimiento de la caché, haga clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes de la clave de caché, marca las casillas Protocolo, Host y Cadena de consulta.

  7. Haz clic en Listo.

gcloud

Para añadir uno o varios componentes a las claves de caché de un servicio de backend, usa el comando gcloud compute backend-services update.

Las marcas que no se especifiquen no se modificarán.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-protocol \
    --cache-key-include-host \
    --cache-key-include-query-string

API

Para añadir uno o varios componentes a la clave de caché, especifica las opciones de configuración en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Añade el siguiente fragmento al cuerpo de la solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeProtocol": true,
      "includeHost": true,
      "includeQueryString": true
    }
  ]
}

Actualizar las claves de caché para usar una lista de inclusión o exclusión de parámetros de cadena de consulta

En estas instrucciones se explica cómo configurar las claves de caché de Cloud CDN para que usen una lista de inclusión o una lista de exclusión con parámetros de cadena de consulta.

Consola

  1. En la Google Cloud consola, ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haga clic en el nombre del origen que quiera actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de carga asociado al origen, seleccione el que quiera actualizar en el menú Editar.

  4. Para desplegar la sección Rendimiento de la caché, haga clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes de clave de caché, seleccione la casilla Cadena de consulta. A continuación, selecciona una de estas opciones:

    • Si quiere especificar los parámetros de cadena de consulta que deben formar parte de la clave de caché, seleccione Incluir solo los seleccionados.

    • Si quieres especificar que todos los parámetros de cadena de consulta, excepto los que indiques, se incluyan en la clave de caché, selecciona Incluir todos salvo los seleccionados.

  7. Haga clic en Añadir parámetro y especifique los parámetros.

  8. Haz clic en Listo.

gcloud

Para especificar una lista de inclusión o de exclusión de un servicio backend, especifica los parámetros de cadena de consulta mediante el comando gcloud compute backend-services update.

Usa este comando para definir el parámetro de cadena de consulta user en la lista de inclusión de un servicio de backend.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-whitelist user

Usa este comando para definir el parámetro de cadena de consulta user en la lista de exclusión de un servicio de backend.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-query-string \
    --cache-key-query-string-blacklist user

Usa este comando para definir el parámetro de cadena de consulta user en la lista de inclusión de un segmento de backend.

gcloud compute backend-buckets update BACKEND_BUCKET \
    --cache-key-query-string-whitelist user

API

Para especificar una lista de inclusión o de exclusión de un servicio backend, especifica los parámetros de cadena de consulta en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Para especificar una lista de inclusión, añade el siguiente fragmento al cuerpo de la solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringWhitelist": [QUERY_STRINGS]
    }
  ]
}

Sustituye QUERY_STRINGS por una lista de parámetros de cadena de consulta separados por comas.

Para especificar una lista de exclusión, añade el siguiente fragmento:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "queryStringBlacklist": [QUERY_STRINGS]
    }
  ]
}

Actualizar las claves de caché para usar encabezados HTTP

En estas instrucciones se indica cómo configurar las claves de caché de Cloud CDN para que usen encabezados HTTP, que pueden incluir variables personalizadas permitidas.

Consola

  1. En la Google Cloud consola, ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haga clic en el nombre del origen que quiera actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de carga asociado al origen, seleccione el que quiera actualizar en el menú Editar.

  4. Para desplegar la sección Rendimiento de la caché, haga clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes de la clave de caché, marca la casilla Encabezados HTTP.

  7. Para especificar uno o varios encabezados HTTP, haga clic en Añadir encabezado HTTP.

  8. Haz clic en Listo.

gcloud

Usa el comando gcloud compute backend-services update con la opción cache-key-include-http-header.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-http-header=[HEADER_FIELD_NAMES,...]

Sustituye HEADER_FIELD_NAMES por una lista de nombres de encabezados separados por comas.

API

Especifica los encabezados HTTP de las claves de caché en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Añade el siguiente fragmento al cuerpo de la solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeHttpHeaders": [HEADER_FIELD_NAMES]
    }
  ]
}

Sustituye HEADER_FIELD_NAMES por una lista de nombres de encabezados separados por comas.

Si el encabezado de clave de caché especificado también se indica como encabezado de solicitud personalizado, no podrá usar el intervalo completo de variables.

Para obtener más información, consulte Usar variables personalizadas con encabezados de solicitud.

Actualizar las claves de caché para usar cookies con nombre

En estas instrucciones se indica cómo configurar las claves de caché de Cloud CDN para que usen cookies HTTP.

Consola

  1. En la Google Cloud consola, ve a la página Cloud CDN.

    Ir a Cloud CDN

  2. Haga clic en el nombre del origen que quiera actualizar.

  3. Haz clic en Editar.

    Si hay más de un balanceador de carga asociado al origen, seleccione el que quiera actualizar en el menú Editar.

  4. Para desplegar la sección Rendimiento de la caché, haga clic en Siguiente.

  5. En Clave de caché, selecciona Personalizar.

  6. En la sección Componentes de clave de caché, marque la casilla Cookies con nombre.

  7. Para especificar una o varias cookies, haz clic en Añadir cookie con nombre.

  8. Haz clic en Listo.

gcloud

Usa el comando gcloud compute backend-services update con la opción cache-key-include-named-cookie.

gcloud compute backend-services update BACKEND_SERVICE \
    --cache-key-include-named-cookie=[NAMED_COOKIES,...]

Sustituye NAMED_COOKIES por una lista de cookies con nombre separadas por comas.

API

Para especificar una lista de inclusión o de exclusión de un servicio backend, especifica los parámetros de cadena de consulta en la sección cacheKeyPolicy de cdnPolicy para el recurso backendServices.

Para especificar una lista de inclusión, añade el siguiente fragmento al cuerpo de la solicitud JSON:

"cdnPolicy": {
  "cacheKeyPolicy": [
    {
      "includeNamedCookies": [NAMED_COOKIES]
    }
  ]
}

Sustituye NAMED_COOKIES por una lista de parámetros de cadena de consulta separados por comas.

Siguientes pasos