亚马逊云科技的Windows系统更新方式主要是就地升级,即使用实例中系统自带的升级程序进行检测、评估、升级。
但上述方式均存在缺陷,如:更新安装周期长。此外,据实际验证,亚马逊云科技不支持将原实例私有IP分离,并使之在同网络环境下使用。(公有IP保留可通过EIP服务实现)
基于上述原因,当我们遇到短时间的更新时长,且要求保留私有IP的情况下,可通过创建满足需求的新EC2实例(使用指定AMI),将该实例的根卷(Windows的系统盘)创建快照和EBS卷。将原实例的根卷替换为新实例的根卷。该方案的优缺点如下:
优点 | 缺点 |
---|---|
更新周期短 | 应用或服务需重新部署 |
可保留私有IP(主网络接口) | |
可保证使用较新的亚马逊云科技官方工具 | |
可保证使用较新的补丁 | |
如原系统存在漏洞,可随系统全新替换被解决 |
需要特别注意的是,该方式需保证C盘为系统盘而非数据盘,并做好必要的数据备份工作和验证,防止因系统盘替换导致数据丢失或其他问题,影响服务部署和运行。
本文以Windows 2016升级到Windows 2019为例,详细介绍该升级方式。在文章后续内容中,以待升级实例和新系统实例为名称呼,即便升级完成,也以该名称继续撰写,防止行文混论。
1、数据备份
1.1 留存配置信息
- 使用 bginfo 等工具保存待升级实例的相关信息,并将之转移至数据盘或其他非被替换根卷留存
- 保存控制台安全组、IP、实例名称等信息
根据实际需求自行选择配置信息留存方式和内容,本文不再赘述
1.2 创建快照
与1.3创建AMI二选一,创建AMI操作默认包含创建快照,创建快照不包含注册AMI
建议关机状态创建快照
- 为待升级实例创建快照
1.3 创建AMI
与1.2创建快照二选一,创建AMI操作默认包含创建快照
建议关机状态创建AMI
- 为待升级实例创建AMI
2、系统升级
2.1 创建新实例
- 创建符合需求的实例,使用指定的新操作系统官方AMI,相关配置(实例类型、VPC、子网、可用区等)与待升级实例保持一致
2.2 获取新实例密码
- 使用Console上传密钥获取该实例密码,保留该密码信息
2.3 实例关机
- 将待升级实例和新系统实例关机
2.4 创建新实例快照
- 为新实例打快照
2.5 创建卷
- 通过新实例快照创建新系统EBS卷,相关配置(可用区、容量、卷类型、KMS加密等)与待升级实例根卷保持一致
2.6 实例卷分离
- 将待升级实例的根卷(C盘,/dev/sda1)分离
2.7 实例卷附加
- 将新创建的新系统EBS卷,附加到待升级实例上,指定该卷为/dev/sad1
2.8 实例开机
- 将待升级实例开机,使用 2.2 步骤中获取的新系统实例密码登录该待升级实例,查询系统相关信息,确认升级完成
re:Invent 2023 近日在美国盛大召开,Werner博士在会上做了拫多技术分享与思考,下图是整理好的**云架构俭约之道:企业架构七大黄金法则**,扫码了解更多详情!