我有一个用于 Rails Web 服务器的 AMI。此 AMI 使用 EBS Snapshot 启动,所有基本功能都已准备好投入生产。
我现在需要更新 Web 服务器 (nginx.conf) 上的某些配置设置。我可以轻松地通过 ssh 进入一个框并更新设置,但之后启动的实例将没有这些设置,因为它们使用的是较旧的快照。
我该如何让新的 ec2 实例使用新设置启动?我猜我需要更新快照?我该如何更新所有 Web 服务器 ec2 实例使用的快照?
谢谢
答案1
一个选项是创建新的 AMI。现在这很容易,因为有许多可用的工具,例如这个 ruby gem”构建-ubuntu-ami“。当构建新的 ami 时,您可以包含新的设置。
另一个选择是,您可以使用 chef/puppet/salt/ansible 等来使用当前 ami 更新所有实例。
更新:在所有云平台上创建图像的更好选择是打包机。
答案2
您无法更新快照。您必须更新现有 AMI,然后拍摄新快照,然后注册它,这将为您提供新的 AMI ID。
我假设您的实例位于 AutoScaler 后面?如果是这样,那么您必须使用新的 AMI ID 更新启动配置。我发现管理此问题最简单的方法是使用Netflix 的《阿斯加德》
如果您正在使用 CloudFormation,那么您只需更新您的模板,CloudFormation 将为您创建新的启动配置并更新自动缩放器。
如果您只是手动启动实例,则请在执行此操作时使用新的 AMI ID。