Soluciona problemas

En esta página, se explican varias situaciones de error, los mensajes de error para esas situaciones y los pasos de solución de problemas para resolver los errores.

Situaciones de error de Herramientas de redes

El rango de IP asignado está agotado

Memorystore para Memcached requiere que uses una conexión de acceso privado a servicios y un rango de direcciones IP asociado para esa conexión. Es posible agotar las direcciones IP disponibles en ese rango con instancias de Memcached y otros recursos de Google Cloud.

Si las direcciones IP se agotan, la creación de una instancia muestra el siguiente mensaje de error:

ERROR: (gcloud.beta.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" }

Para resolver este problema, asigna direcciones IP adicionales. Para obtener más información sobre cómo hacerlo, consulta agotamiento del rango de direcciones IP.

No tienes una conexión de acceso privado a servicios establecida para tu red.

Si intentas crear una instancia de Memorystore para Memcached sin una conexión de acceso privado a servicios establecida para la red de tu proyecto, la creación fallará con el siguiente error:

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

Para crear correctamente una instancia, sigue las instrucciones de configuración de acceso privado servicios en Establece una conexión de acceso privado a servicios.

Se borra el intercambio de tráfico de red para el acceso privado a servicios

Establecer una conexión de acceso privado a servicios crea una conexión de intercambio de tráfico de red llamada servicenetworking-googleapis-com, que aparece en la página de intercambio de tráfico de red de VPC de tu proyecto.

Borrar este intercambio de tráfico de red puede hacer que recibas los siguientes errores:

  • 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

Para resolver este problema, sigue el último paso de las instrucciones de gcloud en Establece una conexión de acceso privado a servicios.

Las reglas de firewall bloquean las direcciones IP de la instancia

Los problemas de conectividad pueden surgir si creas reglas de firewall que bloquean direcciones IP del rango de IP asignado asociado con tu conexión de acceso privado a servicios.

Asegúrate de no crear reglas de firewall de red que bloqueen el rango de IP de tus instancias de Memcached.

Errores de conexión a tu instancia de Memcached desde otros recursos de GCP

Errores de conexión a tu instancia desde el entorno estándar de App Engine o Cloud Functions

Si no puedes conectarte a una instancia de Memcached mediante el entorno estándar de App Engine o Cloud Functions, es posible que no hayas configurado un conector de acceso a VPC sin servidores para tu entorno.

Si deseas obtener instrucciones para configurar el acceso a VPC sin servidores en el entorno estándar de App Engine, consulta Conéctate a una red de VPC.

Si deseas obtener instrucciones sobre cómo configurar el acceso a VPC sin servidores para Cloud Functions, consulta Conéctate a una red de VPC.

Errores al conectarse a tu instancia con un clúster de Google Kubernetes Engine

No puedes conectarte a una instancia de Memorystore para Memcached desde un clúster de GKE sin alias de IP o nativa de VPC habilitada en tu clúster. Es más sencillo habilitar la VPC nativa o el alias de IP durante la creación del clúster de GKE. Cuando crees tu clúster, selecciona VPC nativa en las opciones avanzadas. Para obtener más detalles, consulta Crea clústeres nativos de la VPC.

Errores al conectarse a tu instancia con el entorno flexible de App Engine o las VM de Compute Engine

Si tu instancia experimenta problemas de conectividad, sigue estos pasos para solucionar problemas:

  1. Asegúrate de que tu instancia de Memcached esté aprovisionada en la misma región y red que el cliente que intenta acceder a ella.

  2. Verifica que tu proyecto no tenga ninguna regla de firewall de red que bloquee las IP de nodo de tu instancia de Memcached.

    • Para ver las direcciones IP de tus nodos, consulta la pestaña de nodos de tu instancia de Memcached en Cloud Console.
  3. Telnet a uno de tus nodos de Memcached y ejecuta algunos comandos set y get de Memcached simples para ver si la instancia responde o no.

Situaciones de error de Cloud Identity and Access Management ( Cloud IAM)

Cómo restablecer una cuenta de servicio borrada

Memorystore para Memcached usa las siguientes cuentas de servicio a fin de administrar tus instancias de Memcached:

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

Borrar las vinculaciones de políticas para estas cuentas de servicio evita que puedas crear instancias nuevas.

Si intentas crear una instancia de Memcached con gcloud en esta situación, es posible que recibas el siguiente mensaje de error:

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

Para restablecer la vinculación de la política de estas cuentas de servicio, ejecuta uno de los siguientes comandos y reemplaza las variables por los valores adecuados. Ejecuta el comando asociado con la cuenta de servicio borrada.

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'

Errores de tiempo de espera de la operación

Las siguientes situaciones de error dan como resultado una instancia de Memcached que no responde o tiempos de espera de operación de instancia / nodo.

Error de partición de red

A veces, los recursos de Google Cloud no se pueden comunicar entre zonas dentro de una región debido a un error de partición de red en los servidores de Google Cloud. Esto puede hacer que tu instancia pierda la conexión, lo que genera un error de tiempo de espera.

Después de que Google Cloud resuelva el error de partición de red para la región o zona en la que se aprovisiona tu instancia, la conectividad debería reanudarse normalmente.

En esta situación, es posible que veas un mensaje de error de conectividad como el siguiente:

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

Si no puedes identificar la causa del error de tiempo de espera, comunícate con el equipo de asistencia de Google Cloud.

Referencia de aplicación incorrecta a las IP de nodo

Si tu cliente agota el tiempo de espera al intentar conectarse a un nodo, es posible que tu aplicación no esté especificando la dirección IP correcta al que intentas conectarte. Verifica que tu aplicación apunte a las direcciones IP de los nodos de tu clúster.

En esta situación, es posible que veas un mensaje de error de conectividad, como el siguiente:

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

Para resolver este problema, busca las direcciones IP de tus nodos y asegúrate de que tu aplicación apunte con precisión a las direcciones de los nodos.

Situaciones de error adicionales

Rangos de direcciones IP de Compute Engine no compatibles

No puedes acceder a Memorystore para Memcached desde las VM de Compute Engine que tienen una dirección IP dentro del rango 172.17.0.0/16, porque ese rango está reservado para un componente interno.

Distribución de nodos desequilibrada entre zonas de una región

Si una zona en una región de Google Cloud no está disponible en el momento en que aprovisionas una instancia de Memcached, se crean nodos en las zonas disponibles. Esto puede llevar a una distribución desequilibrada de nodos Memcached en las zonas de una región.

Esto no debería tener un impacto notable en el rendimiento de tu aplicación. Sin embargo, lo ideal es que tus nodos se distribuyan en todas las zonas de una región para proteger tus datos de interrupciones zonales.

Si no estás satisfecho con la distribución de nodos entre zonas cuando creas una instancia, puedes esperar hasta que esa zona vuelva a estar en línea para crear la instancia o puedes usar la siguiente estrategia para intentar redistribuir nodos entre zonas más tarde:

Para volver a distribuir los nodos de Memcached entre los nodos disponibles en una zona, escala tu instancia y, luego, vuelve a reducirla a la cantidad deseada de nodos. Si las zonas deseadas vuelven a estar en línea, el proceso de escalamiento redistribuirá los nodos de manera uniforme entre las zonas disponibles. Además, ten en cuenta que el escalamiento provoca una limpieza de caché para los datos en tu instancia de Memcached.