Résoudre les problèmes

Cette page décrit les différents scénarios d'erreur, les messages d'erreur associés et la procédure de dépannage pour résoudre les erreurs.

Scénarios d'erreur réseau

La plage d'adresses IP allouée est épuisée.

Memorystore pour Memcached nécessite d'utiliser une connexion d'accès aux services privés et une plage d'adresses IP associée pour cette connexion. Les adresses IP disponibles dans cette plage associées à des instances Memcached et à d'autres ressources Google Cloud peuvent être épuisées.

Dans ce cas, la création d'une instance renvoie le message d'erreur suivant :

ERROR: (gcloud.memcache.instances.create) { "code": 9, "message": "Unable to create instance. The allocated private IP address space is exhausted. For information on expanding the allocation, see https://cloud.google.com/vpc/docs/configure-private-services-access#modify-ip-range" }

Pour résoudre ce problème, vous pouvez attribuer des adresses IP supplémentaires. Pour en savoir plus, consultez la section Épuisement de la plage d'adresses IP.

Aucune connexion d'accès aux services privés n'est établie pour votre réseau.

Si vous essayez de créer une instance Memorystore pour Memcached sans connexion d'accès aux services privés établie pour le réseau de votre projet, la création échoue avec l'erreur suivante :

Google private service access is not enabled. Enable private service access and try again

Pour créer une instance, suivez les instructions de configuration de l'accès aux services privés sur la page Établir une connexion d'accès aux services privés.

L'appairage de réseaux pour l'accès aux services privés est supprimé

L'établissement d'une connexion d'accès aux services privés crée une connexion d'appairage de réseaux appelée servicenetworking-googleapis-com, qui apparaît sur la page Appairage de réseaux VPC de votre projet.

La suppression de cet appairage de réseaux peut entraîner l'affichage des erreurs suivantes :

  • telnet: Unable to connect to remote host: Connection timed out
  • Unable to create instance. Enable private service access for the authorized network and try again. For information on enabling private service access, see https://cloud.google.com/service-infrastructure/docs/enabling-private-services-access

Pour résoudre ce problème, suivez la dernière étape des instructions gcloud de la section Établir une connexion d'accès aux services privés.

Les règles de pare-feu bloquent les adresses IP de votre instance

Des problèmes de connectivité peuvent survenir si vous créez des règles de pare-feu qui bloquent les adresses IP de la plage d'adresses IP allouée à votre connexion d'accès aux services privés.

Assurez-vous de ne pas créer de règles de pare-feu réseau qui bloquent la plage d'adresses IP de vos instances Memcached.

Erreurs de connexion à votre instance Memcached depuis d'autres ressources Google Cloud

Erreurs de connexion à votre instance depuis l'environnement standard App Engine ou Cloud Functions

Si vous ne pouvez pas vous connecter à une instance Memcached à l'aide de l'environnement standard App Engine ou de Cloud Functions, il est possible que vous n'ayez pas configuré de connecteur d'accès au VPC sans serveur pour votre environnement.

Pour obtenir des instructions sur la configuration de l'accès au VPC sans serveur pour l'environnement standard App Engine, consultez la page Se connecter à un réseau VPC.

Pour obtenir des instructions sur la configuration de l'accès au VPC sans serveur pour Cloud Functions, consultez la page Se connecter à un réseau VPC.

Erreurs lors de la connexion à votre instance à l'aide d'un cluster Google Kubernetes Engine

Vous ne pouvez pas vous connecter à une instance Memorystore pour Memcached à partir d'un cluster GKE sans activer le VPC natif/les adresses IP d'alias sur votre cluster. Il est plus simple d'activer le VPC natif/les adresses IP d'alias lors de la création du cluster GKE. Lors de la création du cluster, sélectionnez VPC natif sous Options avancées. Pour en savoir plus, consultez la page Créer des clusters de VPC natif.

Erreurs lors de la connexion à votre instance à l'aide de l'environnement flexible App Engine ou des VM Compute Engine

Si votre instance rencontre des problèmes de connectivité, procédez comme suit :

  1. Assurez-vous que votre instance Memcached est provisionnée dans la même région et le même réseau que le client qui tente d'y accéder.

  2. Vérifiez que votre projet ne comporte aucune règle de pare-feu réseau bloquant les adresses IP des nœuds de votre instance Memcached.

    • Pour afficher les adresses IP de vos nœuds, accédez à l'onglet "Nœuds" de votre instance Memcached dans la console Google Cloud.
  3. Connectez telnet à l'un de vos nœuds Memcached, puis exécutez de simples commandes Memcached set et get simples pour vérifier si l'instance répond ou pas.

