我在 AWS 上部署了一个有状态的集群,其中实例在启动时附加到一个已经存在的 EBS 卷,然后这个卷将被挂载到实例上运行的 Docker 容器。如果我强行分离此卷,则实例和 Docker 容器将继续正常工作。要附加到同一卷,必须终止实例,并且自动缩放组启动的新实例将通过 userdata 脚本附加到分离的卷。
有没有办法自动检测卷分离并触发附件?或者如果它的 EBS 卷被强制分离,是否可以自动终止该实例?
我在 AWS 上部署了一个有状态的集群,其中实例在启动时附加到一个已经存在的 EBS 卷,然后这个卷将被挂载到实例上运行的 Docker 容器。如果我强行分离此卷,则实例和 Docker 容器将继续正常工作。要附加到同一卷,必须终止实例,并且自动缩放组启动的新实例将通过 userdata 脚本附加到分离的卷。
有没有办法自动检测卷分离并触发附件?或者如果它的 EBS 卷被强制分离,是否可以自动终止该实例?
我不知道有任何自动方式来实现这个开箱即用。我能提供的最好的就是一些调查的想法。
shutdown -h
以终止它。或者使用 docker 主机中的 AWS CLI 请求终止当前实例。脚本可以在运行时通过 curl 从实例 MetaData 获取当前实例InstanceId
,您将需要一个 IAM 策略并将其分配给实例的 IAM 角色以获得终止实例的权限。