Amazon EC2 — Типы инстансов и цены

В продолжение поста про Amazon Elastic Compute Cloud (EC2) хостинг.

Есть несколько типов инстансов (виртуальных машин для запуска).

m1.small
1.7 Гб — оперативной памяти
1 EC2 юнит процессора
160 Гб диска
Базовая цена: $0.065 в час (~47,5$ в месяц)

m1.medium
3,75 Гб — оперативной памяти
2 EC2 юнита процессора
410 Гб диска
Базовая цена: $0.130 в час (~95$ в месяц)

m1.large
7.5 Гб — оперативной памяти
2 процессора по 2 EC2 юнита каждый
850 Гб диска
Базовая цена: $0.260 в час (190$ в месяц)

Ещё интересны:

t1.micro
613 Мб — оперативной памяти
до 2 EC2 юнита процессора
160 Гб диска
Базовая цена: $0.020 в час (~14.5$ в месяц)

c1.medium
1.7 Гб — оперативной памяти
2 процессора по 2.5 EC2 юнита каждый
350 Гб диска
Базовая цена: $0.165 в час (~120$ в месяц)

Это не все типы инстансов, есть более мощные, вплоть до 117 Гб памяти, подробно про типы инстансов тут: http://aws.amazon.com/ec2/instance-types/

На размер диска смотреть не стоит, т.к. он всегда удаляется при крахе сервера или перезапуске инстанса, т.е. для виртуального хостинга (один или несколько сайтов на сервере) нужно всегда использовать EBS.

Что такое юнит процессора (EC2 compute unit)? В документации написано, что это примерно 1Ггц мощности современного Xeon/Opteron процессора. Точно информации нету, судя по выводу утилиты atop — инстанс может быть запущен на сервере с разными процессорами (я видел от 1.86 до 2.23 Ггц).

m1.small, m1.medium, m1.large — сбалансированные типы инстансов, каждый из них отличается от следующего по памяти и производительности процессора в 2 раза. Я использую сейчас m1.medium. m1.large имеют дополнительную оптимизацию работы с EBS дисками.

t1.micro — самый слабенький тип инстанса, но самый дешёвый, обеспечивает в пике до 2 EC compute unit производительности. Для меня, он просто идеален для тестирования. Например, на момент написания этого поста мой блог крутится на этом инстансе (я поставил 32-бит убунту для уменьшения потребления памяти). Также, если вы впервые регистрируетесь на Amazon и используете только t1.micro его можно использовать бесплатно в течении года. Крутое предложение, я считаю. Подробней о AWS Free Tier.

c1.medium —  High-CPU инстанс с повышенной мощностью процессора, чем базовые (m1) типы инстансов. Минус не очень большое кол-во оперативной памяти.

Теперь о особенностях ценовой политики Amazon EC2, тут всё очень интересно:

Если ориентироваться на базовую цену инстансов, то она не слишком привлекательна. Например m1.medium имеет чуть меньше 4 гб памяти и по сути одноядерный 2Ггц процессор. А я недавно арендовал 4-ядерный сервер с 8 Гб памяти за практически такую же цену (99$ в месяц).

То что я указал, как базовая цена — это цена on Demand, по требованию. Т.е. цена за час, если запустить любой тип инстанса. Эта цена без скидок. Кроме того есть очень хорошие скидки, есть покупать Reserved Instances (Зарезервированные инстансы). Планы Reserved Instances можно купить на 1 или на 3 года. Эта опеределённая сумма, которую нужно заплатить вперёд, но зато цена за час очень сильно снижается.

Всего есть три типа Reserved Instances — light, medium и heavy.

Я покажу расчёт цен для m1.medium типа инстанса. Для остальных типов скидки аналогичны.

Тип Reserved Instance Цена (оплачивается сразу) Цена за час Получаемая цена за месяц Скидка
Нет (on Demand цена) 0 $ 0.130 $ 95.16 $ 0 %
Light 1 год 138 $ 0.078 $ 65.59 $ 31 %
Medium 1 год 320 $ 0.048 $ 61.8 $ 35 %
Heavy 1 год 390 $ 0.032 $ 55.92 $ 41 %
Light 3 года 212.5 $ 0.063 $ 52.01 $ 45 %
Medium 3 года 500 $ 0.038 $ 41.7 $ 56 %
Heavy 3 года 600 $ 0.026 $ 35.69 $ 61 %

