EC2

Материал из ALT Linux Wiki
Перейти к: навигация, поиск


ALTLinux и Amazon EC2[править]

В настоящий момент возможно запустить виртуальные машины, созданные из ALTLinux Sisyphus на EC2. Запуск машин, созданных на базе стабильных бранчей указанным ниже способом пока невозможен. Вы можете как использовать публичные образы, так и создавать свои собственные.

Public AMIs[править]

В настоящий момент есть 2 public AMI:

  • ami-52ed4f3b (us-east-1, минимальный Сизиф от 20120618, EBS)
  • ami-caec4ea3 (us-east-1, минимальный Сизиф от 20120618, Instance store)

Как создать собственный AMI (instance store)[править]

AMI бывают двух типов: с instance store и с EBS store. Instance store живёт до выключения машины, EBS перманентен. Для создания собственного AMI с instance store:

  • Устанавливаем ec2-api-tools, ec2-ami-tools
  • Настраиваем Hasher
  • Берём актуальную копию скриптов: git clone git://git.altlinux.org/people/vitty/packages/ec2.git
  • Устанавливаем следующие переменные окружения:
  • В склонированном каталоге 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

Как создать собственный AMI (EBS store)[править]

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

  • Создать новый Volume, подключить его к какому-нибудь Instance
    • ec2-create-volume --size 10 --availability-zone us-east-1a
    • ec2-attach-volume vol-xxxxxxxx --instance i-xxxxxxxx --device /dev/sdh
  • Создать на /dev/xvdh ext3, подмонтировать куда-нибудь (/tmp/mnt)
  • Закачать тарбол в данный instance
  • Развернуть его на /dev/xvdh (/tmp/mnt)
  • Отмонтировать
  • Отсоединить от VM (ec2-detach-volume vol-xxxxxxxx --instance i-xxxxxxxx)
  • Создать снапшот ec2-create-snapshot vol-xxxxxxxx
  • Зарегистрировать AMI ec2reg -a x86_64 -d "Description" -n "fancy name" -s snap-xxxxxxxx --kernel "aki-825ea7eb" (PVGRUB для us-east-1)

Технические детали[править]

Главных отличий у EC2-машины два:

  1. Она грузится через PVGRUB т.е. ей нужен файл /boot/grub/menu.lst от первого grub. Также нужно несжатое ядро (vmlinux). Сгодилось бы и сжатое будь оно сжато gz/bz2. Такое ядро содержится в подпакетах kernel-image-domU-<flavoir>.
  2. При инициализации нужно как минимум положить ssh-ключ. Для этого существует специальный пакет cloud-init.

Поддержка[править]

Поддержка оказывается в списке рассылке sisyphus@ и в личной почте vitty@.