ECS镜像(一)镜像产品及生态概览

简介: ECS 镜像(Image)是云服务器ECS运行环境的模版,其重要性不言而喻。为了更好的提升用户云上体验,阿里云在镜像服务能力及生态能力方面做了很多工作,下文将整体上从两个方面介绍ECS镜像: 镜像产品能力,可以通过镜像做什么?ECS针对镜像提供了哪些服务能力? 镜像产品生态,围绕镜像和ECS衍生了哪些产品?通过这些产品可以对用户产生哪些价值? 带着这些问题,让我们开始ECS镜像之旅。

ECS 镜像(Image)是云服务器ECS运行环境的模版,其重要性不言而喻。为了更好的提升用户云上体验,阿里云在镜像服务能力及生态能力方面做了很多工作,下文将整体上从两个方面介绍ECS镜像:

  1. 镜像产品能力,可以通过镜像做什么?ECS针对镜像提供了哪些服务能力?
  2. 镜像产品生态,围绕镜像和ECS衍生了哪些产品?通过这些产品可以对用户产生哪些价值?

带着这些问题,让我们开始ECS镜像之旅。

镜像产品

ECS镜像.png | center | 745x714

镜像分类

image.png | left | 748x138

如上图所示,在新购ECS的选择镜像的时候有四个分类,分别为系统镜像,市场镜像,自定义镜像,共享镜像。那么它们有何区别?我们该如何选择镜像呢?下面我们先对四种镜像类型做一个对比:

镜像类型
可用性
安全性
费用
限制
系统镜像
阿里云官方维护,经过严格的测试及
生产验证,可用性非常高。
免费
市场镜像
优质的第三方服务商提供,经过阿里云审核后上架,同时有售后技术支持,可用性通常较高。
较高
收费/免费
自定义镜像
由用户基于快照创建或者通过镜像导入方式上传,质量完全由用户自己把控,可用性稍差。
免费(基于市场镜像做的自定义镜像除外)
quota限制
共享镜像
共享镜像源不会经过阿里云官方审核,稳定性及安全性得不到保证。
免费(基于市场镜像做的自定义镜像除外)
quota限制

如果从从实践方面考虑,选择镜像建议是:

  1. 只需要一个纯净的OS环境,选择官方系统镜像。
  2. 需要一个完整的软件环境,比如PHP架构 LAMP,选择镜像市场。
  3. 希望基于当前实例配置复制新实例,使用自定义镜像。
  4. 希望将镜像共享给其它云账号,使用共享镜像。

镜像产品能力

阿里云镜像为了满足用户多种业务场景的需求,从OpenAPI到控制台均提供了完备的产品能力。

创建镜像

用途:通过创建镜像将ECS系统及软件环境打包,从而实现快速复制ECS的能力;实现云上及线下镜像资源的同步。

目前​用户制作镜像有两种方式,一种为基于阿里云的ECS实例及快照制作,另外一种是线下制作通过镜像导入上传到阿里云。

在线:通过ECS实例或系统盘快照制作

通过 CreateImage 创建镜像 , 支持三种方式

  • 基于ECS实例创建
  • 基于系统盘快照创建
  • 基于系统盘+数据盘快照创建(全镜像)
离线:线下制作通过镜像导入上传
典型场景
  • 应用扩容,扩容是最常见的运维操作之一,使用ECS做应用扩容的典型方式之一就是通过自定义镜像快速创建弹性ECS,大致过程如下:

    • 用户基于一台运行中了其扩容应用的ECS的实例制作自定义镜像,镜像完成后,用户将会得到一份完整的包含了系统+软件的镜像数据。
    • 使用自定义镜像创建所需的ECS,ECS启动成功后,引流到扩容ECS,比如挂载到类似slb的负载均衡设备。
  • 混合云部署,典型的混合云场景是单一公有云+私有云,为了实现云上及线下资源同步,这个时候可以借助镜像导入导出能力,以公有云镜像导出到私有云为例,大致过程如下:

    • 基于ECS或者系统盘镜像制作自定义镜像
    • 将自定义镜像导出到OSS
    • OSS下载镜像到私有云环境使用

导入镜像

