AWS AMI 怎么使用?创建、自定义与跨区域复制

把服务器环境固化为可重复验证、可追踪版本的启动模板

讲解 AWS AMI 来源、创建前清理、启动验证、跨区域复制、共享权限和生命周期管理。

Amazon Machine Image(AMI)是启动 EC2 实例所需的镜像模板,可以从已配置实例创建并复制到其他区域。AMI 适合固化可重复环境,但不是应用数据持续备份的替代品。

直接做法:进入 AWS 中文控制台的“EC2”,左侧打开“实例”,选中源实例后点“操作 → 映像和模板 → 创建映像”。创建 AMI 通常不另收镜像注册费,但底层 EBS 快照会持续计费。若应用仍在写数据库,先做应用级备份;为避免文件不一致,默认允许创建过程重启实例,只有确认应用能承受崩溃一致性时才取消重启。

AWS AMI 创建验证复制与启动流程图
AMI 只有经过新实例启动验证,才能作为可用发布资产。

AMI 的常见来源

类型适用场景检查重点
AWS 提供标准操作系统架构、版本、维护周期
AWS Marketplace商业软件或安全方案授权与额外费用
自定义 AMI固化自己的环境凭证清理、启动验证
共享 AMI跨账户交付来源、快照与 KMS 权限

创建前准备

  • 停止或冻结数据库写入,避免只获得崩溃一致性;
  • 清理临时凭证、用户数据、日志和主机唯一标识;
  • 确认 cloud-init 能在新实例重新初始化;
  • 记录关联 EBS 卷、加密密钥和软件许可;
  • 为 AMI 和快照设置版本、用途与负责人标签。

验证闭环

  1. 从 AMI 启动隔离测试实例;
  2. 验证系统、网络、磁盘和实例身份初始化;
  3. 运行应用健康检查与数据连接测试;
  4. 确认日志与监控没有沿用源实例身份;
  5. 通过后再用于启动模板或跨区域复制。

跨区域复制注意事项

AMI 属于区域资源,跨区域使用必须复制。源 AMI 后续变更不会自动同步到目标副本;数据库地址等区域配置也要在复制前后调整。共享加密 AMI 时还需同时处理底层快照和 KMS 密钥权限。

生命周期管理

定期建立新基线并废弃旧 AMI。删除 AMI 的注册信息与删除其 EBS 快照是不同操作,清理前应确认没有启动模板、Auto Scaling 或回退流程引用。

在中文控制台创建自定义 AMI

  1. 确认右上角区域与源实例一致,记录实例 ID、系统架构和所有 EBS 卷。
  2. 选中实例,打开“操作 → 映像和模板 → 创建映像”,填写能识别用途和日期的名称。
  3. 逐个核对卷:系统盘必须保留,临时盘不会进入 AMI;不需要随镜像复制的数据盘不要误加入。
  4. 提交后打开左侧“映像 → AMI”,等待状态变为“可用”。状态可用只说明镜像制作结束,不代表应用可用。

从 AMI 启动时怎么选

在 AMI 列表选中镜像并点“从 AMI 启动实例”。实例类型必须与镜像架构一致:x86_64 镜像不能直接启动 ARM 实例。密钥对、安全组、子网、公网地址和 IAM 角色不会因为来自旧实例就自动完全继承,创建页要逐项确认。Marketplace 镜像还可能产生软件许可费,提交前查看费用摘要。

复制到其他区域的准确路径

在源区域的“AMI”列表选中镜像,点“操作 → 复制 AMI”,选择目标区域。复制加密镜像时,要选择目标区域可用的 KMS 密钥,并保证操作者有使用密钥的权限。复制完成后切换到目标区域,从新 AMI 启动一台隔离测试机;源区域后续更新不会同步过去,下一版要重新复制。

按钮不可用或一直等待怎么办

  • “创建映像”不可用:先确认实例不是已终止状态,并检查账号是否有 EC2 与 EBS 快照权限。
  • AMI 长时间“待处理”:到“快照”查看各卷快照进度;大磁盘或首次快照可能更久,不要重复创建同名镜像。
  • 复制失败:核对目标区域、KMS 密钥策略、加密快照共享权限和服务配额。
  • 新机启动失败:先检查架构、实例类型和启动日志,再核对 cloud-init、fstab 和软件许可绑定。

完成验证与回退

用新 AMI 启动测试机后,依次确认 EC2 两项状态检查通过、磁盘全部挂载、网络和 DNS 正常、应用健康页返回成功、日志使用新实例身份。切换生产流量前保留旧实例和旧 AMI;失败时把流量切回旧实例。确认没有启动模板或回滚计划引用旧镜像后,才能先注销 AMI,再评估删除底层快照以停止存储费用。

上线前最后核对

若镜像用于生产发布,还要把 AMI ID 写入启动模板的新版本,而不是直接覆盖唯一版本。检查镜像名称、创建日期、操作系统补丁基线和负责人标签,并在变更单中记录测试实例 ID。这样下一次发现镜像缺陷时,能明确切回哪一个启动模板和旧 AMI,而不是临时猜测。

完成当前任务后继续检查

官方资料

AWS 教程AWS CloudShell 显示账户验证中怎么办?已验证仍无法创建环境的排查2026-09-15AWS 教程AWS EBS 卷卡在 attaching 怎么排查?可用区、挂载限制与设备识别2026-09-01AWS 教程AWS CloudTrail 怎么查操作记录?Event history、Trail 与审计边界2026-08-28

加入开发者交流社区

与全球开发者、运维和工作室一起交流技术、分享经验、配置、账号与最新优惠信息

  • 云平台使用交流
  • 资源优惠信息
  • 最新教程与资讯
  • 开发者经验分享
联系 Telegram 客服
加入开发者交流社区