将AMI从单独的帐户复制到单独的区域

Tea*_*App 2 php amazon-ec2 amazon-web-services aws-php-sdk

我一直在尝试将AMI从我的AWS账户A(ap-southeast-2)迁移到账户B(us-east-1).

在我的帐户中,我已将启动权限授予我的帐户A.

但是,当我在代码下运行时,

$result = $this->destination_ec2_client->copyImage(
          array(
               'SourceRegion' => $this->source_region,
               'SourceImageId' => $image_id,
               'Name' => $amis[0]['Name']
          ));
Run Code Online (Sandbox Code Playgroud)

当我通过文档运行上面的代码时,调用应该从源区域复制AMI并将其复制到目标区域.

但是,最终输出是错误的.错误在AMI描述失败的控制台上显示.

State Reason: AMI ownership mismatch
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?我是否正确理解了机制?

AXE*_*abs 5

AWS CLI在帐户之间具有相同的复制图像限制.这就是我如何解决它:

$ aws ec2 run-instances --image-id $SHAREDAMI --instance-type c3.large  --user-data '#!/bin/bash
> poweroff'
Run Code Online (Sandbox Code Playgroud)

上述实例停止后:

$ aws ec2 create-image --instance-id $IDFROMRUN --name "Image from other accounts AMI"
Run Code Online (Sandbox Code Playgroud)

现在可以在您的区域之间复制生成的AMI.例:

$ aws --region us-west-1 ec2 copy-image --source-region us-east-1 --source-image-id $AMIFROMCREATE --name "Copy of Image from other accounts AMI"
Run Code Online (Sandbox Code Playgroud)