En esta página, se describen sugerencias que pueden resultarte útiles si tienes problemas cuando usas Google Compute Engine.
Si quieres obtener ayuda para solucionar problemas específicos, consulta una de las siguientes secciones:
- Si quieres conocer los pasos para solucionar problemas generales de las instancias, por ejemplo, si la instancia no se inicia, consulta Solución de problemas generales.
- Si quieres conocer los pasos para solucionar problemas de las instancias de Windows, consulta la solución de problemas de las instancias de Windows.
Observa diferentes formatos de respuesta
Google Cloud CLI realiza la mayoría de sus acciones mediante llamadas a la API de REST. Los resultados impresos muestran solo la información más importante que muestra cualquier comando específico. Para ver los diferentes formatos de respuesta, usa la marca --format
, que muestra la respuesta en diferentes formatos de salida, como json
, yaml
y text
. Por ejemplo, para ver una lista de instancias en JSON, usa --format json
:
gcloud compute instances list --format json
Observa registros de gcloud compute
La CLI de gcloud crea y almacena registros en un archivo de registro que puedes consultar, ubicado en $HOME/.config/gcloud/logs
. Para ver el último archivo de registro en un sistema operativo con base en Linux, ejecuta el siguiente comando:
$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)
El archivo de registro incluye información sobre todas las solicitudes y respuestas realizadas con la herramienta gcloud CLI
.
Para borrar definitiva y automáticamente los archivos de registro creados por la CLI de gcloud, usa la propiedad max_log_days
, que establece la cantidad máxima de días para conservar los archivos de registro antes de borrarlos.
La configuración predeterminada es de 30 días. Si configuras este valor de propiedad en 0, se desactiva la recolección de elementos de registro no utilizados y no se borran los archivos de registro.
gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS
Inhabilita el registro de archivos de la gcloud CLI:
El archivo $HOME/.config/gcloud/logs
consume espacio en el sistema de archivos local.
La cantidad de registros generados puede sobrecargar la cantidad de espacio en el sistema de archivos local, lo que puede causar problemas como los siguientes:
- El uso de espacio alcanza el 100% en la instancia.
- No se ejecutaron los comandos de registro de la gcloud CLI porque no queda espacio para crear un archivo nuevo en el sistema de archivos local.
Para cambiar el comportamiento de la gcloud CLI e inhabilitar el registro de archivos, usa la propiedad disable_file_logging
:
gcloud config set core/disable_file_logging True
Selecciona nombres de recursos
Cuando selecciones nombres para los recursos, ten en cuenta que estos nombres descriptivos pueden verse en los paneles operativos y de asistencia dentro de Compute Engine. Por esta razón, se recomienda que los nombres de los recursos no revelen información sensible.
Comunicación a Internet
Una instancia tiene acceso directo a Internet solo si se cumplen las siguientes condiciones:
- La instancia tiene una dirección IP externa.
- La red de VPC de la instancia usa una ruta predeterminada cuyo siguiente salto es la puerta de enlace de Internet predeterminada.
Las instancias también pueden acceder a Internet de forma indirecta mediante la conexión a través de Cloud NAT o un proxy basado en instancias. Para conocer consideraciones adicionales, incluida la configuración de las reglas de firewall, consulta los requisitos de acceso a Internet.
Conexiones inactivas
Las redes de VPC de Google Cloud implementan el seguimiento de la conexión por 10 minutos para los protocolos de IP que tienen un concepto de conexión (TCP, por ejemplo). Esto significa que se permiten los paquetes entrantes asociados con una conexión establecida, siempre que se envíe o reciba al menos un paquete para la conexión en los últimos 10 minutos. Si no se envían ni reciben paquetes para la conexión durante 10 minutos o más, se quitan las entradas de seguimiento de la conexión inactiva. Una vez que se quitan las entradas de seguimiento de la conexión, Google Cloud no permite paquetes entrantes adicionales hasta que se envíe al menos un nuevo paquete saliente. Este seguimiento de conexión se aplica a todas las fuentes y destinos, tanto direcciones IP internas como externas .
Para evitar conexiones inactivas, haz lo siguiente:
Establece los parámetros de keep-alive de TCP del sistema operativo en un período de menos de 10 minutos. Esto garantiza que se envíe al menos un paquete dentro del período.
Asegúrate de que las aplicaciones que abren conexiones TCP lo hagan con la opción
SO_KEEPALIVE
habilitada.
En los siguientes ejemplos, se muestra cómo configurar los parámetros de keep-alive de TCP del sistema operativo con un valor de intervalo de un minuto. Consulta la documentación de tu aplicación o biblioteca de software a fin de determinar cómo configurarla para usar SO_KEEPALIVE
.
Linux
Ejecuta el siguiente comando:
$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
/etc/sysctl.conf
.
Consulta la sección INSTRUCTIVO para Keepalive de TCP de Linux a fin de obtener más información.
macOS
Ejecuta el siguiente comando:
$ sudo sysctl -w net.inet.tcp.always_keepalive=1 net.inet.tcp.keepidle=60000 net.inet.tcp.keepinit=60000 net.inet.tcp.keepintvl=60000
Windows
En la ruta de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
, agrega la siguiente configuración con el tipo de datos DWORD o edita los valores si la configuración ya existe:
KeepAliveInterval: 1000 KeepAliveTime: 60000 TcpMaxDataRetransmissions: 10
Accede a Compute Engine como un usuario SSH diferente
De manera predeterminada, la herramienta de línea de comandos de gcloud compute
usa la variable $USER
para agregar usuarios al archivo /etc/passwd
a fin de conectarse a instancias de máquinas virtuales mediante SSH. Puedes especificar un usuario diferente con la marca --ssh-key-file PRIVATE_KEY_FILE
cuando ejecutas el comando gcloud compute ssh
. Por ejemplo:
gcloud compute ssh example-instance --ssh-key-file my-private-key-file
Consulta la documentación de referencia de gcloud
para obtener más información.
Interactúa con la consola en serie
Puedes habilitar el acceso interactivo a la consola en serie de una instancia para poder conectarte y solucionar los problemas de las instancias a través de la consola en serie.
Para obtener más información, consulta Interactúa con la consola en serie.
Evita la fragmentación de paquetes en instancias compiladas a partir de imágenes personalizadas
La red de VPC tiene una unidad de transmisión máxima (MTU) predeterminada de 1460
bytes para imágenes de Linux y Windows Server. Sin embargo, se puede cambiar la MTU de la red. Para obtener detalles, consulta la descripción general de la unidad de transmisión máxima en la documentación de VPC.
Cuando creas aplicaciones cliente que se comunican con instancias de Compute Engine a través de sockets UDP, puedes evitar la fragmentación si configuras el tamaño máximo de datos del UDP en 28 bytes menos que la MTU de la red. Por ejemplo, si la MTU de la red es de 1,460 bytes, puedes enviar hasta 1,432 bytes de datos UDP por paquete sin fragmentación. Si la MTU de la red es de 1,500 bytes, puedes enviar hasta 1,472 bytes de datos UDP sin fragmentación. Los 28 bytes se usan para un encabezado de paquete IPv4 (20 bytes) y un encabezado de datagramas UDP (8 bytes). Puedes configurar la MTU de la red en un máximo de 8896 bytes.