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 :
- Développeur Cloud Run (
roles/run.developer
) - Lecteur Compute (
roles/compute.viewer
) - Développeur d'intégrations sans serveur (
roles/runapps.developer
) - Opérateur d'intégrations sans serveur (
roles/runapps.operator
) - Utilisateur du compte de service (
roles/iam.serviceAccountUser
)
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 :
- Développeur Cloud Run (
roles/run.developer
) - Rédacteur de bucket de journaux (
roles/logging.bucketWriter
) - Utilisateur du compte de service (
roles/iam.serviceAccountUser
) - Administrateur de l'espace de stockage (
roles/storage.admin
) - Administrateur Cloud Memorystore Redis (
roles/redis.admin
) - Lecteur Compute (
roles/compute.viewer
) - Administrateur pour l'Accès au VPC sans serveur (
roles/vpcaccess.admin
)
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
Dans la console Google Cloud, accédez à la page Cloud Run.
Dans la liste des services, cliquez sur celui que vous souhaitez utiliser dans cette intégration.
Cliquez sur l'onglet Integrations (Intégrations).
Cliquez sur Ajouter une intégration.
Cliquez sur Redis – Google Cloud MemoryStore.
Acceptez les valeurs par défaut, ou remplacez le nom et la taille du cache par les valeurs que vous souhaitez utiliser.
Si vous êtes invité à activer une liste d'API, cliquez sur Activer et attendez que l'activation soit effective.
Dans le champ Ressources, prenez note des nouvelles ressources qui seront créées suite à cette intégration.
Cliquez sur Envoyer et attendez que l'intégration et les ressources soient créées. Cette opération peut prendre jusqu'à 15 minutes.
gcloud
Installez la dernière version de Google Cloud CLI :
gcloud components update
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 de 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
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
Dans la console Google Cloud, accédez à la page Cloud Run.
Cliquez sur le service que vous souhaitez mettre à jour.
Cliquez sur l'onglet Integrations (Intégrations).
Identifiez l'intégration de cache Redis, puis cliquez sur Modifier.
Lorsque vous avez terminé de modifier les champs, cliquez sur Mettre à jour.
gcloud
Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :
gcloud beta run integrations list
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
Dans la console Google Cloud, accédez à la page Cloud Run.
Dans la liste des services, cliquez sur celui que vous souhaitez utiliser dans cette intégration.
Cliquez sur l'onglet Integrations (Intégrations).
Identifiez l'intégration du cache Redis qui vous intéresse, puis cliquez sur Afficher les détails.
gcloud
Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :
gcloud beta run integrations list
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 des 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
Dans la console Google Cloud, accédez à la page Cloud Run.
Cliquez sur le service pour lequel vous souhaitez supprimer une intégration.
Cliquez sur l'onglet Integrations (Intégrations).
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.
gcloud
Exécutez la commande suivante pour obtenir la liste des intégrations disponibles :
gcloud beta run integrations list
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 des 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
- Les intégrations Cloud Run ne sont disponibles que dans certaines régions. Si vous devez utiliser une région non compatible avec les intégrations Cloud Run, consultez la page Se connecter à une instance Redis à partir d'un service Cloud Run.
- Seuls les connecteurs VPC du réseau VPC par défaut sont compatibles. Les anciens réseaux ne sont pas compatibles.