Sugerencias generales para usar Compute Engine

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:

Observa diferentes formatos de respuesta

La herramienta de línea de comandos de gcloud realiza la mayoría de sus acciones mediante llamadas a la API de REST. Los resultados impresos presentan 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 herramienta 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 lo siguiente:

$ 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 compute.

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 en Internet

Una instancia tiene acceso directo a Internet solo si se cumplen las dos condiciones siguientes:

Las instancias también pueden acceder a Internet de forma indirecta si se conectan a través de Cloud NAT o un proxy basado en la instancia. Para obtener más información, incluida la configuración de reglas de firewall, consulta los requisitos de acceso a Internet.

Conexiones inactivas

Las redes de VPC en Google Cloud implementan un seguimiento de conexiones de 10 minutos para los protocolos IP que tienen un concepto de una conexión (TCP, por ejemplo). Esto significa que se permiten los paquetes entrantes asociados a una conexión establecida, siempre y cuando se envíe o reciba al menos un paquete en la conexión en los últimos 10 minutos. Si no se envían o recibieron paquetes para la conexión durante 10 minutos o más, se quitan las entradas de seguimiento de la conexión inactiva. Después de quitar las entradas de seguimiento de la conexión, Google Cloud no permite paquetes entrantes adicionales hasta que se haya enviado al menos un paquete saliente nuevo. Este seguimiento de conexiones se aplica a todos los orígenes y destinos: las direcciones IP internas y 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 abran conexiones TCP lo hagan con la opción SO_KEEPALIVE habilitada.

En los siguientes ejemplos, se demuestra cómo establecer los parámetros 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 para determinar cómo configurarla a fin de 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
Para asegurarte de que la configuración sobreviva al reinicio, agrégala a tu archivo /etc/sysctl.conf.

Consulta Linux TCP Keepalive HOWTO para obtener información adicional.

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 Unidad de transmisión máxima (MTU) en la documentación de la 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).