是否可以通过自动伸缩组启动堡垒机进行故障恢复?

Can a bastion host be launched by auto-scaling-group for failure recovery?

我可以通过 auto-scaling-group 启动一个堡垒主机,这样我就可以设置 "MinSize": 1 和 "DesiredCapacity": 1.

我了解到,出于负载平衡或扩展的目的,ASG 通常与 ELB 或 SQS 和 Cloudwatch 一起使用。我觉得我来这里的目的不同——我想让我的堡垒机启动 运行,一旦它宕机,我想尽快把它恢复过来。 (我不需要我的堡垒主机是 "HA",但我希望它能够自动恢复,比如说在 3 分钟内)

自动伸缩组有这样的用例吗?

是的,这是一个有效的用例。 Auto scaling groups 强制你设置自动创建的实例:你定义一个启动配置来指定实例类型和你想要启动的图像,以及组中的实例数量。 当您将所需实例设置为“1”时,自动缩放组 (AG) 将开始强制执行一个实例 运行.

问题:实例在启动时会分配到不同的 IP,因此您不知道从哪里访问它。 有两种解决方法: - 使用 ELB,以便您始终可以通过 ELB 的地址访问它。当只有 运行 个实例时,这有点矫枉过正 - 让实例在启动时分配一个弹性 ip。我认为 Amazon 尚不支持这种开箱即用的功能,但您可以在 Web 上找到为您执行此操作的脚本。

请注意,此设置不会防止失败。但是一旦一个实例出现故障,就是终止它的问题,5分钟左右就会备份一个新的。

是的,以这种方式使用 Auto Scaling 组将确保在失败的主机未通过 EC2 健康检查时自动替换它。

但是,这不是解决您的问题的最佳和最新方法。 EC2 支持 Auto Recovery as of last year. Recovery can be configured to perform a variety of actions on an instance that fails EC2 health checks. The advantage it has over Auto Scaling is that things like Elastic IPs can be migrated over to the new instance. The docs 包含设置它所需的所有信息。

参考来自亚马逊的 link 关于 Bastion 主机的架构和最佳实践 - [​​=10=]