Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

将 AMI 与特定 AWS 账户共享

您可以在不将 AMI 设为公用的情况下,与特定 AWS 账户共享 AMI。您只需要 AWS 账户 ID 即可。

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

共享 AMI (控制台)

使用控制台授予显式启动许可

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

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

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

  4. AWS Account Number 字段中指定您想与之共享 AMI 的用户的 AWS 账号,然后选择 Add Permission

    要与多个用户共享此 AMI,请重复上述步骤,直至您添加完所需全部用户。

  5. 要允许创建快照的卷权限,请选择 Add "create volume" permissions to the following associated snapshots when creating permissions

    注意

    您不需要为了共享 AMI 而共享 AMI 引用的 Amazon EBS 快照。只需共享 AMI 本身;系统自动为实例提供访问所引用 Amazon EBS 快照的权限以便启动。

  6. 完成后选择 Save

共享 AMI (Windows PowerShell 工具)

使用 Edit-EC2ImageAttribute 命令 (Windows PowerShell 工具) 可以共享 AMI,如以下示例所示。

要授予显式启动许可

以下命令向指定 AWS 账户授予指定 AMI 的启动许可。

PS C:\> Edit-EC2ImageAttribute -ImageId ami-12345678 -Attribute launchPermission -OperationType add -UserId "123456789012"

以下命令为快照授予创建卷的权限。

PS C:\> Edit-EC2SnapshotAttribute -SnapshotId snap-1234567890abcdef0 -Attribute CreateVolumePermission -OperationType add -UserId 123456789012

要删除账户的启动许可

以下命令从指定 AWS 账户中删除指定 AMI 的启动许可:

PS C:\> Edit-EC2ImageAttribute -ImageId ami-12345678 -Attribute launchPermission -OperationType remove -UserId "123456789012"

以下命令为快照授予删除卷的权限。

PS C:\> Edit-EC2SnapshotAttribute -SnapshotId snap-1234567890abcdef0 -Attribute CreateVolumePermission -OperationTtype remove -UserId 123456789012

要删除所有的启动许可

以下命令从指定 AMI 中删除所有公用和显式启动许可。请注意,AMI 的拥有者始终具有启动许可,因此不受此命令影响。

PS C:\> Reset-EC2ImageAttribute -ImageId ami-12345678 -Attribute launchPermission

共享 AMI (AWS CLI)

使用 modify-image-attribute 命令 (AWS CLI) 可以共享 AMI,如以下示例所示。

要授予显式启动许可

以下命令向指定 AWS 账户授予指定 AMI 的启动许可。

aws ec2 modify-image-attribute --image-id ami-12345678 --launch-permission "{\"Add\":[{\"UserId\":\"123456789012\"}]}"

以下命令为快照授予创建卷的权限。

aws ec2 modify-snapshot-attribute --snapshot-id snap-1234567890abcdef0 --attribute createVolumePermission --operation-type add --user-ids 123456789012

要删除账户的启动许可

以下命令从指定 AWS 账户中删除指定 AMI 的启动许可:

aws ec2 modify-image-attribute --image-id ami-12345678 --launch-permission "{\"Remove\":[{\"UserId\":\"123456789012\"}]}"

以下命令为快照授予删除卷的权限。

aws ec2 modify-snapshot-attribute --snapshot-id snap-1234567890abcdef0 --attribute createVolumePermission --operation-type remove --user-ids 123456789012

要删除所有的启动许可

以下命令从指定 AMI 中删除所有公用和显式启动许可。请注意,AMI 的拥有者始终具有启动许可,因此不受此命令影响。

aws ec2 reset-image-attribute --image-id ami-12345678 --attribute launchPermission