讓您的 AMI 公開可用於 Amazon EC2 - Amazon Elastic Compute Cloud

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

讓您的 AMI 公開可用於 Amazon EC2

您可以透過與所有 共用來公開AMI使用 AWS 帳戶。

如果您想要防止 的公開共用AMIs,您可以啟用 的封鎖公開存取AMIs。這會封鎖任何AMI公開的嘗試,協助防止未經授權的存取和潛在的AMI資料濫用。請注意,啟用區塊公有存取不會影響AMIs已公開可用的 ;它們仍然可公開使用。如需詳細資訊,請參閱了解 的封鎖公開存取 AMIs

若要僅允許特定帳戶使用 AMI啟動執行個體,請參閱 AMI 與特定 AWS 帳戶共用

考量事項

在AMI公開之前,請考慮下列事項。

  • 擁有權 – 若要AMI公開,您的 AWS 帳戶 必須擁有 AMI。

  • 區域 – AMIs 是區域資源。當您共用 時AMI,它只能在您共用它的區域中使用。若要在不同區域中AMI提供 ,AMI請將 複製到 區域,然後共用。如需詳細資訊,請參閱複製 Amazon EC2 AMI

  • 封鎖公開存取 – 若要公開共用 AMI,必須在AMI將公開共用 的每個區域中停用 的封鎖公開存取AMIs。公開共用 之後AMI,您可以重新啟用 的封鎖公開存取AMIs,以防止進一步公開共用您的 AMIs。

  • 有些 AMIs 無法公開 – 如果您的 AMI包含下列其中一個元件,則您無法公開 (但您可以AMI與特定 共用 AWS 帳戶):

    • 加密磁碟區

    • 加密磁碟區的快照

    • 產品代碼

  • 避免暴露敏感資料 – 為了避免在共用 時暴露敏感資料AMI,請閱讀 中的安全考量,建立共用 Linux 的建議 AMIs並遵循建議的動作。

  • 用量 – 當您共用 時AMI,使用者只能從 啟動執行個體AMI。他們無法刪除、共用或修改它。不過,在他們使用您的 啟動執行個體之後AMI,就可以AMI從其啟動的執行個體建立 。

  • 自動棄用 – 依預設,所有公有 的棄用日期AMIs都會設定為自AMI建立日期起兩年。您可將棄用日期設定為早於兩年。若要取消棄用日期,或將棄用移至較晚的日期,您必須僅與特定 共用,以 AWS 帳戶將其設為AMI私有。

  • 移除過時 AMIs – 在公有 AMI到達其棄用日期後,如果AMI六個月或更長時間內沒有從 啟動新的執行個體, AWS 則 會移除公有共用屬性,以免過時AMIs出現在公有AMI清單中。

  • 計費 – 當其他人使用 AWS 帳戶 啟動執行個體時AMI,您無須付費。使用 啟動執行個體的帳戶AMI會針對其啟動的執行個體收取費用。

AMI 與所有 AWS 帳戶共用 (公開共用)

公AMI有之後,可在 主控台的 社群AMIs中使用,您可以在EC2主控台左側導覽器的 AMI目錄或使用 主控台啟動執行個體時存取 。請注意,在公開之後, 可能需要一小段時間AMI才會出現在社群AMIs中。

Console
若要AMI公開
  1. 在 開啟 Amazon EC2主控台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 AMIs

  3. AMI 從清單中選取您的 ,然後選擇動作 編輯AMI許可

  4. AMI可用性 下,選擇公有

  5. 選擇 Save changes (儲存變更)。

AWS CLI

每個 AMI 都有一個 launchPermission 屬性 AWS 帳戶,可控制擁有者的 以外,允許使用 AMI來啟動執行個體。透過修改 的 launchPermission 屬性AMI,您可以AMI公開 (將啟動許可授予所有 AWS 帳戶),或僅與指定的 AWS 帳戶 共用。

您可以從具有 啟動許可的帳戶IDs清單中新增或移除帳戶AMI。若要AMI公開,請指定 all 群組。您可同時指定公有和明確啟動許可。

若要AMI公開
  1. 使用 modify-image-attribute 命令,如下所示將all群組新增至指定 的launchPermission清單AMI。

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Add=[{Group=all}]"
  2. 若要驗證 的啟動許可AMI,請使用 describe-image-attribute 命令。

    aws ec2 describe-image-attribute \ --image-id ami-0abcdef1234567890 \ --attribute launchPermission
  3. (選用) 若要再次AMI私有,請從啟動許可中移除all群組。請注意, 的擁有者AMI一律具有啟動許可,因此不受此命令影響。

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Remove=[{Group=all}]"
PowerShell

每個 AMI 都有一個 launchPermission 屬性 AWS 帳戶,可控制擁有者的 以外,允許使用 AMI來啟動執行個體。透過修改 的 launchPermission 屬性AMI,您可以AMI公開 (將啟動許可授予所有 AWS 帳戶),或僅與指定的 AWS 帳戶 共用。

您可以從具有 啟動許可的帳戶IDs清單中新增或移除帳戶AMI。若要AMI公開,請指定 all 群組。您可同時指定公有和明確啟動許可。

若要AMI公開
  1. 使用 Edit-EC2ImageAttribute 命令,如下所示將all群組新增至指定 的launchPermission清單AMI。

    PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType add -UserGroup all
  2. 若要驗證 的啟動許可AMI,請使用下列 Get-EC2ImageAttribute 命令。

    PS C:\> Get-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission
  3. (選用) 若要再次AMI私有,請從啟動許可中移除all群組。請注意, 的擁有者AMI一律具有啟動許可,因此不受此命令影響。

    PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType remove -UserGroup all