Использовать RDS или контейнер (ECS) для базы данных? Преимущества и недостатки
Я хочу разместить базу данных на AWS. RDS-один из вариантов, но я кое-что слышал о контейнерах (и ECS). Я рассматриваю контейнеры как полезные для тестирования, но я не уверен в том, чтобы запустить производственную базу данных на одном из них. Каковы будут преимущества и недостатки каждого из них?
1 ответ:
Запустите базу данных самостоятельно на экземпляре EC2:
- вы выбираете базу данных
- вы управляете всей конфигурацией
- Вы управляете тем, что еще работает на этой машине
- резервное копирование, восстановление и другие задачи могут быть настроены
- Вы несете полную ответственность за поддержание работы БД
- Вы несете полную ответственность за резервное копирование
Запустите базу данных на RDS :
- ограниченный выбор DBs
- Вы можете запустить Aurora, Собственная база данных Amazon
- некоторые (немногие) параметры конфигурации не разрешены
- нет доступа к базовой машине
- автоматическое резервное копирование
- основное обслуживание автоматизировано
- вы не можете запустить более дешевую базу данных, чем самая маленькая машина, которую Amazon арендует
Запустите базу данных внутри контейнера на экземпляре EC2:
Все преимущества и недостатки запуска БД самостоятельно, плюс
- Вы должны сделать некоторые дополнительные работа по сохранению данных в контейнерах
- Вы можете легко запустить точно такую же настройку БД для локальной разработки, тестирования и производства
- вы платите некоторые дополнительные накладные расходы (небольшие)
- изоляция процессов упрощает совместное использование машины (возможно, вся ваша рабочая нагрузка меньше, чем t2.микро)
Запуск БД в контейнере под ECS на самом деле не дает вам преимуществ по сравнению с управлением контейнерами самостоятельно. Но если вы используете ECS для остальной части вашего стека, и вы поместив БД в контейнер, вы просто захотите использовать ECS и для этого.