Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

将 AMI 设为公用

Amazon EC2 使您能与其他 AWS 账户共享您的 AMI。您可以允许所有 AWS 账户启动 AMI (将 AMI 设置为公用),也可以仅允许几个特定的账户启动 AMI (请参阅将 AMI 与特定 AWS 账户共享)。当其他 AWS 账户启动您的 AMI 时,不会向您收费;只会向启动 AMI 的账户收取费用。

AMI 是一种区域性资源。因此,共享 AMI 可使其能够在其他区域使用。要使 AMI 能够在其他区域使用,请将该 AMI 复制到目标区域并共享。有关更多信息,请参阅 复制 AMI

注意

如果 AMI 有产品代码,则不能将其设为公用。只能将 AMI 与特定 AWS 账户共享。

与所有 AWS 账户分享 AMI (控制台)

将 AMI 设置为公用后,当您使用控制台在相同区域启动实例时,Community AMIs 中会出现该 AMI。请注意,将某个 AMI 设置为公用之后,可能需要一点时间 Community AMIs 中才会显示该 AMI。将某个 AMI 再次设置为私有后,也可能需要一点时间才能将它从 Community AMIs 中删除。

使用控制台共享公用 AMI

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中,选择 AMIs

  3. 从列表中选择您的 AMI,然后选择 ActionsModify Image Permissions

  4. 选择 Public,然后选择 Save

与所有 AWS 账户共享 AMI (Windows PowerShell 工具)

每个 AMI 都有一个 launchPermission 属性,用于控制允许哪些 AWS 账户 (除拥有者账户外) 使用该 AMI 启动实例。通过修改 AMI 的 launchPermission 属性,可以将 AMI 设为公用 (这会向所有 AWS 账户授予启动权限) 或仅将其与指定的 AWS 账户共享。

您可以在具有 AMI 启动权限的账户的列表中添加或从中删除账户 ID。要将 AMI 设为公用,请指定 all 组。公用和显式启动许可都可以指定。

将 AMI 设为公用

  1. 使用 Edit-EC2ImageAttribute 命令可以将 all 组添加到指定 AMI 的 launchPermission 列表中,如下所示。

    Copy
    PS C:\> Edit-EC2ImageAttribute -ImageId ami-12345678 -Attribute launchPermission -OperationType add -UserGroup all
  2. 要验证 AMI 的启动许可,请使用以下 Get-EC2ImageAttribute 命令。

    Copy
    PS C:\> Get-EC2ImageAttribute -ImageId ami-12345678 -Attribute launchPermission
  3. (可选) 要再次将 AMI 设为私有,请从其启动许可中删除 all 组。请注意,AMI 的拥有者始终具有启动许可,因此不受此命令影响。

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

与所有 AWS 账户共享 AMI (AWS CLI)

每个 AMI 都有一个 launchPermission 属性,用于控制允许哪些 AWS 账户 (除拥有者账户外) 使用该 AMI 启动实例。通过修改 AMI 的 launchPermission 属性,可以将 AMI 设为公用 (这会向所有 AWS 账户授予启动权限) 或仅将其与指定的 AWS 账户共享。

您可以在具有 AMI 启动权限的账户的列表中添加或从中删除账户 ID。要将 AMI 设为公用,请指定 all 组。公用和显式启动许可都可以指定。

将 AMI 设为公用

  1. 使用 modify-image-attribute 命令可将 all 组添加到指定 AMI 的 launchPermission 列表,如下所示。

    Copy
    aws ec2 modify-image-attribute --image-id ami-12345678 --launch-permission "{\"Add\":[{\"Group\":\"all\"}]}"
  2. 要验证 AMI 的启动许可,请使用以下 describe-image-attribute 命令。

    Copy
    aws ec2 describe-image-attribute --image-id ami-12345678 --attribute launchPermission
  3. (可选) 要再次将 AMI 设为私有,请从其启动许可中删除 all 组。请注意,AMI 的拥有者始终具有启动许可,因此不受此命令影响。

    Copy
    aws ec2 modify-image-attribute --image-id ami-12345678 --launch-permission "{\"Remove\":[{\"Group\":\"all\"}]}"