Conéctate a una caché de Redis a través de Cloud Memorystore

Para configurar una caché de datos distribuida en la memoria para el servicio de Cloud Run, puedes usar Memorystore para Redis. Con Memorystore para Redis, usas un almacén de datos de Redis en memoria para almacenar la caché de la aplicación con escalamiento, seguridad y alta disponibilidad. Puedes conectarte a una instancia de Redis directamente desde tu servicio de Cloud Run, pero esto requiere pasos adicionales de configuración de un conector de acceso a VPC sin servidores.

Mediante las integraciones de Cloud Run (vista previa) que se describen en esta página, puedes conectar con rapidez el servicio de Cloud Run a una caché nueva de Redis con Memorystore sin tener que configurar un conector de Acceso a VPC sin servidores. Si deseas conectar tu servicio de Cloud Run a una instancia de Redis existente, consulta Conéctate a una instancia de Redis desde un servicio de Cloud Run.

Antes de comenzar

  • Asegúrate de que el servicio de Cloud Run con el que te integras ya esté implementado.
  • Revisa la página de precios de Memorystore. Se te facturan los recursos individuales usados en la integración.

Roles obligatorios

Para usar las integraciones de Cloud Run, tú o tu administrador deben otorgar roles de IAM en dos principales diferentes.

Haz clic para ver los roles necesarios para tu Cuenta de Google

Para obtener los permisos que necesitas para usar las integraciones de Cloud Run, pídele a tu administrador que otorgue a tu Cuenta de Google los siguientes roles de IAM en tu proyecto:

Haz clic para ver los roles necesarios para la cuenta de servicio

Para implementar el servicio de Cloud Run, puedes usar la cuenta de servicio predeterminada de Compute Engine creada automáticamente o especificar una cuenta de servicio administrada por el usuario. Esta cuenta de servicio debe tener los siguientes roles:

Conecta un servicio a una nueva caché de Redis

Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.

Puedes conectar un servicio de Cloud Run a una caché de Redis a través de la consola o la línea de comandos. Si no especificas un tamaño de memoria, se usa una caché de 1 gigabyte.

Console

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

    Ir a Cloud Run

  2. Haz clic en el servicio de la lista de servicios que deseas usar en esta integración.

  3. Haz clic en la pestaña Integraciones.

  4. Haz clic en Agregar integración.

  5. Haz clic en Redis: Google Cloud MemoryStore.

    imagen

  6. Acepta los valores predeterminados o cambia el nombre y el tamaño de la caché a los valores que deseas usar.

  7. Si se te solicita que habilites una lista de APIs, haz clic en Habilitar y espera a que las API se habiliten.

  8. En Recursos, observa los recursos nuevos que se crearán como resultado de esta integración.

  9. Haz clic en Enviar y espera a que se creen la integración y los recursos. Esto puede tardar hasta 15 minutos.

gcloud

  1. Actualiza a la versión más reciente de Google Cloud CLI:

    gcloud components update
  2. Crea la integración:

    gcloud beta run integrations create \
    --type=redis \
    --service=SERVICE \
    --parameters=memory-size-gb=MEMORY-SIZE

    Reemplaza lo siguiente:

    • SERVICE por el nombre de servicio de Cloud Run
    • MEMORY-SIZE por el tamaño que deseas en gigabytes de caché. El valor predeterminado es 1 GB.

    De manera opcional, puedes incluir la marca --service-account=SERVICE_ACCOUNT_EMAIL.

    • Reemplaza SERVICE_ACCOUNT_EMAIL por la dirección de correo electrónico de la cuenta de servicio administrada por el usuario (PROJECT_NUMBER-compute@developer.gserviceaccount.com) que se usa para implementar el servicio. Omite esta marca si deseas usar la cuenta de servicio de procesamiento predeterminada (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com).

      Para seguir usando la cuenta de servicio especificada cuando implementas integraciones de Cloud Run, ejecuta lo siguiente:

      gcloud config set runapps/deployment-service-account
  3. Espera hasta 15 minutos, durante los cuales se crea y se conecta una caché de Redis por completo configurada. Además, se crea una revisión nueva de Cloud Run, incluida la configuración de red y las variables de entorno necesarias para la caché de Redis. Cuando se completa el proceso, se muestra el siguiente mensaje:

    [redis] integration [redis-xxx] has been updated successfully.
    
    To connect to the Redis instance, utilize the environment variables
    REDISHOST and REDISPORT. These have been added to the Cloud Run service
    for you.

    Puedes verificar el estado con gcloud beta run integrations describe

