在没有EBS的情况下使用ECS容器实例

时间:2016-08-08 00:23:13

标签: amazon-web-services amazon-ecs

我正在使用AWS的免费套餐。我正在尝试使用ECS,并且正在遵循文章http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html来创建ECS实例。我注意到的一点是,使用社区图片 amzn-ami-2016.03.e-amazon-ecs-optimized 会增加一个EBS卷,这会减少我的免费套餐使用量。我的问题是,这个EBS卷是否需要,我可以在没有EBS卷的情况下完成吗?

2 个答案:

答案 0 :(得分:2)

对于AWS ECS,Amazon EC2 Container Service不收取额外费用。您为创建用于存储和运行应用程序的AWS资源(例如EC2实例或EBS卷)付费。 AWS https://aws.amazon.com/free/中的免费套餐Amazon EC2 Container Registry是免费套餐的一部分,可提供500 MB的存储空间。

如果您要从amzn-ami-2016.03.e-amazon-ecs优化的AMI创建ECS容器,那么卷将是EBS,因此您将需要支付EBS卷。

答案 1 :(得分:0)

任何EC2实例至少需要一个Root卷才能启动操作系统。 AWS中的所有卷都是EBS卷。因此,如果您想知道是否可以在没有EBS的情况下拥有EC2实例,那我认为那是不可能的。

但是,您仍然可以降低EBS成本。 EBS卷的价格为每GB每月10美分。如果您会注意到,所有Amazon ECS优化的EC2实例都配置为使用30GB的EBS卷存储。这意味着您每个月要为每个EC2实例支付$ 3.00的额外费用! 30 GB中的8 GB用于Root,而30 GB中的22用于docker

  

来源:   https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-storage-config.html

     

默认情况下,Amazon ECS优化的Amazon Linux AMI随附30个   总存储量的GiB。您可以在启动时将该值修改为   增加或减少容器实例上的可用存储。   该存储空间用于操作系统和Docker映像   和元数据。以下各节介绍了   基于AMI版本的Amazon ECS优化的Amazon Linux AMI。

当然,Root不需要完整的8GB,docker不需要完整的22GB。因此,您可以通过减小这些卷的大小来降低成本,例如Root使用2GB,docker使用2GB。那么您每个月要支付40美分,而不是$ 3.00。

据我所知,减小卷大小并不容易。 由于此问题超出了讨论范围,因此我只为感兴趣的各方提供this链接。

现在您已经知道,经ecs优化的实例使用了2个卷,您可以完全不用22GB的卷,而只需将Root卷用于docker存储。这也不容易,但是可以通过安装docker和ecs代理创建自己的AMI来完成。然后,您将必须将docker配置为使用Root卷而不是其他卷。 Here是讨论此问题的主题。