[PYTHON] [AWS] Tool zur Überprüfung des EBS-Erstellungsstatus

Tool zur Überprüfung des EBS-Erstellungsstatus

Kürzlich wiederholtes Starten / Stoppen von Instanzen und Backup Viele Volumes, als ich bemerkte, dass ich für die AMI-Erstellung schnappte. ..

Viele EBS werden (verfügbar) gemacht, obwohl sie nicht "in Gebrauch" sind. Wenn Sie den Abrechnungsstatus mit Kontoaktivität überprüfen, steigt dieser nüchtern an.

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

Informationen zum Volumenbetrieb und zur Abrechnung

Probieren Sie es aus und fühlen Sie es auf Ihrer Haut! Von der Instanz, an die 3 EBS-Volumes angehängt sind Von der Erstellung eines AMI.


  1. Erstellen Sie AMI EBS_a-1.jpg
  2. SNAP, Volumenbestätigung SNAP ist möglich. (Und jetzt bemerke ich, dass Progress eine Balkenanzeige ist.) EBS_a-2.jpg
  1. Löschen Sie AMI Schön verschwinden
  2. SNAP, Volumenbestätigung SNAP bleibt bestehen

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


  1. Erstellen Sie AMI EBS_b-1.jpg
  2. SNAP, Volumenbestätigung Wie [a] kann SNAP ausgeführt werden, Volume jedoch nicht. .. EBS_b-2.jpg
  3. Entfernen Sie SNAP Ja, ich kann es nicht löschen! !! Es tut uns leid! Richtig, SNAP kann nicht gelöscht werden, da es ein Element der Bildspeicherstruktur ist. EBS_b-3.jpg

  1. Starten Sie eine Instanz aus dem in [b] erstellten AMI. Bitte deaktivieren Sie "Bei Beendigung löschen". (Leute, die mit diesem Bereich vertraut sind, werden wahrscheinlich getäuscht ...) EBS_c-1.jpg
  2. SNAP, Volumenbestätigung SNAP kann (natürlich) nicht neu erstellt werden, aber Volume wurde von SNAP neu erweitert und ist eine Instanz. EBS_c-2.jpg
  3. Beenden Sie die Instanz und löschen Sie Volume EBS_c-3.jpg
  4. SNAP und AMI werden nicht verschwinden! (Natürlich!!)

Ich habe ein Werkzeug gemacht

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

Siehe unten

Es ist kein so großer Code w Diejenigen, die nüchtern verwendet werden können, sind jedoch aktiv.

"Verwendbar" und "unbrauchbar" sind jedoch auch subjektiv Beginnen Sie damit, etwas zu schreiben, das für Sie einfach und "verwendbar" ist.

Recommended Posts

[AWS] Tool zur Überprüfung des EBS-Erstellungsstatus
Bestätigung von AWS EBS
Tool zum Überprüfen des Codestils
Tool-Tool zur Überprüfung regulärer Ausdrücke