Soluciona problemas

En esta página, se explican varios casos de error, los mensajes de error para esas situaciones y los pasos a fin de solucionar problemas de error.

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 a servicios privados y un rango de direcciones IP asociadas 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.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

Si estableces una conexión de acceso a servicios privados, se crea una conexión de intercambio de tráfico de red llamada servicenetworking-googleapis-com, que aparecerá en la página Intercambio de tráfico entre redes de VPC de tu proyecto.

Si borras este intercambio de tráfico entre redes, es posible 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 tu instancia de Memcached.

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

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 para el entorno estándar de App Engine, consulta Conectarse a una red de VPC.

Si deseas obtener instrucciones a fin de configurar el Acceso a VPC sin servidores para Cloud Functions, consulta Conéctate a una red de VPC.

Errores cuando te conectas a tu instancia mediante un clúster de Google Kubernetes Engine

No puedes conectarte a una instancia de Memorystore para Memcached desde un clúster de GKE sin una VPC nativa o un alias de IP 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 cuando conectas 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 solucionarlos:

  1. Asegúrate de que tu instancia de Memcached se aprovisione 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 del 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 Google 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 administración de identidades y accesos (IAM)

Restablece una cuenta de servicio borrada

Memorystore para Memcached usa las siguientes cuentas de servicio a fin de administrar las 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 te impide poder 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.memcache.instances.create) { "code": 13, "message": "an internal error has occurred" }

Para restablecer la vinculación de política a estas cuentas de servicio, ejecuta uno de los siguientes comandos y reemplaza variables por los valores apropiados. Ejecuta el comando asociado a 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 o nodo.

Error de partición de red

En ocasiones, los recursos de Google Cloud no pueden comunicarse entre zonas dentro de una región debido a un error en la partición de red en los servidores de Google Cloud. Esto puede hacer que tu instancia pierda 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 este caso, 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 del tiempo de espera, comunícate con la Asistencia de Google Cloud.

Referencia incorrecta de la aplicación a las IP de nodos

Si tu cliente agota el tiempo de espera cuando intentas conectarte a un nodo, un problema potencial es que tu aplicación no especifique la dirección IP correcta de los nodos a los que intentas conectarte. Verifica que la aplicación apunte a las direcciones IP de los nodos de tu clúster.

En este caso, es posible que veas un mensaje de error de conectividad, como el que se muestra a continuación:

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 la aplicación apunte con precisión a las direcciones de nodo.

Situaciones de errores 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 sin balancear entre zonas de una región

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

Esto no debería afectar de forma notoria 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 verticalmente la instancia y, luego, reduce la escala a la cantidad deseada de nodos. Si las zonas deseadas vuelven a estar en línea, el proceso de escalamiento volverá a distribuir los nodos de manera uniforme entre las zonas disponibles. Además, ten en cuenta que el escalamiento genera una limpieza de caché para los datos en tu instancia de Memcached.