Fermer

février 10, 2021

5 commandes simples pour gérer vos instances AWS EC2 à l'aide de la CLI


J'ai un environnement de laboratoire dans Amazon Web Services (AWS) qui se compose de quatre petites instances EC2. Lorsque je n'utilise pas le laboratoire, j'arrête les instances, puis je les démarre lorsque j'en ai besoin. Lorsque je fais cela, ils obtiennent de nouvelles adresses IP publiques, et j'ai besoin de connaître ces adresses afin de me connecter à elles. Je voulais simplifier tout ce processus en utilisant l'utilitaire de ligne de commande AWS (CLI).

Il y avait cinq commandes différentes que je voulais exécuter:

  1. Obtenir les ID d'instance de mes quatre serveurs
  2. Vérifiez si les instances s'exécutaient
  3. Démarrer les instances
  4. Arrêter les instances
  5. Obtenir l'adresse IP publique des instances en cours d'exécution

Cela semble être un scénario courant et devrait être simple, mais cela a pris un peu plus de J'ai pensé avoir les bonnes commandes. J'ai donc pensé qu'il pourrait être utile de les rassembler dans un court article pour aider ceux qui veulent faire la même chose.

Cela ne va pas être une plongée en profondeur dans l'AWS CLI, et je suppose que vous avez déjà installé l'AWS CLI là où vous en avez besoin et que vous disposez de l'accès dont vous avez besoin pour exécuter ces commandes. Cet article se concentrera sur l'obtention des données et la gestion des états des instances. Permettez-moi de mettre cela en garde en disant qu'il existe probablement d'autres façons de le faire, ainsi que d'autres options de formatage ou de filtrage de la sortie, mais celles-ci fonctionnent, donc elles vous permettront de commencer.

Dans mon scénario, j'ai marqué mes quatre instances avec les noms intelligents servera, serverb, serverc et serverd. J'utiliserai ces noms pour filtrer ma liste, plutôt que de voir toutes les instances de mon environnement. De plus, toutes les cinq choses que je veux faire utilisent la commande «$ aws ec2». Vous voudrez peut-être commencer par exécuter simplement

$ aws ec2 describe-instances

Cela vous rendra beaucoup de données, et vous verrez que vous devez filtrer par là, et que les données sont formatées. Commençons.

Premièrement, nous avons besoin des ID d'instance. Voici la commande que j'ai exécutée et le résultat:

$ aws ec2 describe-instances –filters “Name = tag: Name, Values ​​= server *” –query “Reservations [] .Instances [] .InstanceId »

– i-01dz16q4y49x813r5

– i-072296h3w126fgh17

– i-0v87659e1po – i-0v87659e8 i-03456abcdzx213nm7

(Remarque: j'ai brouillé mes identifiants d'instance et utilisé des entrées non valides afin de ne pas utiliser accidentellement les identifiants d'instance de quelqu'un d'autre.)

Dans le ci-dessus, je filtre sur la balise «Nom» et recherche toutes les instances qui commencent par «serveur». Cela tire mes quatre ID d'instance. Bien que ce soit formidable que je puisse obtenir cela, ajoutons-en un peu plus pour que je sache quel ID d'instance correspond à quel serveur et si cette instance est en cours d'exécution ou non. J'ai utilisé cette commande pour faire cela:

$ aws ec2 describe-instances –filters “Name = tag: Name, Values ​​= server *” –query “Reservations [] .Instances []. [Tags[?Key==’Name’] , InstanceId, State.Name] »- texte de sortie

i-01dz16q4y49x813r5 en cours d'exécution

Name servera

i-1945 072296h3w en cours d'exécution ]

Serveur de nomsb

 Plates-formes et technologie - Guide des chefs d'entreprise sur les principales tendances du cloud

i-0v8765aba1po6e93n arrêté

Serveur de nomsc

i-03456abcdzx213nm7 arrêté

Name serverd

Maintenant, j'ai quelque chose. Mon ID d'instance est associé au nom avec lequel j'ai balisé mes instances, et je peux voir que deux d'entre elles sont en cours d'exécution et que deux d'entre elles sont arrêtées. Ensuite, démarrons une autre instance. C'est assez facile à faire si nous avons l'ID de l'instance, alors commençons serverc avec cette commande:

$ aws ec2 start-instances –instance-ids i-03456abcdzx213nm7

StartingInstances:

– CurrentState:

Code: 0

Name: pending

InstanceId: i-03456abm7zx

PreviousState:

Code: 80

Nom: arrêté

La sortie indique que l'état change de arrêté et est passé en attente. Inversement, la commande pour arrêter l'instance est très similaire, tout comme la sortie.

$ aws ec2 stop-instances –instance-ids i-03456abcdzx213nm7

StoppingInstances:

– État actuel:

Code: 64

Nom: arrêt

InstanceId: i-03456abcdzx2139nm7 [19459009nm7]

PreviousState:

Code: 16

Name: running

Maintenant que mon instance EC2 a démarré, je Vous aurez besoin de l'adresse IP publique pour vous y connecter. Voici la commande que j'ai utilisée pour cela:

$ aws ec2 describe-instances –instance-ids i-03456abcdzx213nm7 –query «Reservations [] .Instances [] .PublicIpAddress»

– 3.45.123.366

(Remarque: encore une fois, l'adresse IP est inventée et en fait invalide.)

Dans cet article, j'ai décrit cinq commandes différentes pour devenir utile des informations sur vos instances EC2 et pour démarrer et arrêter ces instances. Bien qu'il existe probablement d'autres moyens viables de le faire, ceux-ci fonctionnent bien et ne vous submergeront pas de sortie lorsque vous essayez simplement de faire fonctionner vos instances.

Vous voulez en savoir plus?

Nous sommes un AWS Advanced Consulting Partner propose des solutions d'hébergement et d'architecture d'applications sécurisées, faciles à utiliser, flexibles et évolutives pour vous préparer au succès. Nos experts cloud AWS se spécialisent dans la stratégie cloud, l'approche et la méthodologie de migration, le big data, le DevOps et les services gérés. Contactez-nous pour en savoir plus sur la façon de démarrer avec AWS.




Source link