Мы оцениваем возможность размещения нашего приложения на сервисе Amazon EC2. Хотя я уверен, что для нашего веб-сервера будет достаточно небольшого экземпляра (1,7 ГБ ОЗУ) (на данный момент), я не уверен в требованиях к серверу MySQL:
Имеет ли смысл разместить сервер MySQL в том же образе, что и наш основной сервер? (чтобы сэкономить)
Я предполагаю, что база данных будет постоянно обновляться и запрашиваться из нескольких источников, кроме веб-сервера, до 100 000 запросов в день / 5000 обновлений в день. При развертывании через RDS следует ли развертывать базу данных в образе, имеющем больше ресурсов, чем «маленький» экземпляр?
Имеет ли смысл размещать базу данных MySQL на EC2, но не через RDS?
Спасибо,
Имеет ли смысл разместить базу данных MySQL на EC2, но не через RDS?
Конечно, особенно если вам требуется очень настраиваемая реализация MySQL. Кроме того, RDS часто подвергается критике за производительность.
С учетом сказанного, и за свои деньги RDS действительно соответствует большому количеству требований. На первый взгляд, запуск экземпляра RDS стоит больше денег, чем экземпляр EC2, на котором размещен сервер MySQL, но когда вы начнете добавлять мониторинг, резервное копирование и надежность, встроенные в RDS, вы, вероятно, окажетесь в лучшей форме. чем если бы вы пытались имитировать эту функциональность с помощью собственных установок EC2.
Что касается размера, одно из приятных преимуществ RDS - это масштабирование. Вы можете выполнить развертывание на небольшом экземпляре, и если вы решите, что вам нужен более крупный экземпляр, вы можете преобразовать свой экземпляр в более крупный экземпляр. Кроме того, если у вас есть проблемы с загрузкой, у вас есть возможность развернуть несколько версий баз данных только для чтения, чтобы справиться с нагрузкой на RDS.
В конце концов, это MySQL, поэтому, если вы попробуете RDS и недовольны им, вы сбросите базу данных, разверните свою собственную реализацию MySQL и импортируйте в нее свою базу данных. На мой взгляд, стоит сбросить большую часть административной задачи MySQL и просто сосредоточиться на данных, ваш пробег может отличаться.
Надеюсь, это поможет вам принять решение.
Да - RDS и MySQL очень разные. С помощью RDS вы не управляете сервером самостоятельно - например, вы не получаете доступа к журналам сервера. Существует множество изящных инженерных уловок, которые вы можете выполнить только в том случае, если вы сами обслуживаете сервер (т. Е. Имеете образ EC2, на котором работает MySQL).
Не размещайте MySQL на том же сервере, если считаете, что вам нужно будет перенести его на собственный сервер в ближайшее время из-за трафика / нагрузки. Можете сделать это сейчас, чтобы вам не пришлось иметь дело с изменениями конфигурации позже.
Маленький экземпляр будет стоить около 70-80 долларов в месяц, а большой - ~ 230 долларов в месяц (цены продолжают снижаться, поэтому я прикидываю).
Мы довольно далеко ушли с маленькими экземплярами, но когда у вас высокий IO (то есть много запросов на диск) - выбирайте большой, поскольку маленькие экземпляры действительно ограничены IO. Если у вас созданы хорошие индексы и они могут уместиться в ОЗУ, тогда у вас не будет большого количества запросов на диск, потому что вы избежите полного сканирования таблицы.