【问题标题】:AWS ECS - What factors should I consider when creating a new cluster or re-using an existing cluster and creating a new serviceAWS ECS - 创建新集群或重用现有集群并创建新服务时应考虑哪些因素
【发布时间】:2020-12-07 05:03:20
【问题描述】:

我之前使用过 AWS ECS。我了解 ECS 集群、ECS 服务和 ECS 任务之间的基本概念。我还没有完全理解的是何时我应该创建一个新的集群,而不是重新使用现有的 ECS 集群并在其中创建一个新的服务。

举一个更具体的例子,如果我有 2 个微服务,在决定是使用新的 ECS 集群还是只为 2 个微服务创建新的 ECS 服务时,我应该考虑哪些因素?我唯一能想到的是,如果我想跨 ECS 服务重用集群内的 ec2 实例。即将更多容器挤到 ec2 实例上。但是,如果我使用 Fargate,那么这似乎不是一个因素。

我很想知道我忽略了哪些因素以及人们在现实世界中遇到了哪些因素。

【问题讨论】:

    标签: amazon-web-services amazon-ecs


    【解决方案1】:

    您已经部分回答了自己的问题 - 对于 EC2 启动类型,您可以重用实例。一个容器实例只能注册到一个集群。因此,如果您想尽可能多地压缩容器实例,您可以在多个服务中重复使用它们。

    为服务使用不同的EC2集群的一个原因是分离。您的不同应用程序可能具有不同的重要性级别,通常您不希望将不重要的测试服务与生产级服务混合。因此,您可以将它们分离到不同的集群中,以减少意外配置的风险。此外,不同的 EC2 集群可以有不同的capacity providers实例类型。所以很明显你会为不同的需求创建不同的集群。

    对于 Fargate,不同集群的原因不是很清楚。自然,将生产类型服务与开发服务分离是拥有不同集群的重要因素之一。另一个同样适用于 EC2 的原因是服务分组。您可以有一个 Fargate 集群仅用于按需服务(Fargate 容量提供程序),第二个仅用于 Spot 服务(Fargate-spot 容量提供程序);即使如此,您也可以在一个集群中同时使用两者。

    对于 EC2 和 Fargate,您可以使用 IAM 管理对它们的访问。这意味着不同的集群可以有不同的人来管理它们。这是因为您可以在基于集群的 IAM 策略中创建 ECS conditions。因此,例如,您可以让初级开发人员访问初级集群,但通过 IAM 条件禁止他们在其他集群上操作。

    【讨论】:

      【解决方案2】:

      根据我的经验,全新的集群适用于不同的环境、不同的应用程序。

      基本上,您可以将所有应用程序和环境封装到 1 个集群中。这是关于你的编码。但是很难维护所有滚动更新,...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-22
        • 2017-09-13
        • 1970-01-01
        • 1970-01-01
        • 2015-08-23
        • 1970-01-01
        • 2019-02-24
        • 2021-04-18
        相关资源
        最近更新 更多