用途:将线下的镜像导入到阿里云环境用于创建ECS
步骤:
  1. 建议参考 导入镜像注意事项 ,检测镜像是否满足需求。
  2. 建议安装cloud-init以保证镜像的hostname,yum源等配置正确,参考cloud-init安装手册
  3. 检测镜像格式是否为vhd或者raw(qcow2格式即将支持),如果不是先将格式转换为vhd或者raw, 镜像转换可以参考 使用qemu-img转换镜像格式
  4. 将​镜像上传至同一地域的OSS,参考镜像导入手册进行导入操作。
  5. 控制台查看导入进度,进度100%后镜像可用,通常镜像的导入时间取决于镜像大小,请耐心等待。

为了保证导入镜像创建ECS的成功率,导入前需特别关注导入镜像注意事项

典型场景
  • 上云,从计算资源从线下迁移到云上,可以借助导入自定义镜像到云上到方式,导入成功后即可通过镜像创建ECS。

导出镜像

用途:将阿里云自定义镜像在线下集群或者私有云环境使用,可以使用镜像导出功能。
步骤:
  1. 首先通过在线创建自定义镜像
  2. 镜像状态可用时,通过镜像导出 功能将其导出到同一地域到OSS中
  3. 将OSS文件下载到线下环境使用
典型场景

将云上ECS的系统及软件环境复制到线下环境。

复制镜像

用途:跨地域使用相同的自定义镜像创建ECS
步骤:
  1. 创建自定义镜像
  2. 通过控制台/API将自定义镜像复制到指定地域

    1. 只支持复制到本地域外到其它中国大陆地域
    2. 复制到海外地域需要 提工单申请
  3. 复制操作成功后需耐心等待复制任务进度完成,耗时通常取决于镜像大小及地域。

镜像复制的本质是快照的复制,所以会占用用户快照容量quota,且快照目前已收费,会产生一定的快照费用。

典型场景
  • 应用多地域部署,随之应用高可用及国际化的趋势,部署方式上通常需要多地域+海外节点部署,快速实现跨地域克隆ECS的方式之一就是通过镜像复制将一个镜像复制到多个地域,通过自定义镜像快速创建ECS。

共享镜像

用途:将镜像共享给其它阿里云账号
步骤:
  1. 镜像owner将镜像授权给指定阿里云账号,最多授权50个用户。
  2. 授权用户可以查询到共享镜像且使用其创建ECS

共享镜像本质上是自定义镜像,阿里云不保证完整性及安全性,用户使用共享镜像要谨慎!

修改镜像

目前仅支持镜像名称与描述的修改。

镜像生态

镜像生态.png | center | 748x300

上文介绍了镜像的创建,导入,导出,复制等基础能力,下文将重点介绍ECS镜像生态体系。

用户数据与Cloudinit

用户数据

__用户数据即UserData(下文了为了简化统一使用UserData)__,是阿里云 ECS 提供的一种自定义实例启动行为及传入数据的功能,该功能兼容 Windows 实例及 Linux 实例,主要有两种用途:

  • 作为实例自定义脚本,在启动实例时执行。
  • 作为普通数据,将一定的信息传入实例中,您可以在实例中引用这些数据。

举个例子,使用UserData配置yum源,DNS,NTP,脚本如下。

