Назад | Перейти на главную страницу

Как клонировать работающий AMI с поддержкой EBS

По сути, я пытаюсь запустить микро-экземпляр Amazon, установить Java, Tomcat, MySQL и некоторые другие вещи, а затем сохранить моментальный снимок экземпляра, чтобы потом можно было запустить многие похожие.

После многих попыток я отказался от процесса установки программного обеспечения и собираюсь просто клонировать работающий AMI с поддержкой EBS. Вот что я сделал:

Я был неудачным, много раз системный журнал пуст.

Что мне не хватает?

Вы не предоставили много подробностей о том, как именно вы «создаете изображение из снимка», но на основании того, что я вижу, я собираюсь предположить, что вы, возможно, не указали правильный AKI или ARI.

Если вы создаете образ из моментального снимка корневого тома EBS, вам необходимо указать AKI (ядро) для использования с новым AMI. Просто используйте тот, который использовался в оригинальном AMI. Если исходный AMI использовал ARI (ramdisk), укажите это тоже.

Или...

Вместо того чтобы делать снимок и регистрацию AMI в отдельные шаги, вы можете сделать все это одновременно с помощью ec2-create-image команда / API. Эта функция также доступна в консоли EC2 в виде пункта меню «Создать образ (EBS AMI)» при щелчке правой кнопкой мыши по списку экземпляров. Обратите внимание, что это временно остановит экземпляр, чтобы убедиться, что моментальный снимок согласован.

Вот журнал сеанса, в котором я запускал Ubuntu AMI, описанный выше, выполнил ec2-create-snapshot на экземпляре, чтобы создать новый AMI, и запустил экземпляр нового AMI. Я смог отлично использовать ssh для нового экземпляра нового AMI.

$ ec2-run-instances --key $USER --instance-type t1.micro ami-fd589594
RESERVATION r-12ea647c  XXX default
INSTANCE    i-50b5a230  ami-fd589594            pending XXX 0   t1.micro    2011-10-19T07:26:37+0000    us-east-1d  aki-427d952b    monitoring-disabled                 ebs         paravirtual xen     sg-XXX  default

$ ec2-create-image -n "test AMI $(date +%Y%m%d-%H%M)" i-50b5a230
IMAGE   ami-4bbc7322

$ ec2-run-instances --key $USER --instance-type t1.micro  ami-4bbc7322
RESERVATION r-66e66808  XXX default
INSTANCE    i-f2b1a692  ami-4bbc7322            pending XXX 0   t1.micro    2011-10-19T07:32:37+0000    us-east-1a  aki-427d952b    monitoring-disabled                 ebs         paravirtual xen     sg-XXX  default

$ ssh ubuntu@107.20.99.70
[...]
ubuntu@domU-12-31-39-0C-08-75:~$ 

Примечание. Во избежание необходимости указывать -i KEYPAIR.pem в команде ssh я загрузил свой личный ключ ssh в EC2, следуя инструкциям, о которых я написал здесь:

Загрузка личных ключей ssh ​​в Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys