Search
Write a publication
Pull to refresh

Создание 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$ в год.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.