我正在使用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卷的情况下完成吗?
答案 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是讨论此问题的主题。