镜像族系(ImageFamily)简介
阿里云镜像服务提供的镜像族系功能,为用户提供了镜像分组与镜像平滑升级、回滚的能力。用户在使用 CreateImage 接口创建镜像时,可以通过配置 ImageFamily 参数的方式,指定镜像所在的镜像族系。带有镜像族系属性的镜像创建好以后,用户在使用 CreateInstance 或 RunInstances 接口时,可以通过配置 ImageFamily 参数替换 ImageId 参数来创建实例,系统会选择当前镜像族系中最新创建的 Available 状态的自定义镜像来创建ECS实例。通过使用镜像族系功能,用户不再需要关心更新后的镜像ID是多少,就可以使用最新的镜像来创建实例。用户还可以通过弃用(ModifyImageAttribute)镜像族系内最新镜像的方式,来回滚镜像族系内的镜像到上一个版本,被弃用的镜像可以再次恢复为可用状态。
最佳实践
配置镜像族系
通过 CreateImage 接口或者 ECS控制台 的方式来创建镜像,并在创建镜像时配置 ImageFamily 参数,如下图:
在自定义镜像列表页可以看到创建的自定义镜像及对应的镜像族系信息,如下图:
通过指定镜像族系的方式可以过滤出关联的镜像信息,如下图:
通过镜像族系创建ECS实例
在使用 CreateInstance 接口 或 RunInstances 接口时,通过指定镜像族系的方式来创建ECS实例,系统会选择指定镜像族系内 最新的可用自定义镜像 来创建ECS实例,此时不能再配置镜像ID。ECS售卖页暂未开放此参数,敬请期待!!!
镜像升级
当需要对镜像族系内镜像进行升级时,可以通过指定镜像族系创建一个新的自定义镜像的方式完成,如下图所示:
上图中,镜像族系 hangzhou_v1 内有两个镜像,一个镜像状态是可用状态,一个镜像状态是创建中状态,如果您此时通过指定 hangzhou_v1 镜像族系的方式来创建ECS实例,系统会选择可用状态的镜像来创建ECS实例。
待镜像创建完成后,变成可用状态,如下图所示:
如果此时您再通过指定 hangzhou_v1 镜像族系的方式来创建ECS实例,系统会选择最新创建的可用镜像来创建ECS实例
镜像回滚
您可以通过弃用镜像操作来弃用当前镜像族系中最新的可用镜像来回滚镜像到上一个版本,如下图所示:
上图中,镜像族系 hangzhou_v1 内存在一个可用镜像,一个弃用镜像,您如果指定 hangzhou_v1 镜像族系的方式来创建实例时,系统会选择最新创建且是可用状态的镜像来创建ECS实例。如果您想再次选用上面被弃用的这个镜像来创建实例时,您可以通过恢复可用操作来将弃用的镜像重新置为可用,如下图所示:
此时,您如果指定 hangzhou_v1 镜像族系来创建实例,系统会选择恢复可用状态的这个最新的可用自定义镜像来创建ECS实例。
查询镜像族系内最新的可用自定义镜像
上述提到的最新镜像,是指最后一次创建的镜像。通过使用 DescribeImageFromFamily 接口,可以返回指定族系内最新可用的自定义镜像,如果不存在,则返回空。
使用限制及说明
• 镜像的镜像族系属性一旦设置,不允许删除,可以编辑修改
• CreateInstance 接口 或 RunInstances 接口中的 ImageFamily 参数仅适用于用户自定义镜像的场景
• 同一个镜像族系内,自定义镜像数量不能超过100
• 同一个地域下,存在镜像的镜像族系数量不能超过100
• 如果镜像已经共享给其它用户,需要先解除共享,才允许修改为弃用状态,
• 弃用状态的镜像不允许共享给其它用户
• 弃用状态镜像可用来进行创建实例、更换系统盘操作,但是不允许进行拷贝