我应该升级 EC2 实例上的内核包吗?

Ada*_*sen 18 kernel amazon-ec2

在我的 EC2 服务器上,当我这样做时sudo apt-get update && sudo apt-get upgrade,我看到:

The following packages have been kept back:
  linux-ec2 linux-image-ec2 linux-image-virtual linux-virtual
Run Code Online (Sandbox Code Playgroud)

我应该继续并sudo apt-get install linux-ec2 linux-image-ec2 linux-image-virtual linux-virtual强制升级这些软件包吗?

Eri*_*ond 18

简短的回答是,是的,您应该让您的系统保持最新的安全补丁。

您如何准确地推出安全补丁取决于您对风险的容忍度。以下是我过去用来回答这个问题的一些选项:

  1. 将升级应用到一组模拟生产环境的 QA 系统并运行所有回归测试,以确保更改不会破坏任何功能或导致性能问题。一旦您感到满意,就可以升级到您的生产系统。

  2. 等一天,看看是否有公众对更新引起的问题的强烈抗议。如果一切看起来都很平静,请升级您的生产系统。

  3. 尽快在您的生产系统上应用每个安全补丁。

我在 Ubuntu 中结合使用了所有这三种方法,并且多年来逐渐转向选项 3。安全补丁在发布之前经过了大量测试,并且非常小心不要破坏现有功能。我在 Ubuntu 支持的映像中升级从来没有遇到过问题(尽管几年前我在 EC2 上使用非 Ubuntu 内核和 Ubuntu 时确实遇到过问题)。

请注意,升级内核还需要重新启动才能应用更改。

上述经验和建议仅适用在 Ubuntu 版本(例如 11.04)升级。升级到新的Ubuntu 版本是一项更大且风险更大的任务,并且在将其部署到生产系统之前绝对需要进行测试。

以下是 RightScale 刚刚发布的关于此主题的文章,内容涉及如何管理其环境中的安全升级:

http://blog.rightscale.com/2011/09/28/security-patching-in-the-rightscale-universe/

  • 好答案。也许添加一条注释,升级内核仅*真正*可能在 EBS 支持的实例上进行?仍然如此,不是吗? (3认同)
  • Mark:过去,实例存储实例的内核无法升级到位,但随着半虚拟化的发布,实际内核可以存储在 AMI 而不是 AKI 上。这意味着实例可以升级其本地 EBS 卷上的内核,并在重新启动后保持不变,即使它使用相同的 AKI。我刚刚用 Ubuntu 11.04 (us-east-1 ami-e2af508b) 测试了这个,并且实例存储实例在 dist-upgrade 和重启后提供了正确的更新内核。 (3认同)
  • 更正我之前的评论:“该实例可以升级其本地 *instance-store* 根卷上的内核并使其保持不变” (2认同)