Différences entre «reboot» et «ec2-reboot-instances»

16

Quelles sont les différences, le cas échéant, entre l'appel rebootsur la ligne de commande d'une instance EC2 et l'émission de la ec2-reboot-instancescommande à partir des outils de ligne de commande AWS sur une autre machine?

Est ec2-reboot-instances-ce que quelque chose que l'envoi d' rebootune session SSH ne fera pas, comme la gestion des choses environnementales spécifiques à AWS?

Y a-t-il une préférence entre les deux commandes?

Dans mon cas spécifique, j'utilise la bibliothèque Java pour accéder à l'API AWS plutôt qu'à l'outil de ligne de commande, mais elle invoque toujours la même commande sur AWS. La bibliothèque Java est plus verbeuse que l'outil de ligne de commande, il serait donc plus facile d'envoyer la rebootcommande via SSH, mais j'aimerais comprendre s'il existe d'autres considérations qui mériteraient d'utiliser l'approche AWS API.

chrisbunney
la source

Réponses:

12

Différences d'utilisation:

  • Aucun accès SSH requis (peut être exécuté à partir de n'importe quel ordinateur ou même de la console AWS)
  • ec2-reboot-instances nécessite des informations d'identification AWS
  • Peut facilement créer des scripts pour plusieurs instances (plus facile à intégrer avec d'autres services AWS)

Différence de fonctionnalité:

  • ec2-reboot-instancesforcera un redémarrage matériel après 4 minutes si l'instance ne s'est pas correctement arrêtée. (Voir documentation )
  • La commande ne confirme pas le succès - la demande de redémarrage est mise en file d'attente mais vous n'êtes pas informé si cela a fonctionné ou si un démarrage difficile est nécessaire, etc.
  • Il y a un léger retard dans l'exécution de la commande - généralement pas perceptible

Dans les cas où l'instance est réactive et accessible via SSH reboot(via SSH) effectuera la même tâche que ec2-reboot-instances.


Comme point de mention supplémentaire, les redémarrages à partir de SSH suffiront pour la maintenance planifiée (c'est-à-dire que vous n'avez pas besoin d'utiliser ec2-reboot-instances). Selon la documentation :

Les redémarrages d'instance sont des redémarrages de votre instance virtuelle et équivalent à un redémarrage du système d'exploitation.

La gestion de vos propres redémarrages d'instance est très simple. ... vous pouvez également redémarrer votre instance à partir du système d'exploitation de votre instance.

cyberx86
la source
Une commande de redémarrage non EC2 déclenchera-t-elle des événements de maintenance planifiés?
ceejayoz
@ceejayoz: Oui, cela va - mis à jour la réponse pour le mentionner.
cyberx86
J'ai une situation où l'émission sudo rebootréinitialise le volume EBS attaché à l'état du système de fichiers comme lorsque l'AMI a été créée ... et le redémarrage à partir de la console ne le fait pas. J'aimerais pouvoir fournir plus de détails ... mais oui, c'est bizarre.
Carl G