ECS容器实例挂载持久化EBS的最优实现方案咨询
问题描述
我需要挂载一块可在任务重启后保持持久化的EBS卷,用于部署自托管数据库引擎。我清楚不能将该EBS卷添加到服务管理的任务中,因为任务重启时对应的EBS卷会被销毁。
随后我将这块EBS卷挂载到ECS容器实例(EC2)的ASG所使用的启动模板内,并设置deleteOnTerminate=false。但我发现ASG的实例数不能配置为超过1,原因如下:若将ASG的期望实例数设为2,可能会在同一可用区启动两台EC2实例,每台实例都会拥有独立的EBS卷;即便配置了可用区放置约束,也无法确保任务始终使用正确的目标EBS卷。
因此我最终将ASG的最大实例数设为1,但不确定这是否为最优方案,希望得到大家的建议。
临时解决方案
我创建了一块AWS EBS卷,配置了min=1、max=1的AWS ASG伸缩配置,通过user_data脚本将该EBS卷挂载到节点上,目前运行状态正常。我认为这只是一个临时解决方案,但确实能满足需求😅,在不依赖AWS ECS的前提下,我暂时没有找到更优的替代方案。
内容的提问来源于stack exchange,提问作者Ronaldo Lanhellas
相关产品推荐
相关产品推荐

