本文共 3672 字,大约阅读时间需要 12 分钟。
ECS 镜像(Image)是云服务器ECS运行环境的模版,其重要性不言而喻。为了更好的提升用户云上体验,阿里云在镜像服务能力及生态能力方面做了很多工作,下文将整体上从两个方面介绍ECS镜像:
带着这些问题,让我们开始ECS镜像之旅。
如上图所示,在新购ECS的选择镜像的时候有四个分类,分别为系统镜像,市场镜像,自定义镜像,共享镜像。那么它们有何区别?我们该如何选择镜像呢?下面我们先对四种镜像类型做一个对比:
镜像类型 | 可用性 | 安全性 | 费用 | 限制 |
系统镜像 | 阿里云官方维护,经过严格的测试及 生产验证,可用性非常高。 | 高 | 免费 | 无 |
市场镜像 | 优质的第三方服务商提供,经过阿里云审核后上架,同时有售后技术支持,可用性通常较高。 | 较高 | 收费/免费 | 无 |
自定义镜像 | 由用户基于快照创建或者通过镜像导入方式上传,质量完全由用户自己把控,可用性稍差。 | 中 | 免费(基于市场镜像做的自定义镜像除外) | quota限制 |
共享镜像 | 共享镜像源不会经过阿里云官方审核,稳定性及安全性得不到保证。 | 低 | 免费(基于市场镜像做的自定义镜像除外) | quota限制 |
如果从从实践方面考虑,选择镜像建议是:
阿里云镜像为了满足用户多种业务场景的需求,从OpenAPI到控制台均提供了完备的产品能力。
目前用户制作镜像有两种方式,一种为基于阿里云的ECS实例及快照制作,另外一种是线下制作通过镜像导入上传到阿里云。
通过 CreateImage 创建镜像 , 支持三种方式
应用扩容,扩容是最常见的运维操作之一,使用ECS做应用扩容的典型方式之一就是通过自定义镜像快速创建弹性ECS,大致过程如下:
混合云部署,典型的混合云场景是单一公有云+私有云,为了实现云上及线下资源同步,这个时候可以借助镜像导入导出能力,以公有云镜像导出到私有云为例,大致过程如下:
为了保证导入镜像创建ECS的成功率,导入前需特别关注
将云上ECS的系统及软件环境复制到线下环境。
通过控制台/API将自定义镜像复制到指定地域
镜像复制的本质是快照的复制,所以会占用用户快照容量quota,且快照目前已收费,会产生一定的快照费用。
共享镜像本质上是自定义镜像,阿里云不保证完整性及安全性,用户使用共享镜像要谨慎!
目前仅支持镜像名称与描述的修改。
上文介绍了镜像的创建,导入,导出,复制等基础能力,下文将重点介绍ECS镜像生态体系。
__用户数据即UserData(下文了为了简化统一使用UserData)__,是阿里云 ECS 提供的一种自定义实例启动行为及传入数据的功能,该功能兼容 Windows 实例及 Linux 实例,主要有两种用途:
举个例子,使用UserData配置yum源,DNS,NTP,脚本如下。
#!/bin/sh# Modify DNSecho "nameserver 8.8.8.8" | tee /etc/resolv.conf# Modify yum repo and updaterm -rf /etc/yum.repos.d/*touch myrepo.repoecho "[base]" | tee /etc/yum.repos.d/myrepo.repoecho "name=myrepo" | tee -a /etc/yum.repos.d/myrepo.repoecho "baseurl=http://mirror.centos.org/centos" | tee -a /etc/yum.repos.d/myrepo.repoecho "gpgcheck=0" | tee -a /etc/yum.repos.d/myrepo.repoecho "enabled=1" | tee -a /etc/yum.repos.d/myrepo.repoyum update -y# Modify NTP Serverecho "server ntp1.aliyun.com" | tee /etc/ntp.confsystemctl restart ntpd.service
UserData将会在ECS启动时由Cloudinit进行调度配置。
当然我们在vm内部也可以访问到UserData,有以下两种方式:
__Cloudinit组件__,开源项目,本质上是一系列python脚本及组件用来在云主机启动时配置ECS, 阿里云的系统镜像默认都安装了Cloudinit组件,我们也建议用户自定义镜像安装cloudinit。
可以理解为Cloudinit是UserData的执行引擎。
更多可以参考 。
实例标识提供了一种验证ECS身份的机制,用户可以通过验证ECS身份为阿里云ECS来做一些事情,比如镜像或者软件的license控制,更多可以参考 。
可以帮助用户完成从线下物理资源或者其它云厂商到阿里云云资源到迁移,即同时支持p2v,v2v。同时迁云工具同时支持windows及linux系统,具体操作可以参考:使用迁云工具将服务器迁移至阿里云。
阿里云2014年5月开始支持第三方ISV上架镜像商品,镜像商品通常由行业内拥有丰富云服务器维护配置到服务商提供且经过阿里云的审核,无论从可用性及安全性均可以得到很好的保障,有以下优势:
后续我们还会陆续提供镜像检测,修复的能力,来帮助用户提升自定义镜像的成功率及降低制作成本。
镜像制作工具Packer实践,我们一起来制作镜像!
转载地址:http://gsdgo.baihongyu.com/