特定 Amazon 共享共享 AMI
您可以在不将 AMI 设为公用的情况下,与特定 Amazon 账户共享 AMI。您需要的只是 Amazon 账户 ID。
注意事项
在与特定 Amazon 账户共享 AMI 时,请考虑以下事项。
-
没有共享限制 – 可以共享 AMI 的Amazon账户数量没有限制。
-
标签 – 您附加到共享 AMI 的用户定义标签仅适用于您的Amazon账户,而不适用于您与其共享该 AMI 的其他账户。
-
加密和密钥 – 您可以共享由未加密和加密快照支持的 AMI。
-
加密快照必须使用客户托管式密钥加密。您无法共享由使用默认 Amazon 托管式密钥加密的快照支持的 AMI。有关更多信息,请参阅共享 Amazon EBS 快照。
-
如果您共享由加密快照支持的 AMI,则必须允许Amazon账户,以使用用于加密快照的客户托管式密钥。。
-
-
区域 – AMI 是一种区域性资源。如果您共享 AMI,则它只能在该区域使用。要使 AMI 能够在其他区域使用,请将该 AMI 复制到该区域并进行共享。有关更多信息,请参阅复制 AMI。
-
使用 – 当您共享 AMI 时,用户只能从该 AMI 启动实例。他们无法删除、共享或修改实例。但是,在他们使用您的 AMI 启动实例后,他们可以从其实例创建 AMI。
-
复制共享 AMI – 如果另一个账户中的用户想复制共享 AMI,则必须向他们授予对支持 AMI 的存储的读取权限。有关更多信息,请参阅跨账户复制。
-
账单 – 当其它Amazon账户使用您的 AMI 启动实例时,您无需付费。使用 AMI 启动实例的账户将为它们启动的实例付费。
共享 AMI(控制台)
共享 AMI (Amazon CLI)
使用 modify-image-attribute 命令 (Amazon CLI) 可以共享 AMI,如以下示例所示。
要授予显式启动许可
以下命令向指定 Amazon 账户授予指定 AMI 的启动许可。
aws ec2 modify-image-attribute \ --image-idami-0abcdef1234567890\ --launch-permission "Add=[{UserId=123456789012}]"
您不需要为了共享 AMI 而共享 AMI 引用的 Amazon EBS 快照。只需共享 AMI 本身;系统自动为实例提供访问所引用 Amazon EBS 快照的权限以便启动。不过,您确实需要共享用于对 AMI 引用的快照加密的所有 KMS 密钥。有关更多信息,请参阅共享 Amazon EBS 快照。
要删除账户的启动许可
以下命令从指定 Amazon 账户中删除指定 AMI 的启动许可:
aws ec2 modify-image-attribute \ --image-idami-0abcdef1234567890\ --launch-permission "Remove=[{UserId=123456789012}]"
要删除所有的启动许可
以下命令从指定 AMI 中删除所有公用和显式启动许可。请注意,AMI 的拥有者始终具有启动许可,因此不受该命令影响。
aws ec2 reset-image-attribute \ --image-idami-0abcdef1234567890\ --attribute launchPermission