【发布时间】:2021-05-03 20:27:27
【问题描述】:
我正处于一个十字路口。我的目标是自动创建我的 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
【问题讨论】:
-
您遗漏了 CloudFormation、AWS CDK、Terraform 和 Pulumi(我可能忘记了一些)。恐怕你的问题的答案会非常固执己见。如果您对自动化感兴趣,我只会查看您列表中的 Copilot,但根据您的需求有多先进,我会查看 AWS CDK 或 Terraform。
-
我希望能够做的主要事情是使用 CloudFormation 分别定义我的所有网络、数据库和存储,然后能够使用我的 docker-compose 文件轻松部署到这些资源。我不希望自动创建我的网络堆栈。
-
如果您已经在使用 CloudFormation,为什么还要使用 docker-compose 进行部署?为什么不将它用于所有事情?
-
如何将 docker-compose 转换为 CloudFormation 堆栈?我不想手动描述我的 ECS 任务、服务等。
-
我发现的问题是我总是最终需要做更高级的事情,比如在 EFS 卷中映射,这在 ECS 任务定义中执行而不是尝试插入您的 docker 中才有意义- 以某种方式撰写文件。我维护一个用于本地开发的 docker-compose 文件,以及用于 AWS 部署的 Terraform 中的 ECS 任务定义。从头开始编写一个 ECS 任务定义只需要我几分钟,所以你不需要同时承担所有这些额外的工作。
标签: amazon-web-services docker docker-compose amazon-ecs