本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
棄用 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生命週期。
成本
當您取代時AMI,不會刪除。AMIAMI擁有者會繼續支付快AMI照費用。若要停止支付快照費用,AMI擁有者必須AMI透過取消註冊來刪除快照。
限制
棄用 AMI
您可以在特定日期和時間取代。AMI您必須是AMI擁有者才能執行此程序。
- Console
-
若要在特定AMI日期淘汰
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/。
-
在左側導覽器中,選擇AMIs。
-
從篩選條件列中,選擇 Owned by me (由我擁有)。
-
選取AMI,然後選擇 [動作]、[管理AMI淘汰]。您可以選擇多個AMIs以一次設置多AMIs個相同的棄用日期。
-
選取 Enable (啟用) 核取方塊,然後輸入取代日期和時間。
棄用日期的上限為 10 年後,公眾除外AMIs,其上限是自創建日期起 2 年。您無法指定過去的日期。
-
選擇 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最近沒有用於啟動實例的可能是棄用或取消註冊的好候選人。
- Console
-
若要檢視上次啟動的時間 AMI
-
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/。
-
在左側導覽器中,選擇AMIs。
-
從篩選條件列中,選擇 Owned by me (由我擁有)。
-
選取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
-
若要AMIs依棄用日期篩選
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/。
-
在左側導覽器中,選擇AMIs。
-
在篩選列中,選擇「我擁有」或「私人影像」(包AMIs含與您共用以及您擁有的私人影像)。
-
在搜尋列中,輸入 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
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/。
-
在左側導覽器中,選擇AMIs。
-
從篩選條件列中,選擇 Owned by me (由我擁有)。
-
選取AMI,然後選擇 [動作]、[管理AMI淘汰]。您可以選擇多個AMIs以一次取消多個棄用。AMIs
-
清除 Enable (啟用) 核取方塊,然後選擇 Save (儲存)。
- AWS CLI
-
若要取消淘汰 AMI
使用指disable-image-deprecation令並指定的 ID AMI。
aws ec2 disable-image-deprecation \
--image-id ami-1234567890abcdef0
預期的輸出結果
{
"Return": "true"
}