Ich weiß, dass der Befehl ec2-create-image instance-id
ein Image der ec2-Instanz erstellt, eine Snapshot-Datei erstellt und sich als AMI registriert. Aber wie lautet der entsprechende Befehl zum Löschen des Image, wodurch die zugehörigen Snapshot-Dateien gelöscht und AMI abgemeldet werden?
amazon-ec2
amazon-web-services
James W.
quelle
quelle
Antworten:
Aktualisierte Antwort aus den aws-Dokumenten:
Hoffe das hilft jemandem wie mir! : D
quelle
In der Regel sind es 4 Schritte, nach denen Sie suchen:
Instanzen mit dem AMI beenden (empfohlene Vorgehensweise speziell für S3-unterstützte AMIs)[Nicht erforderlich, bevor ein AMI eines beliebigen Typs gelöscht wird]ec2-deregister
ec2-delete-bundle
(für S3) oderec2-delete-snapshot
(für EBS).Löschen Sie EBS-Volumes (es sei denn, sie werden beim Beenden gelöscht. In diesem Fall werden sie in Schritt 1 entfernt). Dies ist für von S3 unterstützte Instanzen nicht erforderlich.[Auch hier ist es nicht erforderlich, Instanzen zu beenden oder Volumes zu löschen, wenn Sie nur eine AMI löschen möchten.]Denken Sie daran, dass Schnappschüsse und Bilder unabhängig voneinander sind. Sie können ein EBS-Volume aus einem Snapshot erstellen und es als sekundäres Laufwerk anstatt als Startlaufwerk verwenden. Darüber hinaus ist es (bei Linux-Instanzen) möglich, ein neues Image aus einem vorhandenen Snapshot zu erstellen. Dies gibt Anlass zu der Annahme, dass nicht jeder, der ein Image löschen möchte, auch die zugehörigen Snapshots löschen möchte. (Obwohl Sie einen Snapshot registrieren können, um ein Windows-AMI zu erstellen, kann das AMI nicht gestartet werden.)
Beachten Sie, dass Sie in AWS einen mit einem AMI verknüpften Snapshot nicht löschen können, bevor Sie das AMI abmelden.
Wenn Sie sich auf die obigen Schritte 2 und 3 konzentrieren, müssen Sie zunächst die Schnappschuss-IDs ermitteln, die einem AMI zugeordnet sind. Dies sollte als Teil der Blockgerätezuordnungen aufgeführt werden. Normalerweise hat das Root-EBS-Volume den Mount-Punkt / dev / sda1. Sie können die AMI über die Befehlszeile abmelden (oder die AWS-Konsole verwenden) und anschließend den Snapshot löschen (erneut über die Befehlszeile oder die AWS-Konsole).
Wenn Sie diese Aufgabe häufiger ausführen müssen, möchten Sie den Prozess skripten. Einige Bibliotheken wie Python Boto enthalten eine Funktion, um genau dies zu tun:
Zum Beispiel könnte ein Beispielskript (völlig ungetestet und nur zusammengeschustert - Verwendung auf eigenes Risiko!) Auf der Grundlage des oben Gesagten folgendermaßen aussehen:
quelle
Das kann auch die awscli .
Holen Sie sich zuerst die Shapshot-ID mit
describe-images
:Dann das Bild abmelden und den Schnappschuss löschen:
quelle