Se connecter à un cache Redis à l'aide de Memorystore

Pour configurer un cache de données en mémoire distribué pour votre service Cloud Run, vous pouvez utiliser Memorystore pour Redis. Avec Memorystore pour Redis, vous utilisez un data store Redis en mémoire pour stocker le cache d'application avec évolutivité, sécurité et haute disponibilité. Vous pouvez vous connecter à une instance Redis directement à partir de votre service Cloud Run, mais cela nécessite des étapes supplémentaires de configuration d'un connecteur d'accès au VPC sans serveur.

Grâce aux intégrations Cloud Run (preview) décrites sur cette page, vous pouvez connecter rapidement votre service Cloud Run à un nouveau cache Redis à l'aide de Memorystore sans avoir à configurer de connecteur d'accès au VPC sans serveur. Si vous devez connecter votre service Cloud Run à une instance Redis existante, reportez-vous à la section Se connecter à une instance Redis à partir d'un service Cloud Run.

Avant de commencer

  • Assurez-vous que le service Cloud Run avec lequel vous effectuez l'intégration est déjà déployé.
  • Consultez la page des tarifs de Memorystore. Les ressources individuelles utilisées dans l'intégration vous sont facturées.

Rôles requis

Pour utiliser les intégrations Cloud Run, vous ou votre administrateur devez attribuer des rôles IAM sur deux comptes principaux différents.

Cliquez ici pour afficher les rôles requis pour votre compte Google

Pour obtenir les autorisations nécessaires pour utiliser les intégrations Cloud Run, demandez à votre administrateur d'accorder à votre compte Google les rôles IAM suivants sur votre projet :

Cliquez ici pour afficher les rôles requis pour le compte de service

Pour déployer le service Cloud Run, vous pouvez utiliser le compte de service par défaut Compute Engine créé automatiquement ou spécifier un compte de service géré par l'utilisateur. Le compte de service doit disposer des rôles suivants :

Connecter un service à un nouveau cache Redis

Tout changement de configuration entraîne la création d'une révision. Les révisions ultérieures obtiennent aussi automatiquement le même paramètre de configuration, à moins que vous ne le mettiez explicitement à jour.

Vous pouvez connecter un service Cloud Run à un cache Redis à l'aide de la console ou de la ligne de commande. Si vous ne spécifiez pas de taille de mémoire, un cache de 1 gigaoctet est utilisé.

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Run.

    Accédez à Cloud Run

  2. Dans la liste des services, cliquez sur celui que vous souhaitez utiliser dans cette intégration.

  3. Cliquez sur l'onglet Integrations (Intégrations).

  4. Cliquez sur Ajouter une intégration.

  5. Cliquez sur Redis – Google Cloud MemoryStore.

    Image

  6. Acceptez les valeurs par défaut, ou remplacez le nom et la taille du cache par les valeurs que vous souhaitez utiliser.

  7. Si vous êtes invité à activer une liste d'API, cliquez sur Activer et attendez que l'activation soit effective.

  8. Dans le champ Ressources, prenez note des nouvelles ressources qui seront créées suite à cette intégration.

  9. Cliquez sur Envoyer et attendez que l'intégration et les ressources soient créées. Cette opération peut prendre jusqu'à 15 minutes.

