1.要解决的问题
经常会争论这样一个问题,当由机器镜像创建虚拟服务器时,即使用印章模式时,就操作效率而言,应该多久保存一次镜像。
在印章模式中,您可以在所有配置完成(从中间件到应用)之后,中间件和应用被启动并运行时创建机器镜像。虽然这种模式可以极快地启动虚拟服务器,但是如果您需要升级其中的一个中间件产品,或者您需要变更应用的某项设置,您就需要重新创建机器镜像。
2.云模式的说明
AWS云不仅可以让您方便地创建机器镜像,还可以使您在启动的时候设置参数。使用这项功能可以将所需的参数传给服务器配置,从而在服务器启动时服务器自身可以接收到所需的设置,这样就能够创建一个机器镜像用于安装、启动和设置。这使您无需在每一次程序包版本升级时去重新创建机器映像。
3.实施
思考一下创建Amazon机器镜像(AMI)的过程。具体地说,将用于初始化EC2实例(虚机)所需的各种参数文件放在Amazon简单存储服务(S3)中,然后,当您启动EC2实例时,让实例读取参数文件来构建其自身。您可以将参数文件放置在类似于Git的存储库中。
请注意,Amazon的Linux有一种初始化功能叫做Cloud-init,它可以通过写入用户数据区域的初始化脚本实现自动执行。
在S3中或其他类似Git的存储库中,准备引导程序所需的数据。创建一个包含引导程序的AMI。
由这个包含引导程序的AMI启动一个EC2实例。
在启动时,EC2实例会自动获取、安装、启动并且设置所需的程序包。
必要时,基于AMI动态地复制服务器。
4.配置
5.好处
这种模式可以避免在各种补丁升级时重新创建AMI的工作。
在启动时,传递参数等功能可以方便地实现动态地更改安装顺序和细节。
6.注意事项
当涉及使用静态AMI和在启动时需要动态设置的层面时,您的选择范围很广。
考虑选用何种模式时,可以与印章模式权衡比较。