本文为您介绍如何通过资源编排服务(ROS)为ECS资源指定镜像。

前提条件

进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

背景信息

当您使用以下四种资源类型创建ECS时,需要为相应的ECS资源指定镜像:
在编辑资源栈模板时,可通过以下三种方式指定ImageId:
  • 直接指定需要的具体镜像ID
  • 通过模糊的方式指定需要的镜像
  • 通过镜像参数的AssociationProperty属性,选择当前可用的镜像

直接指定需要的具体镜像ID

如果您明确知道需要的镜像ID,则直接指定这个ImageId即可。每一个Region下,当前可用的镜像ID都可以在ROS控制台查到。

  1. 登录资源编排控制台
  2. 在左侧导航栏,单击ECS实例相关信息
  3. 单击ECS镜像
    页面上即展示当前用户可用的镜像ID。
  4. 在模板中,指定ImageId做为您需要的某个镜像ID。
    "ImageId": { "Type": "String", "Description": "Image Id, represents the image resource to startup one ECS instance", "Default": "centos_7_04_64_20G_alibase_201701015.vhd" },

通过模糊的方式指定需要的镜像

如果对镜像的版本没有要求(只要是CentOS或者Ubuntu系列即可),则可以使用模糊指定的方式指定镜像ID。ROS会根据输入的镜像值,匹配最合适的镜像ID。

匹配的规则如下:

  • 如果只指定镜像的系列,例如CentOS、Win或Ubuntu,则会匹配当前最高版本的64位镜像。
  • 如果指定镜像同时指定了镜像的大版本号,例如CentOS_6、Ubutun_14或Win2008r2,则会选择在CentOS 6中64位的最新版本;Ubuntu 14中64位的最新版本;Win2008r2中64位的最新版本。
  • 可以使用星号(*)替代镜像ID中的某个字段,例如centos_6_09_64_20G_alibase*.vhd,则会使用公共镜像中最新的 centos_6_09_64_20G_alibase版本。 在ROS的模板样例中就使用的模糊匹配的方式。很多涉及到指定镜像的地方,都是以CentOS_7或者Ubuntu_14指定。

示例如下:

"ImageId": {
   "Type": "String",
   "Description": "ECS Image",
   "Label": "ECS Image",
   "Default": "centos_7"
 },

通过镜像参数的AssociationProperty属性,选择当前可用的镜像

如果通过在模板的参数(Parameter)段,把ECS的镜像ID定义成一个参数,则可以在定义参数的时候添加AssociationProperty指定。ROS在做参数解析的时候,能自动以列表的形式,展示当前Region下有哪些可用的镜像ID,您只需要选择即可。

使用AssociationProperty定义参数的示例如下:

   "ImageId": {
      "AssociationProperty":"ALIYUN::ECS::Instance:ImageId",
      "Type" : "String",
      "Default": "centos_7_04_64_20G_alibase_201701016.vhd",
      "Description": " 自动获取可选择的镜像 ID"
    }            

当在ROS控制台中根据模板创建资源栈时,需要输入镜像ID时候,当前Region下所有的镜像ID都会被列出。


镜像ID

除显示可选镜像参数以外,同时会提示镜像ID参数的默认值,或者AllowedValues中指定的值是否可用。选择合适的镜像ID即可创建ECS资源。