Actualiza las integraciones de caché de Redis

La actualización de una integración actualiza todos los recursos de Google Cloud asociados a esa integración. Para actualizar una integración de caché de Redis desde tu servicio de Cloud Run, sigue estos pasos:

Console

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

    Ir a Cloud Run

  2. Haz clic en el servicio que deseas actualizar.

  3. Haz clic en la pestaña Integraciones.

  4. Ubica la integración de la caché de Redis y haz clic en Editar.

  5. Cuando termines de actualizar los campos, haz clic en Actualizar.

gcloud

  1. Usa el siguiente comando para obtener una lista de las integraciones disponibles:

    gcloud beta run integrations list
  2. Ejecuta el comando para actualizar la integración:

    gcloud beta run integrations update INTEGRATION_NAME

    Reemplaza lo siguiente:

    • Reemplaza INTEGRATION_NAME por el nombre de tu integración de caché de Redis.

    De manera opcional, puedes usar las siguientes opciones de marcas:

    Opción Descripción
    --parameters El tamaño de la memoria en gigabytes para la caché.
    --service-account La dirección de correo electrónico de la cuenta de servicio administrada por el usuario que se debe especificar cuando se actualiza el servicio. Esta cuenta de servicio anula la cuenta de servicio anterior que se usó en la implementación.

Visualiza integraciones de caché de Redis

Para ver el estado actual de las integraciones de caché de Redis para el servicio de Cloud Run, sigue estos pasos:

Console

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

    Ir a Cloud Run

  2. Haz clic en el servicio de la lista de servicios que deseas usar en esta integración.

  3. Haz clic en la pestaña Integraciones.

  4. Ubica la integración de Firebase Hosting que te interese y haz clic en Ver detalles.

gcloud

  1. Usa el siguiente comando para obtener una lista de las integraciones disponibles:

    gcloud beta run integrations list
  2. Con un nombre de la lista que se muestra, muestra sus detalles:

    gcloud beta run integrations describe INTEGRATION_NAME

    Reemplaza INTEGRATION_NAME por el nombre de tu integración de caché de Redis.

Borra integraciones de caché de Redis

Si borras una integración, también se borrarán todos los recursos de Google Cloud asociados a esa integración, pero no se borrará tu servicio de Cloud Run.

Para borrar una integración de caché de Redis desde tu servicio de Cloud Run, sigue estos pasos:

Console

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

    Ir a Cloud Run

  2. Haz clic en el servicio del que deseas borrar una integración.

  3. Haz clic en la pestaña Integraciones.

  4. Ubica la integración de Firebase Hosting que te interese y haz clic en el ícono de puntos suspensivos a la derecha de la integración. Luego, haz clic en Borrar.

gcloud

  1. Usa el siguiente comando para obtener una lista de las integraciones disponibles:

    gcloud beta run integrations list
  2. Con un nombre de la lista que se muestra, borra la integración:

    gcloud beta run integrations delete INTEGRATION_NAME

    Reemplaza lo siguiente:

    • Reemplaza INTEGRATION_NAME por el nombre de tu integración de caché de Redis.

    De manera opcional, puedes usar las siguientes opciones de marcas:

    Opción Descripción
    --service-account La dirección de correo electrónico de la cuenta de servicio administrada por el usuario para realizar la operación de eliminación.

Accede a la caché de Redis en tu código

Ten en cuenta que, como resultado de completar la integración descrita en esta página, las variables de entorno REDISHOST y REDISPORT se agregan automáticamente y están disponibles para que las use tu código de servicio de Cloud Run.

Código de muestra para servicios que usan Redis

Consulta la documentación de Memorystore para ver las muestras de código completas de Cloud Run y Redis en varios lenguajes que usan Redis.

Limitaciones