[PYTHON] Arrêter une instance avec une balise spécifique dans Boto3

J'ai essayé de mettre sous tension le processus d'arrêt avec Boto3 pour une instance spécifique créée précédemment.

Comme prémisse Ajoutez la balise env à EC2 et préparez l'ensemble d'instances en tant que dev comme valeur.

Je ne pouvais pas bien gérer les filtres, mais j'ai réussi à le faire. Blog pour commémorer. Ensuite, travaillons avec Lambda.

# -*- coding: utf-8 -*-

# import
import boto3
from boto3.session import Session

ec2 = boto3.client('ec2')
dev_list = []

# def
def get_list():
  instance_list = ec2.describe_instances(
    Filters=[{'Name': 'tag:env', 'Values': ['dev']}]
  )
  for Reservations in instance_list['Reservations']:
    for dev_instances in Reservations['Instances']:
      dev_list.append(dev_instances["InstanceId"])
      return dev_list

def ec2_stop(dev_list):
  for instance_id in dev_list:
    response = ec2.stop_instances(
      InstanceIds=[
        instance_id
      ]
    )

# Main
if __name__ == "__main__":
  get_list()
  ec2_stop(dev_list)

https://github.com/handa3/study/blob/master/aws/ec2/dev_stop.py

Recommended Posts

Arrêter une instance avec une balise spécifique dans Boto3
Cloner avec une branche / balise spécifique dans GitPython
environnement en ligne de serveur de code (3) Lancer une instance EC2 avec Boto3
Compter des chaînes spécifiques dans un fichier
Créer une instance d'une classe prédéfinie à partir d'une chaîne en Python
Énumérer les fichiers avec des extensions spécifiques
Enregistrer une variable spécifique dans tensorflow.session
Arrêtez l'instance AWS à l'aide de Boto3
Envoyer des e-mails à une adresse e-mail spécifique avec python sans paramétrer SMTP
Obtenez des informations sur les instances EC2 avec des préfixes arbitraires dans le nom de l'instance avec boto
Comment arrêter le programme jusqu'à une date et une heure spécifiques en python
Générer tous les fichiers avec une extension spécifique
Livre en spirale en Python! Python avec un livre en spirale! (Chapitre 14 ~)
Mettre TensorFlow dans une instance P2 avec pip3
Dessinez un cœur en rubis avec PyCall
Arrêtez l'optimisation avec Early Stopper de scikit-Optimize
Faites fonctionner l'oscilloscope avec le Raspberry Pi
Créer un environnement virtuel dans un environnement Anaconda
Remarque) Conversion par lots de symboles spécifiques contenus dans une chaîne de caractères avec un dictionnaire
Envoyer un e-mail avec un utilisateur autre que EMAIL_HOST_USER écrit dans les paramètres de django
Recherche d'un moyen efficace d'écrire un Dockerfile avec Python avec de la poésie
[Python] Récupérez les fichiers dans le dossier avec Python
Essayez Tensorflow avec une instance GPU sur AWS
Fabriquer un appareil de surveillance avec un capteur infrarouge
Créer un fichier qui peut être exécuté dans le langage de script
Supprimer des données dans un modèle avec Redis Cluster
Démarrez Django dans un environnement virtuel à l'aide de Pipenv
Créer un environnement virtuel avec conda avec Python
Créez un environnement Django avec Vagrant en 5 minutes
Obtenir une liste d'utilisateurs IAM avec Boto3
Créer une image avec des caractères avec python (japonais)
Extraire des lignes contenant une "chaîne" spécifique avec Pandas
Travaillez dans un environnement virtuel avec Python virtualenv.
Créer une nouvelle page en confluence avec Python
Une histoire remplie de valeurs absolues de numpy.ndarray
Entrez une valeur spécifique pour la variable dans tensorflow
Configurer un module avec plusieurs fichiers dans Django
Comment compter les nombres dans une plage spécifique
Transférer l'état de disponibilité des instances potentiellement coûteuses dans Lambda vers Slack
Affichez les journaux d'une manière facile à comprendre avec Ansible
Obtenir des lignes contenant des éléments spécifiques dans np.where
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
[Python] Ne laissez que les éléments commençant par une chaîne de caractères spécifique dans le tableau
Essayez d'exécuter Schedule pour démarrer et arrêter des instances dans AWS Lambda (Python)
J'ai écrit un outil CLI en langue Go pour afficher le flux de balises de Qiita dans CLI
Python2 / numpy> Remplacer uniquement une colonne spécifique d'un fichier par les données de colonne d'un autre fichier> numpy.c_