Я пытаюсь перенести 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
Надеюсь это поможет.