Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如果EBS卷分离,是否可能在AWS上触发实例终止?_Amazon Web Services_Docker_Aws Ebs - Fatal编程技术网

Amazon web services 如果EBS卷分离,是否可能在AWS上触发实例终止?

Amazon web services 如果EBS卷分离,是否可能在AWS上触发实例终止?,amazon-web-services,docker,aws-ebs,Amazon Web Services,Docker,Aws Ebs,我在AWS上部署了一个有状态集群,其中实例在启动时连接到一个已经存在的EBS卷,该卷稍后将装载到实例上运行的Docker容器。如果我强制分离此卷,则实例和Docker容器将继续正常工作。要连接到同一卷,必须终止实例,并且自动缩放组启动的新实例将通过userdata脚本连接到分离的卷 有没有办法自动检测体积分离并触发连接?或者,如果强制分离实例的EBS卷,是否可以自动终止该实例 我不知道有什么自动的方法可以做到这一点。我能提供的最好的建议是调查一些想法 在docker主机上运行cron脚本,每X分

我在AWS上部署了一个有状态集群,其中实例在启动时连接到一个已经存在的EBS卷,该卷稍后将装载到实例上运行的Docker容器。如果我强制分离此卷,则实例和Docker容器将继续正常工作。要连接到同一卷,必须终止实例,并且自动缩放组启动的新实例将通过userdata脚本连接到分离的卷


有没有办法自动检测体积分离并触发连接?或者,如果强制分离实例的EBS卷,是否可以自动终止该实例

我不知道有什么自动的方法可以做到这一点。我能提供的最好的建议是调查一些想法

  • 在docker主机上运行cron脚本,每X分钟检查一次路径是否仍然可以访问。如果路径不可访问,并且实例被设置为在关闭时终止,只需调用
    shutdown-h
    即可终止它。或者从docker主机使用AWS CLI请求终止当前实例。脚本可以在运行时通过curl从实例元数据获取当前实例
    InstanceId
    ,您需要IAM策略并将其分配给IAM角色,以便实例获得终止实例的权限
  • 基本上是一样的,但可以从另一台服务器或一个Lambda函数执行此操作,该函数按计划查询API以获取实例/卷的列表(基于标记等),然后检查附件状态,并在必要时终止实例
  • 根据您的用例,您可以使用cloudwatch监控卷的EBS指标。您是否可以基于此为您的用例检测故障,然后执行lambda来实际检查实例并终止它

  • 请编辑您的问题并包含更多详细信息。首先,你为什么要
    …强制分离此卷…
    ?您是否不关心数据完整性?如何准确地分离卷?是否可以修改该进程以使其优雅地分离?当你说
    。。。继续生活…
    -这是否意味着功能齐全或已损坏?另外,我认为这纯粹是一个数据量?我更新了问题,谢谢你的反馈。所谓“live”,我的意思是容器保留了它的功能。至于强行拆卷,我指的是一个进程或一个人错误地强行拆卷。如果您正在基础架构中进行混沌测试,那么您的测试套件可能正在模拟这种情况,并且您仍然希望从中恢复。例如,参见混沌猴子案。