如何决定使用哪种ECS工具?

iMa*_*kre 6 amazon-web-services amazon-ecs docker docker-compose

我现在正处于十字路口。我的目标是自动创建我的 ECS 架构并将我的 docker-compose 服务部署到 ECS Fargate,但是有很多方法可以做到这一点!

希望从社区获得一些关于选择适合工作的工具的见解。其中每一个的用例是什么?我什么时候应该选择其中之一?

Docker ECS 集成
https://docs.docker.com/cloud/ecs-integration/

ecs-cli
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI.html

AWS Copilot
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Copilot.html

AWS CLI ecs
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecs/index.html

mre*_*rre 11

This is how I am breaking it down:

  • Docker Compose / ECS 集成:如果您深入了解 Docker 并爱上了 compose 语法,请使用此功能。如果您还没有爱上它,您应该爱上它,因为它的语法非常简单
  • ECS CLI:这是 Copilot CLI 的早期版本。ECS CLI 具有本机 ECS 组件/工作流程 + 一定程度的 docker compose 兼容性。此后,我们改进了 Copilot 中的工作流程,并将 compose 支持分叉到上面的 Docker Compose / ECS 集成中。TL/DR:不要使用 ECS CLI
  • Copilot CLI:这是在 AWS ECS 上开始使用容器的一种非常简单的方法。如果您对 Docker 不太了解,并且不需要成为容器方面的专家,那么 Copilot 是正确的方法。唯一的缺点(IMO)是它还没有真正支持正确的 IaC 模式(示例)。
  • AWS CLI(ecs 命名空间):这只是核心 ECS API 1:1 映射的 CLI 表现形式。对于您来说,这很可能太低了,无法提取价值(除非您正在做非常深入的事情)。例如,一个 Copilot 命令或几条 Docker Compose 行可以轻松分解为数十个 AWS CLI 命令。

我会将 CDK 添加到您的列表中:CDK是可以用标准编程语言表示的 AWS 构造(包括 ECS)的表示。CDK 的优点在于它可以映射 1:1 原始 API/Cloudformation 构造,但它还附带更高级别和更抽象的库,使您可以用几行代码表达需要数百行 CFN 的内容。

如果您深入了解撰写(正如您的原始消息所示),您可能想看看这种方法