Как стать автором
Обновить

Создание VPC на DigitalOcean своими руками

Задача


Оценив бюджет содержания сервера небольшой компании на AWS было принято решение создания более дешевого решения с использованием DigitalOcean. В данной статье я постараюсь сравнить затраты на разворачивание сервиса PHP+MySQL с зеркалированием и сравнительным бюджетом.

Начинаем считать.

Чего нам не хватает по сравнению с aws.amazon


Виртуальной частной сети и балансировки нагрузки. Судя по слухам, доносящимся из разных источников, DO планируют развернуть данную услугу уже более года, но так и не собрались.

Сначала предполагаем нагрузку: пусть будет 600 000+ хитов в день.

А так же объем хранимых данных: допустим 100 Гб

Потом определяем платформу: пусть будет WordPress какой-нибудь завалящий.

Следом определяем риски: возможно падение дата-центра хостера(DO), атаки.

Оцениваем стоимость решения от AWS

Для полного счастья нам нужно 2 сервера с балансировкой нагрузки для FrontEnd. И один максимально защищенный с базой данных. Так же нам нужно хранилище картинок и разновсяких файлов для нашего ресурса.
Цены рассчитываются с учетом в месяц.

EC2 в конфигурации
M1 Small Instance (Default) 1.7 GiB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB — 0,06$ x 24 часа х 30 дней = 43,2$ за инстанс в США и 0,065 х 24 часа х 30 дней = 46,8$ в Европе. Итого: 90$

RDS в конфигурации
Small DB Instance: 1.7 GB memory, 1 ECU (1 virtual core with 1 ECU) — 0,08 x 24 часа х 30 дней = 57,6$ в США.

Тут стоит указать что дублирование базы так же возможно, но из-за некоторых нюансов (да и лени автора решения — меня данный финт ушами будет опущен).

S3 для хранения 100 Гб с условием частых запросов (по количеству хитов умноженное на 3 обращения хотя бы)
Хранение: 0,095$ х 10 Гб = 9,5$
Запросы: 0,005$ х (600 000 хитов х 3 обращения / 1 000 (цена указана за 1000 запросов) = 9$

Так же дополнительные опции:
VPC что бы скрыть наш MySQL. 0,05$ x 24 часа х 30 дней = 36$

Итого у нас получается внушительная сумма: 90$+57,6$+9,5$+36$ = 193,1$ в месяц.

Так не подойдет. Идем другим путем, а именно DigitalOcean:

Берем 3 сервера 2GB Memory/2 Cores/40GB SSD Disk/3TB Transfer за 20$ х 3 штуки = 60$ в месяц (два в США, один в Европе).

Теперь нам нужно сделать самостоятельно VPC + Load Balancer


Приобретаем еще один front-end за 10$ в месяц.

VPC под нашу задачу делается очень несложно — соединяемся через web админку DO с нашими тремя 20$ серверами серверами. На всех трех разворачиваем VPN, закрываем лишние порты, запускаем на двух Apache и на одном MySQL (как это сделать), и на 10$ сервере поднимаем nginx с неофициальным патчем для реверс-проксирования (читать статью об этой тривиальной настройке).

Итого у нас получилось — все 4 сервера в одной VPN сети с жестким соединением по IP. Основным сервером для VPN соединения можно использовать 10$ сервер — он справится с нагрузкой. 3 сервера за 20$ полностью закрыты (включая SSH) от внешнего мира. 1 сервер — FrontEnd для балансировки.

Хранилище оставляем на Amazon S3 за 9,5$ в месяц.

Итого: 60$ + 10$ + 9,5$ = 79,5$ в месяц.

В сухом остатке

Как в случае с Amazon так и с DigitalOcean — брались оптимальные по ресурсам для данной задачи виртуальные машины, соответственно расширение или занижение производительности возможно. Порядок цифр изменяется примерно в том же диапазоне — 60% экономия. В моем конкретном случае — 113,6$ в месяц, или 1 363,2$ в год.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.