1

我在 VPC 下跨多个区域的 AWS 中运行了大约 40 个 linux 实例。现在我需要修补 linux 内核,运行 apache、php、mysql 的更新。登录到每个服务器非常困难。如何自动化此过程或一次轻松地在所有服务器上运行更新。

4

2 回答 2

0

对于这种情况,您可能或多或少被迫手动执行此操作,但在未来,设计改造将是为了让您的生活更轻松地处理此类事情。我建议您研究 puppet 或 Chef,因为它们使您能够编写基础架构脚本,并且当您需要进行更新/更改时,您可以将它们应用到有问题的系统或只是重新构建系统。

对于这种情况,如果您要使用 Chef,您只需更新脚本并告诉 Chef 更新您的所有系统。

诚然,我知道这一点信息对您当前的困境没有帮助,但它是对未来环境缓解此类问题的建议。

于 2013-07-27T00:07:39.030 回答
0

查看AWS Systems Manager (SSM)

这是使用 SSM 运行补丁的好方法。SSM 允许您:

  • 选择维护时段
  • 白名单或黑名单补丁
  • 确定补丁接受级别(例如高与严重)
  • 将补丁接受延迟指定时间(想要等待一天以防补丁被证明是坏的?)
  • 将补丁应用于特定标记的实例(如果您愿意,可以运行多个补丁组)

不过设置起来有点麻烦。

选项 2

根据您的需要,您可能只想安装和配置yum-cron(在 Ubuntu 上您将使用无人值守升级)。多年来,我一直在这样做,并且我确实看到零计数的安全补丁导致了破坏性回归。我宁愿让每台主机都自动修补并在它中断时处理后果,而不是拥有未修补的主机。需要注意的是,我禁用了自动重启,因此内核更新在我重启之前不会生效。

选项 3 如果您只想在所有主机上执行“即发即弃”的风格,您可以探索 dsh(分布式 ssh,您可能会猜到您需要了解的所有信息;-)。我已经成功地使用了它。我也使用过 Ansible 和 Chef(两者都需要一些设置和学习曲线)

于 2018-11-10T00:54:03.370 回答