镜像是什么
镜像是创建实例时用来初始化系统盘的模板,包含操作系统、预装软件与基础配置。选购实例时选的其实是“用哪个镜像装系统盘”,镜像决定了实例第一次开机时里面有什么。三种来源各自解决不同问题:官方公共镜像保证基础系统的可用与合规,自定义镜像承载团队自己的标准环境,共享镜像用于跨账号交付。
基本信息
| 公共镜像 | 厂商维护的系统镜像,含操作系统许可与基础安全更新 |
|---|---|
| 自定义镜像 | 从实例或快照导出,用于固化环境与批量部署 |
| 共享镜像 | 把自定义镜像共享给同账号其他成员或其他账号使用 |
| 地域绑定 | 镜像属于某个地域,跨地域使用需先复制 |
| 容量关系 | 镜像含系统盘的实际数据量,创建实例时系统盘不能小于镜像 |
| 更新节奏 | 公共镜像会随发行版发布更新,但不会自动升级已创建的实例 |
三类镜像的取舍
| 类型 | 优势 | 注意点 |
|---|---|---|
| 公共镜像 | 开箱即用、来源可信、免维护系统盘基础内容 | 版本可能偏旧,创建后仍需自行打补丁与加固 |
| 自定义镜像 | 环境标准化、扩容快、避免启动脚本反复执行 | 镜像里不要留存密钥与个人配置,需定期重建 |
| 共享镜像 | 跨账号或跨团队快速交付标准化环境 | 共享关系要能撤销,镜像更新后需通知使用方换版 |
典型使用场景
- 标准环境固化:把经过安全加固与软件预装的系统做成自定义镜像
- 快速扩容:弹性伸缩使用自定义镜像,新实例开机即具备完整环境
- 版本回退:保留上一版镜像,新版本出问题时用旧镜像快速重建实例
- 跨地域交付:把镜像复制到目标地域,在新地域直接创建实例
- 多账号分发:通过共享镜像把标准环境交付给子业务账号
查询与制作镜像
查询与制作镜像
aliyun ecs DescribeImages --RegionId cn-hangzhou --ImageOwnerAlias system # 查看公共镜像
aliyun ecs DescribeImages --RegionId cn-hangzhou --ImageOwnerAlias self # 查看自定义镜像
aliyun ecs CreateImage --RegionId cn-hangzhou --InstanceId i-bp1xxxx --ImageName web-base-v2 # 由实例创建镜像
aliyun ecs CopyImage --RegionId cn-hangzhou --ImageId m-bp1xxxx --DestinationRegionId cn-beijing # 复制到其他地域
tccli cvm DescribeImages --region ap-guangzhou --Filters '[{"Name":"image-type","Values":["PUBLIC_IMAGE"]}]'制作用作模板的镜像前先清理:卸载临时软件、清空日志与历史命令、删除授权密钥与个人凭据,并确认系统盘内的应用配置使用环境变量或配置中心取值。带密钥的镜像一旦共享出去,等于把凭据一起交付。
公共镜像的安全更新由厂商负责系统层,应用层补丁仍要自行维护;自定义镜像则连系统层更新也要自己负责。用镜像做基线时,把重建周期写进运维流程,例如每季度基于最新公共镜像重建一版标准镜像。