Данная тема не совсем об Apple, но меня она интересует давно, и процесс работы очень сильно завязан на работу в shell в нашей любимой Mac OS X в частности и в любом нормальном Unix в общем. Распространяться о модной теме облачных вычислений я особо не буду, здесь всё и так понятно. Я долго подходил к Amazon Web Services (AWS), но наконец-то смог более-менее разобраться с ним.

Как вы заметили, любая статья на моём сайте не абстрактное теоретизирование, а результат решения какой-либо проблемы или вопроса, который меня заинтересовал. Вот и разборки с AWS родились из того, что я решил проработать возможность переноса сайта и нескольких других задач на новый сервер. Разделяемый хостинг недолюбливаю давно, столкнувшись с реалиями локальных хостеров, считающих, что load average от 15 на хостинговом сервере – это нормальная ситуация в расчёте на то, что “пипл всё схавает”. VPS не нравится почти по той же причине, плюс некоторые проблемы с актуальностью операционных систем (не знаю, как сейчас, но лет 5 назад версии OS в VPS очень отставали). Арендовать выделенный сервер достаточно дорого – минимальная конфигурация, которая устраивает меня, стоит от $100 в месяц (тариф “Профи” у Воли – 799 грн), причём я бы добавил ещё 2 GB памяти (+ 98 грн в месяц).

И вот, читая Release Notes Ubuntu 9.10, я вспомнил о том, что давно хотел повозиться с AWS, а именно с Amazon Elastic Compute Cloud (Amazon EC2). Характеристики Standard Small Instance (1.7 GB of memory, 1 EC2 Compute Unit – 1 virtual core with 1 EC2 Compute Unit, 160 GB of instance storage, 32-bit platform) со скрипом, но устраивали, а возможность динамически менять производительность с использованием технологии Auto Scaling меня очень привлекла. Технология облачных вычислений очень интересная, и есть несколько идей по поводу их практического применения, в итоге я решил если не перейти на AWS, так хотя бы плотно с ним поработать. Стоимость решения примерно должна стоить в районе $80 в месяц – небольшая экономия по сравнению с выделенным сервером, но повозиться интересно.

Хочу сразу предупредить – я запускал сервера всего на час-два, поэтому суммарную стоимость для реального сайта я сказать пока не могу. Кроме позитивных отзывов есть и мнение, что AWS избыточно дорога, и в долгосрочной перспективе лучше иметь выделенные сервера (например, об этом говорил @umputun, ссылаясь на опыт своего знакомого). Также есть огромное неудобство EC2 – без использования дополнительных техник данные при перезагрузке Instance теряются. Но лучше о технологии судить на основании своего, а не чужого опыта, тем более, что эксперименты будут стоить долларов 10.

Я разобью статью на несколько частей. В первой расскажу о создании учётной записи, во второй – о создании серверов, а в третьей – об Amazon Elastic Block Store.

Никаких особенностей при создании учётной записи AWS нет, но для полноты картины покажу весь процесс. Я использовал обычную карту Master Card, без проблем принимаются карты, эмитированные локальными банками – ограничения “USA only” в сервисе нет.

Создание пользователя:

Выбираем активацию Amazon Elastic Compute Cloud (EC2):

Вводим информацию по карте (не знаю, какую сумму заблокирует для проверки, так как для используемой мной карты нет информации по транзакциям):

Дальше начинается самое интересное – в отличие от привычной проверки email необходимо проверить номер телефона – иначе система не активирует запись. Код страны выбирается из выпадающего списка, в текстовом поле нужно ввести данные без этого префикса:

Генерируется PIN-код, IVR Amazon через несколько секунд перезванивает (номер звонящего скрывается) и робот просит ввести PIN или медленно его продиктовать

При успешной верификации обновляется статус:

Активацию нужно завершить:

Затем войти в EC2:

Подписка завершена, можно посмотреть информацию по “Security Credentials”:

Здесь показывается Access Key ID, а для отображения секретного ключа нужно нажать Show

Для доступа к AWS нужно сгенерировать сертификат X.509 (это сделаем в следующей части)

Также нужно со страницы AWS активировать Amazon Simple Storage Service (Amazon S3):

Всё, нужные сервисы активированы. В почтовом ящике лежат три письма от Amazon, они особо не нужны. Главное, что нужно запомнить – информация по учётной записи находится в меню Account на главной странице AWS:

To be continued…