Shu*_*pta 2 amazon-web-services amazon-ecs docker
我正在使用 AWS ECS 来部署我的网站。现在我想知道——
我有两个任务定义-
实际运行具有一些代表性负载的服务。使用top (1) 之类的工具进行观察,它可以告诉您实际的内存使用情况(在 中top,查找rss或rsz列)和 CPU 利用率。任何给定服务的资源利用率都非常依赖于语言选择、运行时、负载、并发性、算法决策、数据库约束……而且确实没有经验法则。
将您实际测量的资源利用率、一些假设的部署计划和AWS EC2 实例类型列表相匹配。如果您有 4 个服务,每个服务都需要 1 个完整的 CPU 内核和 1 GB 的 RAM,并且您希望每个服务运行 3 个副本,那么您总共需要 12 个内核和 12 GB 的 RAM;如果您希望将其分布在 3 个主机上,那么 3 个 c5.xlarge 实例可为您提供 12 个内核和 24 GB 的 RAM。
一般来说,托管 AWS 服务并不比自己在裸 EC2 实例上运行相同的服务便宜。对于 Fargate,它按计划任务的 CPU 小时和 GB 小时定价。在撰写本文时,我上面描述的假设工作量每小时成本约为 0.54 美元us-east-1;对于EC2 按需使用,3 个 c5.xlarge 实例每小时的费用为 0.51 美元(如果您能够承诺购买预留实例,这会更便宜)。如果您的工作负载非常突发,与 EC2 实例相比,调度和取消调度 ECS 任务可能更容易,并且 Fargate 定价模型可能更适合您。
ECS 文档有一个关于设置 CloudWatch 和自动扩展组以自动扩展集群的教程。缩小规模有点棘手(您需要将实例设置为 drain,等待任务实际移动,然后取消配置)。
如果您无论如何都处于全 AWS 环境中,请考虑直接在 S3 中托管静态内容。这可能比运行专用服务器更便宜且更易于管理。
| 归档时间: |
|
| 查看次数: |
981 次 |
| 最近记录: |