Ligne de commande

  1. Installez la dernière version de Google Cloud CLI :

    gcloud components update
    
  2. Créez l'intégration :

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

    Remplacez :

    • SERVICE par le nom de votre service Cloud Run.
    • MEMORY-SIZE par la taille du cache souhaitée en gigaoctets. La valeur par défaut est 1 Go.

    Vous pouvez également inclure l'option --service-account=SERVICE_ACCOUNT_EMAIL.

    • Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail du compte de service géré par l'utilisateur (PROJECT_NUMBER-compute@developer.gserviceaccount.com) utilisé pour déployer le service. Ne renseignez pas cette option si vous souhaitez utiliser le compte de service Compute par défaut (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com).

      Pour continuer à utiliser le compte de service spécifié lors du déploiement des intégrations Cloud Run, exécutez la commande suivante :

      gcloud config set runapps/deployment-service-account
      
  3. Attendez jusqu'à 15 minutes, au cours desquelles un cache Redis entièrement configuré est créé et connecté. En outre, une nouvelle révision Cloud Run est créée, y compris la configuration réseau et les variables d'environnement nécessaires au cache Redis. Une fois le processus terminé, le message suivant s'affiche :

    [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.

    Vous pouvez vérifier l'état à l'aide de gcloud beta run integrations describe.

Mettre à jour des intégrations de cache Redis

La mise à jour d'une intégration entraîne la mise à jour de toutes les ressources Google Cloud qui y sont associées. Pour mettre à jour une intégration de cache Redis de votre service Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Run.

    Accédez à Cloud Run

  2. Cliquez sur le service que vous souhaitez mettre à jour.

  3. Cliquez sur l'onglet Integrations (Intégrations).

  4. Identifiez l'intégration de cache Redis, puis cliquez sur Modifier.

  5. Lorsque vous avez terminé de modifier les champs, cliquez sur Mettre à jour.

Ligne de commande

  1. Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :

    gcloud beta run integrations list
  2. Utilisez la commande suivante pour mettre à jour l'intégration :

    gcloud beta run integrations update INTEGRATION_NAME
    

    Remplacez :

    • INTEGRATION_NAME par le nom de votre intégration de cache Redis.

    Vous pouvez également utiliser les options suivantes :

    Option Description
    --parameters Taille de la mémoire en gigaoctets pour le cache.
    --service-account Adresse e-mail du compte de service géré par l'utilisateur à spécifier lors de la mise à jour du service. Ce compte de service remplace le compte de service précédent utilisé lors du déploiement.

Afficher les intégrations de cache Redis

Pour afficher l'état actuel des intégrations de cache Redis pour votre service Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Run.

    Accédez à Cloud Run

  2. Dans la liste des services, cliquez sur celui que vous souhaitez utiliser dans cette intégration.

  3. Cliquez sur l'onglet Integrations (Intégrations).

  4. Identifiez l'intégration du cache Redis qui vous intéresse, puis cliquez sur Afficher les détails.

Ligne de commande

  1. Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :

    gcloud beta run integrations list
  2. Choisissez un nom dans cette liste, et exécutez la commande suivante pour en afficher les détails :

    gcloud beta run integrations describe INTEGRATION_NAME

    Remplacez INTEGRATION_NAME par le nom de votre intégration de cache Redis.

Supprimer les intégrations de cache Redis

La suppression d'une intégration entraîne également la suppression de toutes les ressources Google Cloud qui y sont associées, mais pas votre service Cloud Run.

Pour supprimer une intégration de cache Redis de votre service Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Cloud Run.

    Accédez à Cloud Run

  2. Cliquez sur le service pour lequel vous souhaitez supprimer une intégration.

  3. Cliquez sur l'onglet Integrations (Intégrations).

  4. Identifiez l'intégration de cache Redis qui vous intéresse, cliquez sur l'icône représentant des points de suspension à droite de l'intégration, puis cliquez sur Supprimer.

Ligne de commande

  1. Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :

    gcloud beta run integrations list
  2. Choisissez un nom dans cette liste, et exécutez la commande suivante pour supprimer cette intégration :

    gcloud beta run integrations delete INTEGRATION_NAME
    

    Remplacez :

    • INTEGRATION_NAME par le nom de votre intégration de cache Redis.

    Vous pouvez également utiliser les options suivantes :

    Option Description
    --service-account Adresse e-mail du compte de service géré par l'utilisateur utilisé pour effectuer l'opération de suppression.

Accéder au cache Redis dans votre code

Notez qu'après l'intégration décrite sur cette page, les variables d'environnement REDISHOST et REDISPORT sont automatiquement ajoutées et prêtes à être utilisées par votre code de service Cloud Run.

Exemple de code pour les services utilisant Redis

Reportez-vous à la documentation de Memorystore pour obtenir des exemples de code complets Cloud Run et Redis dans plusieurs langages utilisant Redis.

Limites