Consejos generales para usar Compute Engine


Esta página describe consejos que pueden resultarle útiles si tiene problemas al utilizar Compute Engine.

Para obtener ayuda para solucionar problemas específicos, consulte una de las siguientes secciones:

Ver diferentes formatos de respuesta

La CLI de Google Cloud realiza la mayoría de sus acciones realizando llamadas a la API REST. Los resultados impresos muestran solo la información más importante devuelta por cualquier comando específico. Para ver los diferentes formatos de respuesta, use la marca --format que muestra la respuesta en diferentes formatos de salida, incluidos json , yaml y text . Por ejemplo, para ver una lista de instancias en JSON, use --format json :

gcloud compute instances list --format json

Ver registros informáticos de gcloud

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 archivo de registro más reciente en un sistema operativo basado en Linux, ejecute:

$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)

El archivo de registro incluye información sobre todas las solicitudes y respuestas realizadas mediante la herramienta gcloud CLI .

Para purgar automáticamente los archivos de registro creados por la CLI de gcloud, use la propiedad max_log_days , que establece la cantidad máxima de días para retener los archivos de registro antes de eliminarlos. La configuración predeterminada es 30 días. Si establece el valor de esta propiedad en 0, desactiva la recolección de basura de registros y no elimina los archivos de registro.

 gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS

Deshabilite el registro de archivos CLI de gcloud:

El archivo $HOME/.config/gcloud/logs consume espacio en el sistema de archivos local. La cantidad de registros generados puede superar la cantidad de espacio en el sistema de archivos local, lo que puede causar problemas como:

  • La utilización del espacio alcanza el 100 % en la instancia.
  • No se pueden ejecutar los comandos de registro de la CLI de gcloud porque no queda espacio para crear un nuevo archivo en el sistema de archivos local.

Para cambiar el comportamiento de la CLI de gcloud y deshabilitar el registro de archivos, usa la propiedad disable_file_logging :

 gcloud config set core/disable_file_logging True

Seleccionar nombres de recursos

Al seleccionar nombres para sus recursos, tenga en cuenta que estos nombres descriptivos pueden ser visibles en los paneles operativos y de soporte dentro de Compute Engine. Por este motivo, se recomienda utilizar nombres de recursos que no expongan información confidencial.

Comunicándose a 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, conectándose a través de Cloud NAT o un proxy basado en instancias. Para consideraciones adicionales, incluida la configuración de reglas de firewall, consulte Requisitos de acceso a Internet .

Conexiones inactivas

Google Cloud Las redes VPC implementan un seguimiento de conexión de 10 minutos para protocolos IP que tienen un concepto de conexión (TCP por ejemplo). Esto significa que los paquetes entrantes asociados con una conexión establecida están permitidos siempre que se envíe o reciba al menos un paquete para la conexión dentro de los últimos 10 minutos. Si no se han enviado ni recibido paquetes para la conexión durante 10 minutos o más, se eliminan las entradas de seguimiento de la conexión inactiva. Una vez que se hayan eliminado las entradas de seguimiento de la conexión, Google Cloud no permite paquetes entrantes adicionales hasta que se haya enviado al menos un nuevo paquete saliente. Este seguimiento de conexión se aplica a todos los orígenes y destinos, tanto direcciones IP internas como externas .

Para evitar conexiones inactivas, haga lo siguiente:

  • Establezca los parámetros de mantenimiento de conexión TCP del sistema operativo en un período de tiempo inferior a 10 minutos. Esto garantiza que al menos un paquete se envíe dentro del plazo.

  • Asegúrese de que las aplicaciones que abren conexiones TCP lo hagan con la opción SO_KEEPALIVE habilitada.

Los siguientes ejemplos demuestran cómo configurar los parámetros de mantenimiento de conexión TCP del sistema operativo con un valor de intervalo de un minuto. Consulte la documentación de su aplicación o biblioteca de software para determinar cómo configurarla para usar SO_KEEPALIVE .

linux


Ejecute 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 asegurarse de que la configuración sobreviva al reinicio, agréguela a su archivo /etc/sysctl.conf .

Consulte el CÓMO de Linux TCP Keepalive para obtener información adicional.

macos


Ejecute 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

ventanas


En la ruta de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ , agregue la siguiente configuración, utilizando el tipo de datos DWORD , o edite los valores si la configuración ya existe:

KeepAliveInterval: 1000
KeepAliveTime: 60000
TcpMaxDataRetransmissions: 10

Acceder a Compute Engine como un usuario SSH diferente

De forma predeterminada, la herramienta de línea de comandos gcloud compute usa la variable $USER para agregar usuarios al archivo /etc/passwd para conectarse a instancias de máquinas virtuales mediante SSH. Puedes especificar un usuario diferente usando 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.

Interactuando con la consola serie

Puede habilitar el acceso interactivo a la consola serie de una instancia para poder conectarse y solucionar problemas de instancias a través de la consola serie.

Para obtener más información, lea Interactuar con la consola serie .

Evitar la fragmentación de paquetes en instancias creadas a partir de imágenes personalizadas

La red VPC tiene una unidad de transmisión máxima (MTU) predeterminada de 1460 bytes para imágenes de Linux e imágenes de Windows Server. Sin embargo, la MTU de la red se puede cambiar. Para obtener más información, consulte la descripción general de la unidad de transmisión máxima en la documentación de VPC.

Al crear 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 los datos del datagrama UDP en 28 bytes menos que la MTU de la red. Por ejemplo, si la MTU de la red es de 1460 bytes, puede enviar hasta 1432 bytes de datos UDP por paquete sin fragmentación. Si la MTU de la red es de 1500 bytes, puede enviar hasta 1472 bytes de datos UDP sin fragmentación. Los 28 bytes se utilizan para un encabezado de paquete IPv4 (20 bytes) y un encabezado de datagrama UDP (8 bytes). Puede configurar la MTU de la red en un máximo de 8896 bytes.