Скопируйте AMI в отдельный регион из отдельной учетной записи

Я пытаюсь перенести AMI из своей учетной записи AWS A (ap-south-2) в Account B (us-east-1).

В моей учетной записи я предоставил разрешения на запуск для моей учетной записи A.

Однако, когда я запускаю код ниже,

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

Когда я запускаю над кодом документацию, вызов должен скопировать AMI из исходного региона и скопировать его в область назначения.

Тем не менее, конечным результатом является ошибка. Ошибка отображается на консоли в случае неудачного описания AMI.

 State Reason: AMI ownership mismatch 

Есть предположения? Я правильно понял механизм?

CLI AWS имеет такое же ограничение копирования-изображения между учетными записями. Так я обошел это:

 $ aws ec2 run-instances --image-id $SHAREDAMI --instance-type c3.large --user-data '#!/bin/bash > poweroff' 

Как только вышеупомянутый экземпляр останавливается:

 $ aws ec2 create-image --instance-id $IDFROMRUN --name "Image from other accounts AMI" 

Полученный 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" 

AFAIK, копия AMI не работает с перекрестными учетными записями.

Вероятно, вы хотите сначала создать AMI на счете B (ap-юго-восток-2) на основе AMI на счете A (ap-south-2).

Убедитесь, что вы устанавливаете разрешения для AMI на учетной записи A для public . Затем вы можете запустить экземпляр в учетной записи B, а затем создать и AMI на основе этого экземпляра (ap-southeast-2)

Затем, находясь на счете B, вы можете запустить свой скрипт для копирования AMI с ap-south-2 на us-east-1

Надеюсь это поможет.