Conseils d'ordre général sur l'utilisation de Compute Engine


Cette page présente les conseils qui peuvent vous être utiles si vous rencontrez des problèmes lors de l'utilisation de Compute Engine.

Si vous avez besoin d'aide pour résoudre des problèmes spécifiques, consultez l'une des sections suivantes :

  • Pour connaître les étapes permettant de résoudre les problèmes d'ordre général liés aux instances, par exemple un problème lors du démarrage de votre instance, consultez la page Dépannage d'ordre général.
  • Pour connaître les étapes permettant de résoudre les problèmes liés aux instances Windows, consultez la page Dépannage d'instances Windows.

Affichage de différents formats de réponse

Google Cloud CLI effectue la plupart de ses actions en effectuant des appels d'API REST. Les résultats mis en forme ne montrent que les informations les plus importantes renvoyées par une commande spécifique. Pour consulter les différents formats de réponse, utilisez l'option --format qui affiche la réponse dans différents formats de sortie, parmi lesquels json, yaml et text. Par exemple, pour afficher une liste d'instances au format JSON, utilisez --format json :

gcloud compute instances list --format json

Affichage des journaux gcloud compute

gcloud CLI crée et stocke les journaux dans un fichier journal que vous pouvez interroger et qui est disponible à l'emplacement $HOME/.config/gcloud/logs. Pour afficher le dernier fichier journal sur un système d'exploitation basé sur Linux, exécutez ce qui suit :

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

Le fichier journal contient des informations concernant toutes les requêtes et réponses générées à l'aide de l'outil gcloud CLI.

Pour supprimer définitivement et automatiquement les fichiers journaux créés par gcloud CLI, utilisez la propriété max_log_days qui définit le nombre maximal de jours de conservation des fichiers journaux avant leur suppression. La valeur par défaut est de 30 jours. Si vous définissez la valeur de cette propriété sur 0, cela désactive la fonction de récupération de mémoire au niveau des journaux et ne supprime pas les fichiers journaux.

 gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS

Désactivez la journalisation de fichiers gcloud CLI :

Le fichier $HOME/.config/gcloud/logs consomme de l'espace sur le système de fichiers local. La quantité de journaux générés peut surcharger la quantité d'espace sur le système de fichiers local, ce qui peut entraîner des problèmes tels que les suivants :

  • L'utilisation de l'espace atteint 100 % sur l'instance.
  • Échec de l'exécution des commandes de journalisation de gcloud CLI, car il ne reste plus d'espace pour créer un fichier sur le système de fichiers local.

Pour modifier le comportement de gcloud CLI et désactiver la journalisation des fichiers, utilisez la propriété disable_file_logging :

 gcloud config set core/disable_file_logging True

Sélection des noms de ressources

Lorsque vous sélectionnez des noms pour vos ressources, n'oubliez pas que ces noms conviviaux peuvent s'afficher sur les tableaux de bord de support et tableaux de bord opérationnels de Compute Engine. Pour cette raison, il est recommandé d'exclure toute information sensible de vos noms de ressource.

Connexion à Internet

Une instance ne dispose d'un accès Internet direct que dans les deux cas suivants :

Les instances peuvent également accéder indirectement à Internet en se connectant via Cloud NAT ou un proxy basé sur une instance. Pour plus d'informations, y compris sur la configuration des règles de pare-feu, consultez la section Conditions d'accès à Internet.

Connexions inactives

Les réseaux VPC Google Cloud mettent en œuvre un suivi de connexion de 10 minutes pour les protocoles IP ayant un concept de connexion (TCP par exemple). Cela signifie que les paquets entrants associés à une connexion établie sont autorisés tant qu'au moins un paquet est envoyé ou reçu pour la connexion au cours des 10 dernières minutes. Si aucun paquet pour la connexion n'a été envoyé ou reçu pendant 10 minutes ou plus, les entrées de suivi de la connexion inactive sont supprimées. Une fois les entrées de suivi de la connexion supprimées, Google Cloud n'autorise pas les paquets entrants supplémentaires tant qu'au moins un nouveau paquet sortant a été envoyé. Ce suivi de connexion s'applique à toutes les sources et destinations, à la fois aux adresses IP internes et externes .

Pour éviter les connexions inactives, procédez comme suit :

  • Définissez les paramètres du message keep-alive TCP du système d'exploitation sur une période inférieure à 10 minutes. Cela garantit qu'au minimum un paquet est envoyé dans le délai imparti.

  • Assurez-vous que les applications qui ouvrent des connexions TCP ont l'option SO_KEEPALIVE activée.

Les exemples suivants montrent comment définir des paramètres keep-alive TCP de système d'exploitation avec une valeur d'intervalle d'une minute. Consultez la documentation de votre application ou de votre bibliothèque logicielle pour déterminer comment la configurer pour utiliser SO_KEEPALIVE.

Linux


Exécutez la commande suivante :

$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
Pour vous assurer que les paramètres persistent après un redémarrage, ajoutez-les à votre fichier /etc/sysctl.conf.

Pour obtenir des informations supplémentaires, consultez le guide Linux TCP Keepalive.

macOS


Exécutez la commande suivante :

$ 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


Sous le chemin de registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\, ajoutez les paramètres suivants à l'aide du type de données DWORD ou modifiez les valeurs si les paramètres existent déjà :

KeepAliveInterval: 1000
KeepAliveTime: 60000
TcpMaxDataRetransmissions: 10

Accéder à Compute Engine avec un utilisateur SSH différent

Par défaut, l'outil de ligne de commande gcloud compute utilise la variable $USER pour ajouter des utilisateurs au fichier /etc/passwd afin qu'ils puissent se connecter à des instances de machines virtuelles via SSH. Vous pouvez spécifier un autre utilisateur à l'aide de l'indicateur --ssh-key-file PRIVATE_KEY_FILE lorsque vous exécutez la commande gcloud compute ssh. Exemple :

gcloud compute ssh example-instance --ssh-key-file my-private-key-file

Pour en savoir plus, consultez la documentation de référence de gcloud.

Interagir avec la console série

Activez l'accès interactif à la console série d'une instance pour pouvoir connecter des instances et résoudre des problèmes liés à celles-ci via la console série.

Pour en savoir plus, consultez la section Interagir avec la console série.

Éviter la fragmentation des paquets pour les instances construites à partir d'images personnalisées

Le réseau VPC possède une unité de transmission maximale (MTU, Maximum Transmission Unit) par défaut de 1460 octets pour les images Linux et les images Windows Server. Cependant, la MTU du réseau peut être modifiée. Pour en savoir plus, consultez la présentation de l'unité de transmission maximale dans la documentation sur les VPC.

Lorsque vous créez des applications clientes qui communiquent avec des instances Compute Engine sur des sockets UDP, vous pouvez éviter la fragmentation si vous définissez la taille maximale des données du datagramme UDP sur 28 octets de moins que la MTU du réseau. Par exemple, si la taille de la MTU du réseau est de 1 460 octets, vous pouvez envoyer jusqu'à 1 432 octets de données UDP par paquet sans fragmentation. Si la MTU du réseau est de 1 500 octets, vous pouvez envoyer jusqu'à 1 472 octets de données UDP sans fragmentation. Les 28 octets sont utilisés pour un en-tête de paquet IPv4 (20 octets) et un en-tête de datagramme UDP (8 octets). Vous pouvez définir la MTU du réseau sur un maximum de 8 896 octets.