棄用 Amazon EC2 AMI - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

棄用 Amazon EC2 AMI

您可以棄用,AMI以表示它已過期且不應該使用。您也可以指定 future 的取代日期AMI,指出何時AMI會過期。例如,您可能會棄用不再主動維護AMI的版本,或者您可能會棄用已被較新版本取代AMI的版本。根據預設,已取代AMIs不會出現在AMI清單中,因此新使用者無法使用 out-of-date AMIs。不過,現有使用者和啟動服務 (例如啟動範本和 Auto Scaling 群組) 可以AMI透過指定其 ID 來繼續使用已取代的。若要刪除AMI讓使用者和服務無法使用它,您必須取消註冊

在被棄AMI用之後:

  • 對於AMI使用者,除非您指定其 ID 或指定AMIs必須顯示已取代的項目,否則已取代的項目不AMI會出現在DescribeImagesAPI呼叫中。AMI擁有者AMIs在DescribeImagesAPI呼叫中繼續看到已淘汰。

  • 對於AMI使用者,已取代AMI的項目無法透過EC2主控台選取。例如,已取代的項目AMI不會出現在啟動實例精靈的AMI目錄中。AMI所有者繼續在EC2控制台AMIs中看到已棄用。

  • 對於使用AMI者,如果您知道已取代的 IDAMI,您可以使用、或繼續使用已取代AMI的執行個體API來啟動執行個體SDKs。CLI

  • 啟動服務 (例如啟動範本和 Auto Scaling 群組) 可以繼續參考已取代AMIs。

  • EC2使用隨後被取代的啟動AMI的實例不會受到影響,而且可以停止、啟動和重新啟動。

您可以棄用私人和公共。AMIs

您也可以建立 Amazon Data Lifecycle Manager EBS 支援的AMI政策,以自動化已備份的EBS棄用。AMIs如需詳細資訊,請參閱自動化AMI生命週期

注意

默認情況下,所有公共的棄用日期AMIs都設置為從AMI創建日期起兩年。您可將棄用日期設定為早於兩年。若要取消淘汰日期,或將淘汰日期移至較晚的日期,您必須僅與特定 AWS 帳戶共用,將其設為AMI私有

成本

當您取代時AMI,不會刪除。AMIAMI擁有者會繼續支付快AMI照費用。若要停止支付快照費用,AMI擁有者必須AMI透過取消註冊來刪除快照。

限制

  • 若要取代AMI,您必須是. 的擁有者。AMI

棄用 AMI

您可以在特定日期和時間取代。AMI您必須是AMI擁有者才能執行此程序。

Console
若要在特定AMI日期淘汰
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在左側導覽器中,選擇AMIs

  3. 從篩選條件列中,選擇 Owned by me (由我擁有)。

  4. 選取AMI,然後選擇 [動作]、[管理AMI淘汰]。您可以選擇多個AMIs以一次設置多AMIs個相同的棄用日期。

  5. 選取 Enable (啟用) 核取方塊,然後輸入取代日期和時間。

    棄用日期的上限為 10 年後,公眾除外AMIs,其上限是自創建日期起 2 年。您無法指定過去的日期。

  6. 選擇 Save (儲存)。

AWS CLI
若要在特定AMI日期淘汰

使用指enable-image-deprecation令。指定要取代的 AMI ID 以及取代的日期和時間。AMI如果您指定以秒為單位的值,Amazon 會將秒數EC2四捨五入到最接近的分鐘。

上限deprecate-at為 10 年後,公眾除外AMIs,其上限為創建日期起 2 年。您無法指定過去的日期。

aws ec2 enable-image-deprecation \ --image-id ami-1234567890abcdef0 \ --deprecate-at "2021-10-15T13:17:12.000Z"

預期的輸出結果

{ "Return": "true" }

檢查上AMI次使用的時間

LastLaunchedTime是一個時間戳記,指出您上AMI次用於啟動實例的時間。AMIs最近沒有用於啟動實例的可能是棄用或取註冊的好候選人。

注意
  • 使用 a 啟動執行個體時,會有 24 小時的延遲時間,才會報告該使用量。AMI

  • lastLaunchedTime 資料從 2017 年 4 月開始提供。

Console
若要檢視上次啟動的時間 AMI
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在左側導覽器中,選擇AMIs

  3. 從篩選條件列中,選擇 Owned by me (由我擁有)。

  4. 選取AMI,然後核取 [上次啟動時間] 欄位 (如果您已選取 [詳細資料] 索引標籤旁的核取方塊)。AMI此欄位會顯示上次用來啟動執行個體的日期和時間。AMI

AWS CLI
若要檢視上次啟動的時間 AMI

執行命describe-image-attribute令並指定--attribute lastLaunchedTime。您必須是執行此命令的AMI擁有者。

aws ec2 describe-image-attribute \ --image-id ami-1234567890example \ --attribute lastLaunchedTime

範例輸出

