停用 AMI - Amazon Elastic Compute Cloud

停用 AMI

可以停用 AMI 以防止其用於執行個體啟動。無法從已停用的 AMI 中啟動新執行個體。可以重新啟用已停用的 AMI,以便在執行個體啟動時再次使用它。

警告

停用 AMI 會移除其所有啟動權限。

停用 AMI 時:

  • AMI 的狀態會變更為 disabled

  • 無法共用已停用的 AMI。如果 AMI 為公有或先前被共用,則會將其設為私有。如果與 AWS 帳戶、組織或組織單位共用 AMI,則他們將無法存取已停用的 AMI。

  • 依預設,已停用的 AMI 不會出現在 DescribeImages API 呼叫中。

  • 對於 EC2 主控台中的執行個體啟動,不可選擇已停用的 AMI。例如,在啟動執行個體精靈中或建立啟動範本時,已停用的 AMI 不會出現在 AMI 目錄中。

  • 啟動服務 (例如啟動範本和 Auto Scaling 群組) 可以繼續參考已停用的 AMI。從已停用的 AMI 中進行後續執行個體啟動將會失敗,因此建議您更新啟動範本和 Auto Scaling 群組以僅參考可用的 AMI。

  • 先前使用隨後被停用的 AMI 來啟動的 EC2 執行個體不會受到影響,而且可以停止、啟動和重新啟動。

重新啟用 AMI 時:

  • AMI 的狀態會變更為 available,而且可用來啟動執行個體。

  • 可以共用 AMI。

  • 由於停用 AMI 而無法對其進行存取的 AWS 帳戶、組織和組織單位不會自動重新獲得存取權,但可以再次與他們共用 AMI。

可以同時停用私有和公有 AMI。

成本

當您停用 AMI 時,不會刪除 AMI。如果 AMI 是 EBS 後端 AMI,您會繼續支付 AMI 的 EBS 快照。如果想要保留 AMI,可以透過封存快照來降低儲存成本。如需詳細資訊,請參閱 封存 Amazon EBS 快照。如果不想保留 AMI 及其快照,必須取消註冊 AMI 並刪除快照。如需詳細資訊,請參閱 清除您的 Amazon EBS 後端 AMI

先決條件

若要停用或重新啟用 AMI,您必須是 AMI 的擁有者。

所需的 IAM 許可

若要停用和重新啟用 AMI,您必須具有下列 IAM 許可:

  • ec2:DisableImage

  • ec2:EnableImage

停用 AMI

可以使用 EC2 主控台或 AWS Command Line Interface (AWS CLI) 來停用 AMI。您必須是 AMI 擁有者才能執行此程序。

Console
停用 AMI
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中選擇 AMI

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

  4. 選取 AMI,然後選擇動作停用 AMI。可以選取多個 AMI,以便一次停用。

  5. 停用 AMI 視窗中,選擇停用 AMI

AWS CLI
停用 AMI

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

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

預期的輸出結果

{ "Return": "true" }

描述已停用的 AMI

可以使用 EC2 主控台或 AWS CLI 來檢視已停用的 AMI。

您必須是 AMI 擁有者,才能檢視已停用的 AMI。因為已停用的 AMI 會設為私有,如果您不是擁有者,就無法檢視已停用的 AMI。

Console
若要檢視已停用的 AMI
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中選擇 AMI

  3. 從篩選列中,選擇已停用的影像

AWS CLI

依預設,當您使用 describe-images 命令來描述所有 AMI 時,已停用的 AMI 不會顯示在結果中。這是因為預設值為 --no-include-disabled。若要在結果中包含已停用的 AMI,必須指定 --include-disabled 參數。

在描述所有 AMI 時包含所有已停用的 AMI

使用 describe-images 命令並指定 --include-disabled 參數來擷取已停用的 AMI 以及所有其他 AMI。或者,指定 --owners self 僅擷取您擁有的 AMI。

aws ec2 describe-images \ --region us-east-1 \ --owners self --include-disabled

如果指定已停用的 AMI 的 ID,但未指定 --include-disabled,則會在結果中傳回已停用的 AMI。

aws ec2 describe-images \ --region us-east-1 \ --image-ids ami-1234567890EXAMPLE
僅擷取已停用的 AMI

指定 --filters Name=state,Values=disabled。還必須指定 --include-disabled,否則會收到錯誤。

aws ec2 describe-images \ --include-disabled \ --filters Name=state,Values=disabled

範例輸出

State 欄位會顯示 AMI 的狀態。disabled 表示 AMI 已停用。

{ "Images": [ { "VirtualizationType": "hvm", "Description": "Provided by Red Hat, Inc.", "PlatformDetails": "Red Hat Enterprise Linux", "EnaSupport": true, "Hypervisor": "xen", "State": "disabled", "SriovNetSupport": "simple", "ImageId": "ami-1234567890EXAMPLE", "DeprecationTime": "2023-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": false, "ImageType": "machine", "Name": "RHEL-8.0.0_HVM-20190618-x86_64-1-Hourly2-GP2" } ] }

重新啟用已停用的 AMI

可以重新啟用已停用的 AMI。您必須是 AMI 擁有者才能執行此程序。

Console
重新啟用已停用的 AMI
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中選擇 AMI

  3. 從篩選列中,選擇已停用的影像

  4. 選取 AMI,然後選擇動作啟用 AMI。可以選取多個 AMI,一次重新啟用多個 AMI。

  5. 啟用 AMI 視窗中,選擇啟用

AWS CLI
重新啟用已停用的 AMI

使用 enable-image 命令並指定 AMI 的 ID。

aws ec2 enable-image --image-id ami-1234567890abcdef0

預期的輸出結果

{ "Return": "true" }