我正在使用AWS ECS部署我的网站。现在我想知道-
我有两个任务定义-
答案 0 :(得分:3)
实际上以一定的代表性负载运行服务。使用诸如 top (1)之类的工具进行监视,该工具可以告诉您实际的内存使用情况(在top
中,查找rss
或rsz
列)和CPU利用率。任何给定服务的资源利用率都非常依赖于语言选择,运行时,负载,并发性,算法决策,数据库约束等等。
匹配您实际测得的资源利用率,一些假设的部署计划以及AWS EC2 instance types listing。如果您有4个服务,每个服务需要1个完整的CPU内核和1 GB RAM,并且要运行每个服务的3个副本,则总共需要12个内核和12 GB RAM。如果您希望将其分布在3台主机上,那么3x c5.xlarge实例将为您提供12个内核和24 GB的RAM。
通常,托管的AWS服务并不比在裸EC2实例上自己运行相同的服务便宜。对于Fargate,计划任务的CPU小时和GB小时为priced。在撰写本文时,我上述的假设工作负荷在us-east-1
中每小时的费用约为0.54美元;对于EC2 on-demand usage,3x c5.xlarge实例的价格为每小时US $ 0.51(如果您能够承诺购买预留实例,则价格会便宜一些)。如果您的工作量非常繁琐,则与EC2实例相比,安排和取消安排ECS任务可能会更容易,并且Fargate定价模型可能更适合您。
ECS文档包含a tutorial on setting up CloudWatch and an auto-scaling group to automatically expand a cluster。缩小比例会比较棘手(您需要set the instance to drain,等待任务实际移动,然后取消配置)。
如果您仍然处于全AWS环境中,请考虑使用hosting static content directly in S3。与运行专用服务器相比,这可能更便宜,更易于管理。