Использовать RDS или контейнер (ECS) для базы данных? Преимущества и недостатки


Я хочу разместить базу данных на AWS. RDS-один из вариантов, но я кое-что слышал о контейнерах (и ECS). Я рассматриваю контейнеры как полезные для тестирования, но я не уверен в том, чтобы запустить производственную базу данных на одном из них. Каковы будут преимущества и недостатки каждого из них?

1 2

1 ответ:

Запустите базу данных самостоятельно на экземпляре EC2:

  • вы выбираете базу данных
  • вы управляете всей конфигурацией
  • Вы управляете тем, что еще работает на этой машине
  • резервное копирование, восстановление и другие задачи могут быть настроены
  • Вы несете полную ответственность за поддержание работы БД
  • Вы несете полную ответственность за резервное копирование

Запустите базу данных на RDS :

  • ограниченный выбор DBs
  • Вы можете запустить Aurora, Собственная база данных Amazon
  • некоторые (немногие) параметры конфигурации не разрешены
  • нет доступа к базовой машине
  • автоматическое резервное копирование
  • основное обслуживание автоматизировано
  • вы не можете запустить более дешевую базу данных, чем самая маленькая машина, которую Amazon арендует

Запустите базу данных внутри контейнера на экземпляре EC2:

Все преимущества и недостатки запуска БД самостоятельно, плюс

  • Вы должны сделать некоторые дополнительные работа по сохранению данных в контейнерах
  • Вы можете легко запустить точно такую же настройку БД для локальной разработки, тестирования и производства
  • вы платите некоторые дополнительные накладные расходы (небольшие)
  • изоляция процессов упрощает совместное использование машины (возможно, вся ваша рабочая нагрузка меньше, чем t2.микро)

Запуск БД в контейнере под ECS на самом деле не дает вам преимуществ по сравнению с управлением контейнерами самостоятельно. Но если вы используете ECS для остальной части вашего стека, и вы поместив БД в контейнер, вы просто захотите использовать ECS и для этого.