Упаковщик: сгенерировать AMI из работающего экземпляра EC2

Я хотел бы создать AMI (образ машины Amazon) из работающего экземпляра EC2 с помощью Packers ..

Вот мой пример использования:
1) Используйте упаковщик для создания базового AMI и запуска экземпляра EC2
2) Настройте пользовательские данные на экземпляре EC2 .. (Здесь необходимо вмешательство человека)
3) Создайте AMI для конкретного приложения из шага № 2 с использованием Packer

Я не хочу использовать «Provisioner», предоставляемый упаковщиками. На шаге 2 мне нужно вмешательство человека


person user3006942    schedule 19.11.2013    source источник


Ответы (2)


Суть Packer, похоже, состоит в том, чтобы исключить вмешательство человека в процесс сборки, чтобы сделать развертывание согласованным. Однако данные для каждого экземпляра можно передать через пользовательские переменные Packer, который можно передать в командной строке:

$ packer build \
    -var 'aws_access_key=foo' \
    -var 'aws_secret_key=bar' \
    template.json

или через файл конфигурации:

$ packer build -var-file=variables.json template.json
person Jeffrey Hantin    schedule 19.11.2013
comment
Я ищу что-то в Packer, которое может взять идентификатор экземпляра и сгенерировать AMI из этого экземпляра. - person user3006942; 19.11.2013
comment
Создание образа из запущенного экземпляра - это одна команда AWS, ec2-create-image. Оттуда должен работать один из стандартных построителей. - person Jeffrey Hantin; 19.11.2013
comment
Лучше используйте новый интерфейс командной строки. - person Evgeny Goldin; 19.11.2013
comment
Для этого используйте команды, помните, что это перезагрузит экземпляр во время создания ami. Поэтому убедитесь, что все в порядке после создания ami. при запуске ami статус экземпляра должен быть проверен как запущенный, прежде чем открывать его. - person Bijendra; 19.11.2013

Я согласен с подходом ec2-create-image. После завершения сборки вашего упаковщика для этого вам понадобится вторая сборка упаковщика. Вы могли бы запустить веб-перехватчик, скажем, с помощью Atlas.

Рассматривали ли вы возможность внесения изменений локально (в VMWare), а затем установки инструментов ec2 и использования ec2-convert? что-то вроде следующего?

aws ec2 import-image --cli-input-json '{ "Platform": "Linux", 
"Architecture": "x86_64", "Description": "Some Centos AMI v21.2.1", 
"DiskContainers": [{ "Description": "Some_App", "UserBucket": { 
"S3Bucket": "centos-builds", "S3Key": "some-build-ami.ova"}}]}'

Это закончится AMI.

person JP Bourget    schedule 01.06.2017