【问题标题】:Two clusters with same task, container and service names?具有相同任务、容器和服务名称的两个集群?
【发布时间】:2017-03-07 07:58:31
【问题描述】:
我正在考虑创建两个集群:live 和 staging。 AWS 会将两个集群内定义的任务、容器和服务视为不同的,还是会在某些方面发生冲突?
例子:
live cluster有一个叫login-service的服务,可以staging cluster有一个叫login-service的服务> 还是调用服务 login-live-service 和 login-staging-service 更好?
【问题讨论】:
标签:
amazon-web-services
amazon-ecs
【解决方案1】:
只要两个集群不共享任何资源,它们就不应以任何方式发生冲突。资源可能包括负载均衡器、网关和 VPC。理论上,如果您需要节省成本,您可以共享一些资源甚至实例,但您需要更改端口并适当配置负载均衡器。
任务定义可能需要不同的环境变量,在这种情况下,我将为每个环境创建不同的任务定义。您可以在调用 StartTask 和 RunTask ecs API 调用以及某些服务时在运行时设置环境变量,在这种情况下,您可以共享单个任务定义。
如果您将 cloudformation 与 amazon ecs 一起使用,那么您应该能够使用 cloudformation 模板为每个集群设置不同的 VPC 和 ELB/ALB。 ecs-cli repo 有一个示例模板,您可以从中撬出 - 请参阅 https://github.com/aws/amazon-ecs-cli。