- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF126:DrBrown3
Материал из Linuxformat.
Содержание |
В будущее на облаке
- Узнаем, как арендовать кусочек облака Amazon.
Под впечатлением от экспериментов с Xen я завел учетную запись на Amazon Web Services (AWS). Amazon предлагает множество сервисов, включающих:
- EC2 (Elastic Computing Cloud) Предоставляет вычислительные мощности, размер которых способен меняться за счет быстрого создания экземпляров виртуальных машин. На выбор предлагается множество сконфигурированных образов виртуальных машин и несколько вариантов оборудования.
- E3C (Simple Storage Service) Объектно-ориентированное интернет-хранилище.
- EBS (Elastic Block Store) Предоставляет блочное устройство (в терминах ядра Linux) для размещения файловой системы, подключаемое к любой ВМ. Тома EBS не зависят от запущенных экземпляров ВМ.
- Cloudwatch Служба мониторинга, который строит графики потребления процессора, трафика и дискового пространства экземпляром ВМ.
- Cloudfront Сервис быстрой доставки web-содержимого через глобальную сеть узлов – выбирается ближайший к получателю.
- Elastic IPs Позволяет иметь стабильные публичные IP-адреса и назначать их на любой экземпляр системы под вашей учетной записью.
- SQS (Simple Queue Service) Предоставляет надежную, хорошо масштабируемую обслуживаемую очередь для хранения сообщений при передаче их между компьютерами.
- FPS (Flexible Payment Service) Сервис позволяет коммерческим сайтам принимать платежи через существующие учетные записи Amazon.
Завести учетную запись на AWS нетрудно, особенно если у вас уже есть учетная запись на Amazon, потому что вы сможете платить за web-сервисы той же картой, с которой платите за книги и другие товары. Однако в процессе регистрации есть несколько необычный этап, когда вам звонит робот-автомат и просит набрать пин-код с экрана компьютера на клавишах телефона.
Покрыто облаками
Сразу после входа в систему мне не терпелось создать несколько виртуальных машин. Сначала я сгенерировал открытый и закрытый ключи для аутентификации по SSH на моих ВМ. Можно создать несколько пар или пользоваться одной и той же на всех машинах. Открытый ключ «встраивается» в создаваемые вами экземпляры ВМ, позволяя выполнять безопасный вход в систему по SSH с помощью закрытого ключа, который хранится в файле на локальном компьютере. Как и следовало ожидать, существует web-мастер для создания новых виртуальных машин, и состоит он из двух основных шагов: выбора системы и оборудования.
Чтобы упростить первый этап, Amazon предоставляет несколько образов ВМ для быстрого старта: базовая версия Fedora, Fedora с LAMP, различные конфигурации Windows 2003 и т. д. В качестве альтернативы можно выбрать один из более чем трех тысяч образов, предоставленных сообществом – множество систем на основе Fedora, Ubuntu, Debian, CentOS, SUSE, Solaris и Windows (зайдите на http://aws.amazon.com и кликните на Amazon Machine Images). Они могут стать отправной точкой для вашей собственной конфигурации – так как у вас есть права root, вы можете установить любое другое ПО, как и на обычном компьютере. Можно даже создавать и сохранять собственные образы Amazon Machine и запускать с их помощью дополнительные экземпляры ВМ.
Базовая поддержка, которая предоставляется бесплатно после входа в систему, состоит из дюжины форумов, которые, похоже, отличаются активностью и хорошим соотношением «сигнал/шум». Есть также несколько FAQ. В качестве альтернативы можно заплатить за поддержку Silver или Gold, 100 или 400 долларов в месяц соответственно. Они предоставляют канал связи «один-на-один» и неограниченное число обращений.
Конфигурация оборудования выбирается из нескольких вариантов. Начальный уровень, Small, представляет собой 1,7 ГБ оперативной памяти, 160 ГБ на жестком диске и один вычислительный модуль с 32‑битным процессором. В вариантах Large и Extra Large объем ОЗУ, места на диске и число процессоров постепенно увеличиваются. Для этих вариантов есть версии с большим числом процессоров, предоставляющие до 20 вычислительных блоков (мощность одного вычислительного блока эквивалентна процессору 2007 Opteron или 2007 Xeon частотой 1–1,2 ГГц). В последнем окне мастера есть поле, в которое нужно ввести количество экземпляров – создать 99 не сложнее, чем один!
Консоль управления
Виртуальные машины создаются за сущие минуты. После этого они управляются с административной консоли AWM – web-интерфейса, где можно просматривать состояние ВМ, перезагружать, клонировать и останавливать (уничтожать) их. Можно создавать (виртуальные) диски в Elastic Block Store и подключать их к ВМ.
Все, что делается в консоли управления, допускается делать и с командной строки – с помощью набора утилит на Java, загружаемых в виде zip-файла. Так, команды
$ ec2-run -instances ami-235fba4a -k gsg-keypair RESERVATION r-7430c31d 924417782495 default INSTANCE i-ae0bf0c7 ami-2bb65342 pending gsg- keypair 0 m1.small 2008-03-21T16:19:25+0000 us-east-1a
запустят виртуальную машину ami-235fba4a. Команда
$ ec2-terminate-instances i-ae0bf0c7
остановит виртуальную машину.
Диск EBS (см. ниже) создается аналогично – командой ec2‑create-volume, а список всех образов выводится командой ec2‑describe-images. Также есть модули расширения для IDE Eclipse, которые позволяют, например, запустить кластер серверов Tomcat и одним щелчком загрузить туда ваши приложения.
У каждого запускаемого вами экземпляра ВМ будет публичный IP-адрес и публичная запись DNS, но вид у нее малосимпатичный: нечто вроде ec2‑79‑125‑4‑198.eu-west1.compute.amazonaws.com. Хотя можно создать в DNS псевдоним (запись CNAME) и связать с этим адресом ваше доменное имя. Альтернатива – арендовать эластичные IP-адреса (Elastic IPs, см. выше). Это постоянные публично доступные адреса; их можно подключить к любому экземпляру ВМ, а при желании перераспределить их среди своих ВМ – в консоли управления это сделать нетрудно.
Выключив ВМ, избежать почасовой оплаты не удастся (хотя ВМ можно перезагрузить). Оплачивается время от создания ВМ до ее удаления – виртуального эквивалента выбрасывания компьютера в окно. При этом подключенное к машине локальное хранилище удаляется. Однако можно создать диски EBS размером от 1 ГБ до 1 ТБ. Эти диски похожи на логические тома: ядро видит их как блочные устройства типа /dev/sdf; разместить файловую систему можно и на них. Можно даже создать несколько EBS-дисков, собрав из них RAID-массив. Диски EBS не зависят ни от одной из ВМ, и их можно подключить к любому экземпляру (хотя только к одному в каждый момент времени). Можно также делать снимки состояния дисков EBS, делиться ими с другими участниками сообщества и создавать из них новые диски. Для EBS автоматически выполняется резервное копирование (внутри облака), чтобы избежать проблем с «единственной точкой отказа».
Запустив мониторинг для виртуальных машин, вы получите графики использования ресурсов – процессора, чтения и записи на диск, входящий и исходящий сетевой трафик. Графики могут охватывать период времени от часа до двух недель.
Я не претендую на нечто большее, чем весьма поверхностный рассказ об облаке EC2. Я счел сайт Amazon весьма приятным и удобным, и с удовольствием обнаружил, что это также относится к консоли управления. И я изрядно повеселился – и все поцене кружки пива.
Обзорный тур
Прежде чем входить в систему, осмотритесь. Даже не имея учетной записи, можно получить хорошее представление о том, как выглядит консоль управления AWS, зайдя на http://aws.amazon.com/console и кликнув «Take The Tour».
Прайс-лист
А сколько же все это стоит? На этот вопрос нет простого ответа. Здесь нет минимальной платы и долговременных контрактов – вы платите за каждый час работы ВМ. Вариант начального уровня Small стоит 11 центов в час, самый продвинутый вариант с большим числом процессоров Extra Large – 88 центов в час. (Не ищите калькулятор: это 80 и 640 долларов в месяц соответственно.) Можно также арендовать зарезервированные ВМ, за которые платится ежегодный взнос и (гораздо меньшая) почасовая оплата. Например, приобретенный по запросу вариант Small обходится в 964 доллара в год, а в виде зарезервированной виртуальной машины – 577 долларов.
Elastic Block Store стоит 10 центов за ГБ в месяц плюс плата за обмен данными – 10 центов за миллион запросов ввода/вывода. (А вы знаете, сколько запросов ввода/вывода вы делаете? Я – нет.)
Также нужно платить за сервисы типа Amazon S3, мониторинг Cloudwatch и эластичные IP-адреса, и все это способно вылиться в немалую сумму. По ссылке http://calculator.s3.amazonaws.com/calc5.html вы найдете месячный калькулятор, который посчитает результат, но вам все равно придется вводить ожидаемые значения для жестких дисков и сетевого трафика, оценить которые может быть непросто.
Сравним эти цены с арендой выделенного сервера: примем, что ее можно приобрести долларов за 100 в месяц. Вы получаете компьютер, который вроде бы не сильно отличается от варианта Small. Но это «вроде бы» заслоняет от нас суть. «Эластичность» Amazon EC2 позволяет быстро нарастить (и уменьшить масштабы) вычислительных ресурсов в соответствии с вашими потребностями. Например, можно увеличить емкость своих вычислительных ресурсов на месяц, чтобы сайт отвечал требованиям, вызванным проведением рекламной кампании, и ликвидировать все по ее окончании.