Scénarios d'erreur Identity and Access Management (IAM)

Restaurer un compte de service supprimé

Memorystore pour Memcached utilise les comptes de service suivants pour gérer vos instances Memcached :

  • service-project-number@service-networking.iam.gserviceaccount.com
  • service-project-number@cloud-memcache-sa.iam.gserviceaccount.com

La suppression des liaisons de stratégie pour ces comptes de service vous empêche de créer des instances.

Si vous essayez de créer une instance Memcached à l'aide de gcloud dans ce scénario, le message d'erreur suivant peut s'afficher :

ERROR: (gcloud.memcache.instances.create) { "code": 13, "message": "an internal error has occurred" }

Pour rétablir la liaison de stratégie pour ces comptes de service, exécutez l'une des commandes suivantes en remplaçant les variables par les valeurs appropriées. Exécutez la commande associée au compte de service supprimé.

gcloud projects add-iam-policy-binding project-id --member='serviceAccount:service-project-number@service-networking.iam.gserviceaccount.com' --role='roles/servicenetworking.serviceAgent'
gcloud projects add-iam-policy-binding project-id --member='serviceAccount:service-project-number@cloud-memcache-sa.iam.gserviceaccount.com' --role='roles/memcache.serviceAgent'

Erreurs de délai d'attente d'une opération

Les scénarios d'erreur suivants entraînent une absence de réponse de l'instance Memcached et/ou des délais d'attente d'une opération instance/nœud.

Erreur de partition réseau

Parfois, les ressources Google Cloud ne peuvent pas communiquer entre les zones d'une région en raison d'une erreur de partition réseau sur les serveurs Google Cloud. Cela peut entraîner une perte de connexion de l'instance et renvoyer une erreur de délai d'attente.

Une fois que Google Cloud a résolu l'erreur de partition réseau pour la région ou la zone où votre instance est provisionnée, la connectivité doit reprendre normalement.

Dans ce scénario, un message d'erreur de connectivité peut s'afficher :

telnet: Unable to connect to remote host: Connection timed out

Si vous ne parvenez pas à identifier la cause de l'erreur de délai d'attente, contactez l'assistance Google Cloud.

Référence d'application incorrecte aux adresses IP des nœuds

Si votre client dépasse le délai d'attente lors de la tentative de connexion à un ou plusieurs nœuds, il est possible que votre application ne pointe pas vers l'adresse IP appropriée du ou des nœuds auxquels vous essayez de vous connecter. Vérifiez que votre application pointe vers les adresses IP des nœuds de votre cluster.

Dans ce scénario, un message d'erreur de connectivité peut s'afficher, tel que celui-ci :

telnet: Unable to connect to remote host: Connection timed out

Pour résoudre ce problème, recherchez les adresses IP de vos nœuds et assurez-vous que votre application pointe correctement vers leurs adresses.

Autres scénarios d'erreur

Plages d'adresses IP Compute Engine non compatibles

Vous ne pouvez pas accéder à Memorystore pour Memcached à partir de VM Compute Engine dont l'adresse IP est comprise dans la plage 172.17.0.0/16, car celle-ci est réservée à un composant interne.

Répartition des nœuds déséquilibrée entre les zones d'une région

Si une zone d'une région Google Cloud n'est pas disponible au moment où vous provisionnez une instance Memcached, des nœuds sont créés dans les zones disponibles. Cela peut entraîner une répartition déséquilibrée des nœuds Memached sur les zones d'une région.

L'impact sur les performances de votre application devrait être négligeable. Toutefois, dans l'idéal, vos nœuds doivent être répartis entre toutes les zones d'une région pour protéger vos données contre les pannes au niveau d'une zone.

Lorsque vous créez une instance, si la répartition des nœuds entre les zones ne vous satisfait pas, vous pouvez attendre que cette zone soit de nouveau connectée pour créer votre instance, ou tenter de redistribuer les nœuds ultérieurement à l'aide de la stratégie suivante :

Pour redistribuer les nœuds Memcached parmi les nœuds disponibles dans une zone, effectuez un scaling à la hausse de votre instance, puis réduisez le nombre de nœuds souhaité. Si la ou les zones souhaitées sont de retour en ligne, le processus de scaling redistribue les nœuds de manière uniforme entre les zones disponibles. Notez également que le scaling entraîne un vidage du cache pour les données de votre instance Memcached.