AWS ALB против Docker роя
У меня есть приложение, работающее на AWS EC2. Для обеспечения высокой доступности мы планируем настроить балансировщик нагрузки AWS и разместить приложение минимум в 2 экземплярах EC2.
Мы также слышали о рое Docker, в котором мы можем создать сервис с 2 менеджерами на 2 отдельных экземплярах EC2, и рой позаботится об остальном (вместо использования ALB с 2 EC2). Он уравновесит нагрузку на все контейнеры внутри кластера, а также перезапустит контейнер, если что-то приведет к его падению.
Поэтому я хочу знать, какой вариант лучше всего подходит для моего случая. Приложение не получит большую нагрузку / трафик. Почему я выбираю балансировщик нагрузки для высокой доступности. Если один экземпляр выйдет из строя, другой позаботится об этом.
Если есть какие-либо другие варианты выполнения моих требований, это будет высоко оценено. Благодарю.
1 ответ
Я предполагаю, что это приложение без гражданства.
Вы можете использовать комбинацию Swarm и ALB, но рано или поздно вам нужно будет включить автоматическое масштабирование и т. Д., Что означает, что вам нужно будет управлять кластером Swarm и поддерживать его. С ALB вы получите действительно хорошие показатели, которые вы наверняка пропустите при использовании Swarm.
НО, у вас есть несколько лучших вариантов, которые будут управлять кластером для вас. Вам просто нужно будет управлять и поддерживать образы докера -
- Используйте ECS.
- Используйте EKS (только в
us-east-1
как будто сейчас) - Используйте 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/