#!/bin/sh
# Modify DNS
echo "nameserver 8.8.8.8" | tee /etc/resolv.conf
# Modify yum repo and update
rm -rf /etc/yum.repos.d/*
touch myrepo.repo
echo "[base]" | tee /etc/yum.repos.d/myrepo.repo
echo "name=myrepo" | tee -a /etc/yum.repos.d/myrepo.repo
echo "baseurl=http://mirror.centos.org/centos" | tee -a /etc/yum.repos.d/myrepo.repo
echo "gpgcheck=0" | tee -a /etc/yum.repos.d/myrepo.repo
echo "enabled=1" | tee -a /etc/yum.repos.d/myrepo.repo
yum update -y
# Modify NTP Server
echo "server ntp1.aliyun.com" | tee /etc/ntp.conf
systemctl restart ntpd.service

UserData将会在ECS启动时由Cloudinit进行调度配置。

当然我们在vm内部也可以访问到UserData,有以下两种方式:

  • 访问 100.100.100.200/latest/user-data 获取
  • 查看文件 /var/lib/cloud/instance/user-data.txt

Cloudinit

__Cloudinit组件__,开源项目,本质上是一系列python脚本及组件用来在云主机启动时配置ECS, 阿里云的系统镜像默认都安装了Cloudinit组件,我们也建议用户自定义镜像安装cloudinit。

可以理解为Cloudinit是UserData的执行引擎。

更多可以参考 userdata for ECS使用场景

实例标识

实例标识提供了一种验证ECS身份的机制,用户可以通过验证ECS身份为阿里云ECS来做一些事情,比如镜像或者软件的license控制,更多可以参考 ECS实例标识介绍及实践

迁云工具

可以帮助用户完成从线下物理资源或者其它云厂商到阿里云云资源到迁移,即同时支持p2v,v2v。同时迁云工具同时支持windows及linux系统,具体操作可以参考:使用迁云工具将服务器迁移至阿里云。

镜像商品

阿里云2014年5月开始支持第三方ISV上架镜像商品,镜像商品通常由行业内拥有丰富云服务器维护配置到服务商提供且经过阿里云的审核,无论从可用性及安全性均可以得到很好的保障,有以下优势:

  • 按需定制软件环境,可以实现一键部署。
  • 可用性及安全性高,阿里云审核保障镜像安全性。
  • 镜像商品有完善的售后技术支持。
  • 计费模式灵活,目前支持:后付费,按量计费;包月;包周

其它

后续我们还会陆续提供镜像检测,修复的能力,来帮助用户提升自定义镜像的成功率及降低制作成本。

下期看点

镜像制作工具Packer实践,我们一起来制作镜像!

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
15天前
|
编解码 小程序
无影云电脑产品使用黑神话悟空之:游戏服务器更新/配置问题
该文档主要介绍了使用无影云电脑玩《黑神话:悟空》时可能遇到的问题及解决方法,包括游戏服务器更新、配置问题、画质建议及如何开启帧数显示等内容,并提供了详细的步骤指导与参考链接。
|
16天前
|
弹性计算 Linux 网络安全
阿里云ECS健康诊断产品详解
介绍阿里云ECS健康诊断产品详情和使用案例,包括各个产品概念、控制、OpenAPI、SDK等。
|
16天前
|
消息中间件 弹性计算 运维
阿里云ECS事件通知产品详解
介绍阿里云ECS事件通知产品的详情和使用案例,包括控制台、OpenAPI、调试等。
|
15天前
|
存储 弹性计算 监控
阿里云ECS健康状态产品详解
详细介绍阿里云ECS健康状态的功能和使用案例
|
1月前
|
云安全 弹性计算 安全
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器不仅提供了一些基础防护,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为大家介绍一下阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品。
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
|
1月前
|
弹性计算 Ubuntu 安全
阿里云服务器镜像选择全指南:不同类型的镜像区别及选择参考
阿里云服务器镜像,作为ECS实例的“装机盘”,不仅提供了操作系统,还包含了初始化应用数据和预装软件。选择合适的镜像对于云服务器的性能和稳定性至关重要。本文将详细解析阿里云服务器提供的多种镜像类型,包括公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像,以供参考和选择。
阿里云服务器镜像选择全指南:不同类型的镜像区别及选择参考
|
1月前
|
弹性计算 JSON 开发工具
"一键玩转阿里云ECS!Python大神揭秘:如何自动化创建镜像并跨地域复制,让你的云资源部署秒变高效达人!"
【8月更文挑战第14天】本文介绍如何使用Python与阿里云SDK自动化管理ECS镜像,包括创建镜像及跨地域复制,以优化云资源部署。首先安装`aliyun-python-sdk-ecs`并配置阿里云凭证。接着,通过Python脚本实现镜像创建与复制功能,简化日常运维工作并增强灾难恢复能力。注意权限及费用问题。
42 2
|
1月前
|
弹性计算 Ubuntu Linux
阿里云服务器镜像怎么选择?什么是镜像?
阿里云服务器镜像是云服务器的操作系统与预装软件集合,决定服务器的功能与性能。阿里云提供多种镜像类型:公共镜像为官方认证的基础系统;自定义镜像由用户个性化定制;共享镜像则由其他用户共享;云市场镜像包含预装软件;社区镜像来自用户社区贡献。选择镜像时需考虑应用需求、系统资源占用及个人技能水平。推荐Linux用户选用Alibaba Cloud Linux,其针对云服务器进行了优化并享有长期支持;Windows用户可选择新版Windows Server以获得最佳体验。此外,阿里云允许中国大陆地区的服务器免费无限次更换操作系统,非大陆地区则有一定的限制。
141 1
|
2月前
|
弹性计算 NoSQL Shell
云服务器 ECS产品使用问题之执行sh 56.sh报错,该如何解决
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2月前
|
弹性计算 Java 应用服务中间件
云服务器 ECS产品使用问题之变更服务器配置时一直显示400异常报错,该怎么办
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。

相关产品

  • 云服务器 ECS