Что из этого получается. Скидки очень «вкусные». Если заплатить 138 $ (Light reserved за год), получаем сразу на треть меньше расходов по итогам года. Самый крутой план — Heavy за 3 года даёт снижение цены почти в три раза за три года. Единственный минус, что нужно сразу заплатить за такой план 600 баксов (m1.medium).

Также можно заметить что meduim и light планы почти не различаются. Только платить больше. Они предназначены для случаев, если сервер не будет использоваться на 100% (например для тестирования или как подключаемый сервер при большой нагрузке в большом проекте).

План heavy стоит использовать, если сервер будет грузиться на 100%. В отличие от medium и light планов цена за сервер в месяц будет сниматься всегда, вне зависимости от того работает инстанс или нет.

На три года покупать план резервации очень выгодно, по сути платим за 1.5 года, а действует он три.

 

Есть несколько особенностей про покупку reservation планов, про которые стоит упомянуть:

1. Чтобы reservation план работал, инстанс нужно запускать в той же зоне датацентра, что и купленная резервация. У каждого датацентра есть как минимум две зоны (это независимые по питанию и по подключению части каждого из датацентров). В принципе если купить в другой зоне, проблема решаема, можно перезапустить инстанс в нужной зоне и приатачить EBS диск от предыдущего инстанса.

2. reserved план можно продать. Нужно регистрироваться как продавец, вроде можно продать целое кол-во месяцев, теряется около 12% в качестве комиссии amazon’у, но это похоже работает.

3. Если купить reserved план, который продаёт кто-то другой, можно купить его не за 1 год, а за 3 месяца например и потратить сразу меньше денег.
Кроме on Demain и Reservation цен есть ещё Spot Instances (http://aws.amazon.com/ec2/spot-instances/). Там цены в 5-10 раз меньше, но инстанс будет работать, только если есть простаивающие мощности у Amazon и может быть отключен в любой момент, т.е. совсем не подходящая вещь для хостинга.

Подробнее о ценах на EC2 инстансы: http://aws.amazon.com/ec2/pricing/

Также цены различаются в зависимости от региона и датацентра. Я указывал цены на US East регион (он находится в Вирджинии). Это первый и самый большой датацентр Amazon с самыми низкими ценами. Кроме него (на момент написания поста) есть ещё семь. Два на западе США (Орегон и Калифорния), один в Европе (Ирландия), один в Южной Америке (Бразилия) и три в Азии (Токио, Сингапур и Сидней).

Я считаю, что для не очень больших проектов размещение уже несколько лет не имеет особой роли. Например пинг с Минска до датацентра Amazon East в Вирджинии, всего порядка 140 миллисекунд.

 

Кроме оплаты за собственно инстансы, нужно также платить за трафик и за EBS диски. Я примерно опишу, что получается у меня для m1.medium виртуальной машины.

  • EBS диск стоит 1$ за каждые 10 гигабайт. У меня сейчас 30 Гб EBS диск, это 3$ в месяц.
  • Как минимум один снапшот диска — это тоже почти 3$ в месяц.
  • Каждый миллион iops (операций ввода-вывода) к EBS стоят 0,1 $. У меня вышло примерно 25 млн, это ещё 2.5 $ в месяц.
  • Каждый гигабайт исходящего трафика до 10 петабайт в сумме стоит 0,12$. У меня получилось около 40, это 5 $ в месяц.

Т.е. без покупки резерваций — первый месяц мне обошёлся 95 + 3 + 3 + 2,5 + 5 в 108 долларов. В случае таких же условий и покупки Hard reservation плана на год, средняя сумма за месяц будет: 69.5$. В случае покупки Hard reservation плана на три года, средняя сумма за месяц будет 49$, что очень неплохо учитывая все «плюшки» от использования инфраструктуры Amazon.