EC2
ALTLinux и Amazon EC2
В настоящий момент возможно запустить виртуальные машины, созданные из ALTLinux Sisyphus на EC2. Запуск машин, созданных на базе стабильных бранчей указанным ниже способом пока невозможен. Вы можете как использовать публичные образы, так и создавать свои собственные.
Public AMIs
В настоящий момент есть 2 public AMI:
- ami-52ed4f3b (минимальный Сизиф от 20120618, EBS)
- ami-caec4ea3 (минимальный Сизиф от 20120618, Instance store)
Как создать свой образ виртуальной машины
- Устанавливаем ec2-api-tools, ec2-ami-tools
- Настраиваем Hasher
- Берём актуальную копию скриптов: git clone git://git.altlinux.org/people/vitty/packages/ec2.git
- Устанавливаем следующие переменные окружения:
- AWS_USER_ID (AWS Account ID на https://aws-portal.amazon.com/gp/aws/securityCredentials#account_identifiers)
- AWS_ACCESS_KEY (Access Key ID на https://aws-portal.amazon.com/gp/aws/securityCredentials)
- AWS_SECRET_KEY (Secret access key на https://aws-portal.amazon.com/gp/aws/securityCredentials)
- EC2_CERT (Вкладка X509 на https://aws-portal.amazon.com/gp/aws/securityCredentials)
- EC2_PRIVATE_KEY (Вкладка X509 на https://aws-portal.amazon.com/gp/aws/securityCredentials)
- В склонированном каталоге ec2 выполняем:
- ./create_ec2_tar.sh
- sudo ./create_ec2_image.sh ./output-20120528.tar $((2*1024*1024*1024)) (где output-xxxxxxxx.tar - сгенерированный предыдущей командой образ, второй параметр - объём диска в байтах)
- ./create_ami.sh ./output-20120528.img (где output-xxxxxxxx.img - сгенерированный предыдущей командой образ файловой системы).
- Вывод последней команды расскажет о том, как запустить виртуальную машину из загруженного образа (потребуется ещё иметь зарегистрированный ssh-ключ). Т.к. это instance store, образ её диска будет жить до выключения.
- Имя внутреннего пользователя для доступа по ssh - ec2-user
Технические детали
Главных отличий у EC2-машины два:
- Она грузится через PVGRUB т.е. ей нужен файл /boot/grub/menu.lst от первого grub. Также нужно несжатое ядро (vmlinux). Сгодилось бы и сжатое будь оно сжато gz/bz2.
- При инициализации нужно как минимум положить ssh-ключ. Для этого существует специальный пакет cloud-init.
Поддержка
Поддержка оказывается в списке рассылке sisyphus@ и в личной почте vitty@.