En esta página se explican varios casos de error, los mensajes de error correspondientes y los pasos para solucionarlos.
Situaciones de error de red
El intervalo de IPs asignado se ha agotado
Memorystore para Memcached requiere que uses una conexión de acceso a servicios privados y un intervalo de direcciones IP asociado a esa conexión. Es posible agotar las direcciones IP disponibles en ese intervalo con instancias de Memcached y otros recursos. Google Cloud
Si se agotan las direcciones IP, al crear una instancia se devuelve 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 solucionar este problema, asigna más direcciones IP. Para obtener más información sobre cómo hacerlo, consulta Agotamiento del intervalo de direcciones IP.
No tienes establecida una conexión de acceso a servicios privados para tu red
Si intentas crear una instancia de Memorystore para Memcached sin haber establecido una conexión de acceso a servicios privados para la red de tu proyecto, se producirá un error y no se podrá crear la instancia.
Google private service access is not enabled. Enable private service access and
try again
Para crear una instancia correctamente, sigue las instrucciones de configuración de acceso de servicios privados que se indican en el artículo Establecer una conexión de acceso de servicios privados.
Se elimina el peering de redes para el acceso a servicios privados
Al establecer una conexión de acceso a servicios privados, se crea una conexión de emparejamiento de redes llamada servicenetworking-googleapis-com
, que aparece en la página Emparejamiento entre redes VPC de tu proyecto.
Si elimina este intercambio de tráfico entre redes, es posible que reciba 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 solucionar este problema, sigue el último paso de las instrucciones de gcloud que se indican en Establecer una conexión de acceso de servicios privados.
Las reglas de cortafuegos bloquean las direcciones IP de tu instancia
Pueden surgir problemas de conectividad si creas reglas de cortafuegos que bloqueen las direcciones IP del intervalo de IP asignado asociado a tu conexión de acceso a servicios privados.
Asegúrate de no crear reglas de cortafuegos de red que bloqueen el intervalo de IPs de tus instancias de Memcached.
Errores al conectarse a una instancia de Memcached desde otros recursos de Google Cloud
Errores al conectarse a tu instancia desde el entorno estándar de App Engine o las funciones de Cloud Run
Si no puedes conectarte a una instancia de Memcached con el entorno estándar de App Engine o las funciones de Cloud Run, es posible que no hayas configurado un conector de acceso a VPC sin servidor para tu entorno.
Para obtener instrucciones sobre cómo configurar Acceso a VPC sin servidor para el entorno estándar de App Engine, consulta el artículo Conectarse a una red de VPC.
Para obtener instrucciones sobre cómo configurar Acceso a VPC sin servidor para funciones de Cloud Run, consulta el artículo Conectarse a una red de VPC.
Errores al conectarse a una 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 si no tienes habilitado el alias de IP o la opción nativa de VPC en el clúster. La forma más sencilla de habilitar la VPC nativa o el alias de IP es durante la creación del clúster de GKE. Cuando crees el clúster, selecciona VPC nativa en las opciones avanzadas. Para obtener más información, consulta el artículo Crear clústeres nativos de VPC.
Errores al conectarse a la instancia mediante el entorno flexible de App Engine o las VMs de Compute Engine
Si tu instancia tiene problemas de conectividad, sigue estos pasos para solucionarlos:
Asegúrate de que tu instancia de Memcached se haya aprovisionado en la misma región y red que el cliente que intenta acceder a ella.
Comprueba que tu proyecto no tenga ninguna regla de cortafuegos de red que bloquee las IPs de los nodos 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 la Google Cloud consola.
Haz una conexión Telnet a uno de tus nodos de Memcached y ejecuta algunos comandos sencillos de Memcached
set
yget
para ver si la instancia responde o no.- Si el nodo no responde, comprueba si alguno de los problemas de escenarios de error de red está bloqueando la conexión de red del nodo. Si no es así, ponte en contacto con el Google Cloud equipo de Asistencia.
Situaciones de error de gestión de identidades y accesos ( IAM)
Restaurar una cuenta de servicio eliminada
Memorystore para Memcached usa las siguientes cuentas de servicio para gestionar tus instancias de Memcached:
- service-project-number@service-networking.iam.gserviceaccount.com
- service-project-number@cloud-memcache-sa.iam.gserviceaccount.com
Si eliminas las vinculaciones de políticas de estas cuentas de servicio, no podrás crear instancias nuevas.
Si intentas crear una instancia de Memcached con gcloud en este caso, es posible que recibas el siguiente mensaje de error:
ERROR: (gcloud.memcache.instances.create) {
"code": 13,
"message": "an internal error has occurred"
}
Para restablecer el enlace de la política de estas cuentas de servicio, ejecuta uno de los siguientes comandos y sustituye variables por los valores correspondientes. Ejecuta el comando asociado a la cuenta de servicio eliminada.
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 agotado
Los siguientes casos de error provocan que una instancia de Memcached no responda o que se agote el tiempo de espera de una operación de instancia o de nodo.
Error de partición de red
A veces, los recursos de Google Cloud no pueden comunicarse entre zonas de una región debido a un error de partición de red en los servidores de Google Cloud. Esto puede provocar que tu instancia pierda la conexión y se produzca un error de tiempo de espera.
Una vez que Google Cloud resuelva el error de partición de red de la región o la zona en la que se ha aprovisionado tu instancia, la conectividad debería volver a funcionar con normalidad.
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 puede identificar la causa del error de tiempo de espera, póngase en contacto con el Google Cloud equipo de Asistencia.
Referencia incorrecta de la aplicación a las IPs de los nodos
Si el cliente agota el tiempo de espera al intentar conectarse a uno o varios nodos, es posible que la aplicación no esté especificando la dirección IP correcta de los nodos a los que intenta conectarse. Verifica que tu aplicación apunta 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 siguiente:
telnet: Unable to connect to remote host: Connection timed out
Para solucionar este problema, busca las direcciones IP de tus nodos y asegúrate de que tu aplicación apunte correctamente a las direcciones de los nodos.
Situaciones de error adicionales
Intervalos de direcciones IP de Compute Engine no admitidos
No puedes acceder a Memorystore para Memcached desde máquinas virtuales de Compute Engine que tengan una dirección IP dentro del intervalo 172.17.0.0/16
, ya que ese intervalo está reservado para un componente interno.
Distribución desequilibrada de nodos en las zonas de una región
Si una zona de una Google Cloud región no está disponible en el momento en que aprovisionas una instancia de Memcached, los nodos se crean en las zonas disponibles. Esto puede provocar una distribución desequilibrada de los nodos de 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 los nodos se distribuyan por todas las zonas de una región para proteger los datos frente a las interrupciones por zonas.
Si no está satisfecho con la distribución de los nodos entre las zonas cuando crea una instancia, puede esperar a que la zona vuelva a estar online para crear la instancia o puede usar la siguiente estrategia para intentar redistribuir los nodos entre las zonas más adelante:
Para redistribuir los nodos de Memcached entre los nodos disponibles de una zona, aumenta la escala de tu instancia y, después, vuelve a reducirla al número de nodos que quieras. Si las zonas deseadas vuelven a estar online, el proceso de escalado redistribuirá los nodos de forma uniforme entre las zonas disponibles. También debe tener en cuenta que el escalado provoca un vaciado de la caché de los datos de su instancia de Memcached.