AWS ALB против Docker роя

У меня есть приложение, работающее на AWS EC2. Для обеспечения высокой доступности мы планируем настроить балансировщик нагрузки AWS и разместить приложение минимум в 2 экземплярах EC2.

Мы также слышали о рое Docker, в котором мы можем создать сервис с 2 менеджерами на 2 отдельных экземплярах EC2, и рой позаботится об остальном (вместо использования ALB с 2 EC2). Он уравновесит нагрузку на все контейнеры внутри кластера, а также перезапустит контейнер, если что-то приведет к его падению.

Поэтому я хочу знать, какой вариант лучше всего подходит для моего случая. Приложение не получит большую нагрузку / трафик. Почему я выбираю балансировщик нагрузки для высокой доступности. Если один экземпляр выйдет из строя, другой позаботится об этом.

Если есть какие-либо другие варианты выполнения моих требований, это будет высоко оценено. Благодарю.

1 ответ

Решение

Я предполагаю, что это приложение без гражданства.

Вы можете использовать комбинацию Swarm и ALB, но рано или поздно вам нужно будет включить автоматическое масштабирование и т. Д., Что означает, что вам нужно будет управлять кластером Swarm и поддерживать его. С ALB вы получите действительно хорошие показатели, которые вы наверняка пропустите при использовании Swarm.

НО, у вас есть несколько лучших вариантов, которые будут управлять кластером для вас. Вам просто нужно будет управлять и поддерживать образы докера -

  1. Используйте ECS.
  2. Используйте EKS (только в us-east-1 как будто сейчас)
  3. Используйте ElasticBeanstalk MultiContainer.

Ref -
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecs.html https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html https://aws.amazon.com/eks/

Другие вопросы по тегам