镜像是什么
镜像是云服务器的装机模板:把操作系统、运行时、应用与配置预先固化成一份可复制的产物,创建实例时直接选用。公共镜像提供标准操作系统,自定义镜像固化自家环境,共享镜像与镜像市场则提供跨账号或第三方来源的模板。批量部署与弹性扩容都从镜像开始。
基本信息
| 镜像类型 | 公共镜像、自定义镜像、共享镜像、镜像市场 |
|---|---|
| 主要用途 | 批量创建实例、伸缩组扩容、固化环境版本 |
| 地域属性 | 镜像与地域绑定,可复制到其他地域后使用 |
| 制作来源 | 由实例创建、由快照创建、由外部镜像文件导入 |
| 版本管理 | 建议按应用与版本号命名,保留上一版本便于回退 |
| 一致性要求 | 制作用于批量分发前要清理机器专有标识与密钥 |
典型使用场景
- 批量开机器:用同一镜像创建多台实例,环境完全一致
- 弹性扩容:伸缩组按镜像扩容,新增实例无需手工配置
- 环境固化:把经过验证的应用版本固化,回滚时用旧版本镜像
- 迁移与交付:把环境做成镜像复制到其他地域或交付给其他账号
- 快速恢复:实例损坏时用镜像重建,缩短故障恢复时间
- 合规基线:把安全加固后的系统做成镜像,新机器天然符合基线
镜像类型对照
| 类型 | 来源 | 适用场景 |
|---|---|---|
| 公共镜像 | 厂商提供 | 标准操作系统环境 |
| 自定义镜像 | 由实例或快照创建 | 自家业务环境固化 |
| 共享镜像 | 其他账号共享 | 团队协作、统一基线 |
| 镜像市场 | 第三方提供 | 预装软件或特定环境 |
从实例创建自定义镜像
从实例创建自定义镜像
aliyun ecs CreateImage --RegionId cn-hangzhou --InstanceId i-xxxx --ImageName web-base-v1
aliyun ecs DescribeImages --RegionId cn-hangzhou --ImageName web-base-v1 # 确认创建结果
# 制作通用镜像前做清理,避免批量实例身份冲突
rm -f /etc/machine-id /var/lib/dbus/machine-id # 清理机器标识
# 删除固化的密钥与内网专用配置后再制作镜像制作通用镜像前要清理机器标识、初始化状态、密钥与内网专用配置:不清干净会让批量实例出现身份冲突,网络与授权行为异常。
不要把包含密钥与内网配置的实例直接做成共享镜像分发:接收方拿到的是一份含凭据的环境,风险与合规问题都很大。
镜像与地域绑定:跨地域扩容前先把镜像复制到目标地域,否则伸缩组找不到模板。
镜像会随时间过期:系统补丁与依赖版本都会变旧,建议按季度重建一次基线镜像,而不是长期沿用旧版本。