导入您已有的镜像文件到云服务器 ECS,并作为自定义镜像出现在相应地域中。导入成功后,您可以使用创建的自定义镜像创建 ECS 实例(RunInstances)或者更换实例的系统盘(ReplaceSystemDisk)。

描述

调用该接口时,您需要注意:

  • 您必须提前 上传镜像文件到对象存储 OSS

  • 导入镜像的地域必须跟镜像文件上传的 OSS Bucket 的地域相同。

  • 参数 DiskDeviceMapping.n 中 n 的取值范围为 [1, 17]。n 为 1 时表示系统盘,n 为 [2, 17] 时表示数据盘。

  • 您不能删除正在导入的镜像,只能取消导入镜像任务(CancelTask)。

  • 您需要预先通过 访问控制 RAM 服务为您授权 ECS 访问 OSS。参阅以下步骤:

    1. 创建角色 AliyunECSImageImportDefaultRole必须是这个名称,否则导入镜像会失败。角色的策略为:

      {
      "Statement": [
      {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
       "Service": [
         "ecs.aliyuncs.com"
       ]
      }
      }
      ],
      "Version": "1"
      }
    2. 在该角色下,添加权限策略 AliyunECSImageImportRolePolicy。这个策略是 ECS 导入镜像功能的默认策略,或者您也可以创建自定义策略,权限需要包含:

      {
      "Version": "1",
      "Statement": [
      {
      "Action": [
       "oss:GetObject",
       "oss:GetBucketLocation"
      ],
      "Resource": "*",
      "Effect": "Allow"
      }
      ]
      }

请求参数

名称 类型 是否必需 描述
Action String 系统规定参数。取值:ImportImage
RegionId String 源自定义镜像的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。
ImageName String 镜像名称。
  • 长度为 [2, 128] 个大小写英文或中文字符,必须以大小字母或中文开头,可包含数字、点号(.)、半角冒号(:)、下划线(_)或连字符(-)。
  • 镜像名称会显示在控制台。
  • 不能以 http:// 和 https:// 开头。
Description String 镜像的描述信息。
  • 长度为 [0, 256] 个大小写英文或中文字符。
  • 不能以 http:// 和 https:// 开头。
Architecture String 系统架构。取值范围:
  • i386
  • x86_64
默认值:x86_64
OSType String 操作系统平台类型。取值范围:
  • windows
  • linux
默认值:linux
Platform String 操作系统发行版。取值范围:
  • CentOS
  • Ubuntu
  • SUSE
  • OpenSUSE
  • Debian
  • CoreOS
  • Aliyun
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2012
  • Others Linux
  • Customized Linux
默认值:Others Linux
DiskDeviceMapping.n.Format String 镜像格式。取值范围:
  • RAW
  • VHD
导入镜像时,系统自动检测镜像格式,以检测格式为准。
DiskDeviceMapping.n.OSSBucket String 镜像文件所在的 OSS Bucket。
DiskDeviceMapping.n.OSSObject String 镜像文件所在的 OSS Object 的文件名称(key)。
DiskDeviceMapping.n.DiskImageSize String 镜像大小。必须确保系统盘空间 ≥ 文件系统空间。取值范围:
  • n = 1 时,即系统盘:[5, 500] GB
  • n = [2, 17] 时,即数据盘:[5, 1000] GB
导入镜像时,系统自动检测镜像大小,以检测结果为准。

返回参数

名称 类型 描述
RegionId String 地域 ID
ImageId String 镜像 ID
ImportTaskId String 导入镜像任务 ID

示例

请求示例
https://ecs.aliyuncs.com/?Action=ImportImage
&RegionId=cn-hangzhou
&DiskDeviceMapping.1.OSSBucket=ecsimageos
&DiskDeviceMapping.1.OSSObject=CentOS_5.4_32.raw
&<公共请求参数>
返回示例

XML 格式

<ImportImageResponse>
    <RequestId>C8B26B44-0189-443E-9816-D951F59623A9</RequestId>
    <ImageId>Img-231234567</ImageId>
    <ImportTaskId>123-345-2332-22323</ImportTaskId>
</ImportImageResponse>
JSON 格式
{
    "RequestId": "C8B26B44-0189-443E-9816-D951F59623A9",
    "ImageId": "Img-231234567",
    "ImportTaskId":"123-345-2332-22323"
}

错误码

以下为本接口特有的错误码。更多错误码,请访问 API 错误中心

错误代码 错误信息 HTTP 状态码 说明
Forbbiden User not authorized to operate on the specified resource 400 您暂时无法导入镜像。

提交工单 联系阿里云,为您开启导入镜像功能。

IncorrectImageStatus The specified image is not available. 400 指定的镜像状态不正确。
InvalidArchitecture.Malformed The specified Architecture is wrongly formed. 400 指定的参数 Architecture 不合法。
InvalidDescription.Malformed The specified destination image description is wrongly formed. 400 指定的参数 Description 不合法。
InvalidFormat.Malformed The specified Image format is wrongly formed. 400 指定的镜像文件格式不合法。
InvalidImageName.Duplicated The destination image is exist. 400 镜像名称已经重复。
InvalidImageName.Malformed The specified destination Image name is wrongly formed. 400 指定的参数 ImageName 格式有误。
InvalidImageSize The specified “DiskDeviceMapping.n.DiskImageSize” should be not less than system device size. 400 指定的参数 DiskDeviceMapping.n.DiskImageSize取值必须大于实际的磁盘大小。
InvalidOSType.Malformed The specified OSType is wrongly formed. 400 指定的参数 OSType 不合法。
InvalidPlatform.Malformed The specified Platform is wrongly formed. 400 指定的参数 Platform 不合法。
MissingParameter An input parameter “RegionId” that is mandatory for processing the request is not supplied. 400 您需要指定必需参数 RegionId
MissingParameter An input parameter “DiskDeviceMapping.n.OSSBucket” that is mandatory for processing the request is not supplied. 400 您需要指定必需参数 OSSBucket
MissingParameter An input parameter “DiskDeviceMapping.n.OSSObject” that is mandatory for processing the request is not supplied. 400 您需要指定必需参数 OSSObject
RegionId.NotFound The specified region is not found. 400 指定的 RegionId 不存在。
ImageIsImporting The specified Image is importing. 403 指定的镜像正在被复制中。请稍后再试。
InvalidRegion.NotSupport The specified region does not support image import or export. 403 指定的地域暂时不支持导入镜像功能。
QuotaExceed.Image The Image Quota exceeds. 403 您的自定义镜像数已超出最高限制,不能再导入镜像。
QuotaExceed.Snapshot The maximum number of snapshots is exceeded. 403 您的快照数已超出最高限制,不能再导入镜像。