EC2: различия между версиями

Материал из ALT Linux Wiki
м (источник неправильного написания названия дистрибутива, в т.ч. и в википедии)
(не показано 11 промежуточных версий 4 участников)
Строка 1: Строка 1:
[[Категория:Admin]]
[[Категория:Devel]]
[[Категория:Devel]]


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


В настоящий момент возможно запустить виртуальные машины, созданные из ALTLinux Sisyphus на EC2. Запуск машин, созданных на базе стабильных бранчей указанным ниже способом пока невозможен. Поддерживается создание виртуальных машин с instance store. Публичных образов для EBS пока нет, вы можете попробовать самостоятельно сконвертировать instance store в EBS (пока не тестировалось).
== 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
*Устанавливаем ec2-api-tools, ec2-ami-tools
*Настраиваем [[Hasher]]
*Настраиваем [[Hasher]]
Строка 22: Строка 28:
*Вывод последней команды расскажет о том, как запустить виртуальную машину из загруженного образа (потребуется ещё иметь зарегистрированный ssh-ключ). Т.к. это instance store, образ её диска будет жить до выключения.
*Вывод последней команды расскажет о том, как запустить виртуальную машину из загруженного образа (потребуется ещё иметь зарегистрированный ssh-ключ). Т.к. это instance store, образ её диска будет жить до выключения.
*Имя внутреннего пользователя для доступа по ssh - ec2-user
*Имя внутреннего пользователя для доступа по 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-машины два:
Главных отличий у EC2-машины два:
#Она грузится через PVGRUB т.е. ей нужен файл /boot/grub/menu.lst от '''первого''' grub. Также нужно несжатое ядро (vmlinux). Сгодилось бы и сжатое будь оно сжато gz/bz2.
#Она грузится через PVGRUB т.е. ей нужен файл /boot/grub/menu.lst от '''первого''' grub. Также нужно несжатое ядро (vmlinux). Сгодилось бы и сжатое будь оно сжато gz/bz2. Такое ядро содержится в подпакетах kernel-image-domU-<flavoir>.
#При инициализации нужно как минимум положить ssh-ключ. Для этого существует специальный пакет cloud-init.
#При инициализации нужно как минимум положить ssh-ключ. Для этого существует специальный пакет cloud-init.


== Поддержка ==
== Поддержка ==
Поддержка оказывается в списке рассылке sisyphus@ и в личной почте мне (vitty@).
Поддержка оказывается в списке рассылке sisyphus@ и в личной почте vitty@.
[[Категория:Admin]]
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}}

Версия от 10:41, 31 мая 2019


ALT Linux и Amazon EC2

В настоящий момент возможно запустить виртуальные машины, созданные из ALT Linux 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@.