कर रहे हैं आम तौर पर आप के लिए क्या देख रहे करने के लिए 4 कदम:
एएमआई का उपयोग करने वाले मामलों को समाप्त करें (विशेष रूप से S3 समर्थित एएमआई के लिए अभ्यास की सिफारिश करें) [किसी भी प्रकार के एएमआई को हटाने से पहले आवश्यक नहीं]
- डेरेगिस्टर एएमआई का उपयोग करना
ec2-deregister
- एएमआई
ec2-delete-bundle
(एस 3 के लिए) या ec2-delete-snapshot
(ईबीएस के लिए ) का उपयोग करते हुए बंडल / स्नैपशॉट हटाएं ।
ईबीएस वॉल्यूम हटाएं (जब तक कि उन्हें समाप्ति पर हटाने के लिए सेट नहीं किया जाता है, उस स्थिति में, उन्हें चरण # 1 में हटा दिया जाएगा)। यह S3 समर्थित उदाहरणों के लिए आवश्यक नहीं है। [फिर, यह आवश्यक नहीं है कि यदि आप एएमआई को हटाना चाहते हैं तो उदाहरणों को समाप्त कर दें या वॉल्यूम हटा दें।]
ध्यान रखें कि स्नैपशॉट और चित्र स्वतंत्र हैं। आप स्नैपशॉट से ईबीएस वॉल्यूम बना सकते हैं और इसे बूट ड्राइव के बजाय एक माध्यमिक ड्राइव के रूप में उपयोग कर सकते हैं। इसके अलावा (लिनक्स उदाहरणों के मामले में) एक मौजूदा स्नैपशॉट से एक नई छवि बनाना संभव है - जो इस विचार को कारण देता है कि हर कोई जो एक छवि को हटाना नहीं चाहता है वह भी संबंधित स्नैपशॉट को हटाना चाहता है। (यद्यपि आप एक विंडोज एएमआई बनाने के लिए स्नैपशॉट पंजीकृत कर सकते हैं, एएमआई प्रशंसनीय नहीं है।)
यह ध्यान देने योग्य है कि एडब्ल्यूएस आपको एएमआई से पहले एक स्नैपशॉट को एएमआई से संबंधित हटाने नहीं देगा।
उपरोक्त चरण 2 और 3 पर ध्यान केंद्रित करते हुए, आपको सबसे पहले AMI के साथ जुड़े स्नैपशॉट ID (s) को ढूंढना होगा। इसे ब्लॉक डिवाइस मैपिंग के भाग के रूप में सूचीबद्ध किया जाना चाहिए। आमतौर पर, रूट ईबीएस वॉल्यूम में आरोह बिंदु / देव / sda1 होता है। आप कमांड लाइन से एएमआई को निष्क्रिय कर सकते हैं (या एडब्ल्यूएस कंसोल का उपयोग कर सकते हैं) और फिर स्नैपशॉट (फिर, कमांड लाइन या एडब्ल्यूएस कंसोल से) को हटा सकते हैं।
यदि आपको इस कार्य को अधिक बार करने की आवश्यकता है, तो आप इस प्रक्रिया को स्क्रिप्ट करना चाहेंगे। कुछ पुस्तकालय जैसे कि पायथन बोटो में ऐसा करने के लिए एक फ़ंक्शन शामिल है:
deregister_image(image_id, delete_snapshot=False)
Unregister an AMI.
Parameters:
image_id (string) – the ID of the Image to unregister
delete_snapshot (bool) – Set to True if we should delete the snapshot associated with an EBS volume mounted at /dev/sda1
उदाहरण के लिए एक नमूना स्क्रिप्ट (पूरी तरह से अप्रयुक्त, और बस एक साथ cobbled - अपने स्वयं के जोखिम पर उपयोग करें!) उपरोक्त के आधार पर देखें:
#!/usr/bin/env python
import os
import sys
def ec2delete(imageid=None):
conn = boto.ec2.connect_to_region('your_region', aws_access_key_id='your_key', aws_secret_access_key='your_secret')
conn.deregister_image(imageid, delete_snapshot=True)
if __name__ == '__main__':
from optparse import OptionParser
parser = OptionParser()
options, args = parser.parse_args()
sys.stderr.write("Deleting %s and snapshots\n" % str(args))
ec2delete(args)