[PYTHON] [AWS] Outil de vérification du statut de création EBS

Outil de vérification du statut de création EBS

Récemment, démarrage / arrêt répété des instances et sauvegarde Beaucoup de Volumes quand je l'ai remarqué en claquant pour la création d'AMI. ..

De nombreux EBS sont rendus (disponibles) même s'ils ne sont pas "en cours d'utilisation", Si vous vérifiez l'état de facturation avec l'activité du compte, cela augmente sobrement.

Amazon EC2 EBS $0.12 per GB-month of provisioned storage .....

À propos du fonctionnement du volume et de la facturation

Essayez-le et sentez-le sur votre peau! De l'instance à laquelle 3 volumes EBS sont attachés De la création d'une AMI.


  1. Créer une AMI EBS_a-1.jpg
  2. SNAP, confirmation du volume SNAP est possible. (Et maintenant, je remarque que Progress est un affichage à barres.) EBS_a-2.jpg
  1. Supprimer l'AMI Disparaître magnifiquement
  2. SNAP, confirmation du volume SNAP reste

Amazon EC2 EBS $0.1 per GB-Month of snapshot data stored


  1. Créer une AMI EBS_b-1.jpg
  2. SNAP, confirmation du volume Comme [a], SNAP peut être fait, mais pas Volume. .. EBS_b-2.jpg
  3. Supprimer SNAP Oui, je ne peux pas l'effacer! !! Pardon! C'est vrai, SNAP ne peut pas être effacé car c'est un élément de la structure de stockage d'image. EBS_b-3.jpg

  1. Lancez une instance à partir de l'AMI créée dans [b] Veuillez désactiver "Supprimer en cas de résiliation". (Les personnes qui connaissent ce domaine sont susceptibles d'être dupées ...) EBS_c-1.jpg
  2. SNAP, confirmation du volume SNAP ne peut pas être nouvellement créé (naturellement), mais Volume est nouvellement développé à partir de SNAP et est une instance. EBS_c-2.jpg
  3. Arrêtez l'instance et supprimez le volume EBS_c-3.jpg
  4. SNAP et AMI ne disparaîtront pas! (Bien sûr!!)

J'ai fait un outil

daily_check_ebs_created.py


#!/usr/bin/python
#-*- coding: utf-8 -*-

import commands
import sys,getopt
import json
import datetime

from datetime import datetime as dt

# Set standard date
aday = datetime.timedelta(days=1)
std_day = datetime.datetime.today() - aday

# Exec command
aws_cmd='aws ec2 describe-volumes'
out=commands.getoutput(aws_cmd)

# Parse JSON
ebs_data = json.loads(out)

print "===================================================================="
print "The following refers to the volume that is created after this time. "
print  unicode(std_day)
print "===================================================================="

for vols in ebs_data["Volumes"]:
   cretime = dt.strptime(vols["CreateTime"], '%Y-%m-%dT%H:%M:%S.000Z')
   ## Volume only newly created
   if cretime > std_day:
     print  "AZ=" + vols["AvailabilityZone"] + ", volId=" + vols["VolumeId"] + ", CreateTime=" + unicode(cretime) + ", State=" + vols["State"]

export AWS_DEFAULT_REGION=ap-northeast-1

Voir ci-dessous

Ce n'est pas un si gros code w Cependant, ceux qui peuvent être utilisés sobrement sont en place.

Cependant, «utilisable» et «inutilisable» sont également subjectifs, de sorte que Commencez par écrire quelque chose de simple et «utilisable» par vous-même.

Recommended Posts

[AWS] Outil de vérification du statut de création EBS
Reconfirmation d'AWS EBS
Outil pour vérifier le style de code
Résumé de l'outil de vérification des expressions régulières