{ "LastLaunchedTime": { "Value": "2022-02-10T02:03:18Z" }, "ImageId": "ami-1234567890example", }

描述已棄用 AMIs

您可以查看的棄用日期和時間AMI,並AMIs按棄用日期過濾所有。您也可以使用 AWS CLI 來描述所有AMIs已被棄用的,其中的棄用日期是過去的。

Console
若要檢視的取代日期 AMI
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在左側瀏覽器中 AMIs,選擇,然後選取AMI。

  3. 核取 [棄用時間] 欄位 (如果您選取了 [詳細資料] 索引標籤旁的核取方塊)。AMI此欄位會顯示. AMI 如果欄位為空白,則AMI不會取代。

若要AMIs依棄用日期篩選
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在左側導覽器中,選擇AMIs

  3. 在篩選列中,選擇「我擁有」或「私人影像」(包AMIs含與您共用以及您擁有的私人影像)。

  4. 在搜尋列中,輸入 Deprecation time (當您輸入字母時,Deprecation time (取代時間) 篩選條件隨即顯示),隨後選擇一個運算子及一個日期和時間。

AWS CLI

當您AMIs使用描述-images 指令描述所有項目時,結果會根據您是使用者還是擁有AMI者而有所不同。AMI

  • 如果您是AMI使用者:

    根據預設,當您AMIs使用 describe-images 指令描述所有內容時,不AMIs是您擁有但與您共用的已取代,則不會出現在結果中。這是因為預設值為 --no-include-deprecated。若要在結果AMIs中包含已取代,您必須指定--include-deprecated參數。

  • 如果您是擁AMI有者:

    當您AMIs使用 describe-images 指令描述所有項目時,您擁有的所有內AMIs容 (包括已取代AMIs) 都會出現在結果中。您不需要指定 --include-deprecated 參數。此外,您不能使用從結果中排除您擁有的已棄AMIs用--no-include-deprecated

如果AMI已取代,則DeprecationTime欄位會顯示在結果中。

注意

棄用的AMIAMI是棄用日期是過去的。如果您已將棄用日期設定為 future 的日期,AMI則尚未取代。

若要AMIs在描述全部時包含所有已停用 AMIs

使用 describe-images 指令並指定--include-deprecated參數,以便在結果中包含您未擁有的所有AMIs已取代的已取代項目。

aws ec2 describe-images \ --region us-east-1 \ --owners 123456example --include-deprecated
描述的棄用日期 AMI

使用描述影像指令並指定的 ID。AMI

請注意,如果您與 AMI ID --no-include-deprecated 一起指定,則不推薦使用的AMI將在結果中返回。

aws ec2 describe-images \ --region us-east-1 \ --image-ids ami-1234567890EXAMPLE

預期的輸出結果

DeprecationTime欄位會顯示設定AMI為取代的日期。如果未設定為已取代,則DeprecationTime欄位不會顯示在輸出中。AMI

{ "Images": [ { "VirtualizationType": "hvm", "Description": "Provided by Red Hat, Inc.", "PlatformDetails": "Red Hat Enterprise Linux", "EnaSupport": true, "Hypervisor": "xen", "State": "available", "SriovNetSupport": "simple", "ImageId": "ami-1234567890EXAMPLE", "DeprecationTime": "2021-05-10T13:17:12.000Z" "UsageOperation": "RunInstances:0010", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "SnapshotId": "snap-111222333444aaabb", "DeleteOnTermination": true, "VolumeType": "gp2", "VolumeSize": 10, "Encrypted": false } } ], "Architecture": "x86_64", "ImageLocation": "123456789012/RHEL-8.0.0_HVM-20190618-x86_64-1-Hourly2-GP2", "RootDeviceType": "ebs", "OwnerId": "123456789012", "RootDeviceName": "/dev/sda1", "CreationDate": "2019-05-10T13:17:12.000Z", "Public": true, "ImageType": "machine", "Name": "RHEL-8.0.0_HVM-20190618-x86_64-1-Hourly2-GP2" } ] }

取消AMI棄用

您可以取消淘汰AMI,從「棄用時間」字段(控制台)中刪除日期和時,或者從 describe- images 輸出()中刪除DeprecationTime字段。AWS CLI您必須是AMI擁有者才能執行此程序。

Console
若要取消淘汰 AMI
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在左側導覽器中,選擇AMIs

  3. 從篩選條件列中,選擇 Owned by me (由我擁有)。

  4. 選取AMI,然後選擇 [動作]、[管理AMI淘汰]。您可以選擇多個AMIs以一次取消多個棄用。AMIs

  5. 清除 Enable (啟用) 核取方塊,然後選擇 Save (儲存)。

AWS CLI
若要取消淘汰 AMI

使用指disable-image-deprecation令並指定的 ID AMI。

aws ec2 disable-image-deprecation \ --image-id ami-1234567890abcdef0

預期的輸出結果

{ "Return": "true" }