Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

将 AMI 设为公用

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

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

要避免在共享 AMI 时泄露敏感数据,请阅读共享 Linux 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 (AWS CLI)

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

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

将 AMI 设为公用

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

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

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

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