ImportImage_云服务器 ECS_API文档

插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

接口说明

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

  • 您必须提前上传镜像文件到对象存储 OSS。具体操作,请参见上传文件

  • 为避免部分服务器、虚拟机或者云主机的操作系统在导入自定义镜像后,创建的 ECS 实例无法启动,您需要在导入镜像前检查是否需要在源服务器中安装 virtio 驱动。具体操作,请参见安装 virtio 驱动

  • 首次导入镜像时,您必须提前通过访问控制 RAM 授权 ECS 访问您的 OSS Bucket,否则会报错NoSetRoletoECSServiceAccountInvalidOperation.CloudBoxImageImportRoleRequired。分为以下两种场景情况:

    • 不通过云盒导入镜像文件:您可以通过 RAM 管理控制台一键完成授权操作,具体的授权页面,请参见云资源访问授权。您也可以手动完成授权操作,部分操作中策略与权限如下所示。具体操作,请参见账号访问控制

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

        {
        	"Statement": [
        	{
        		"Action": "sts:AssumeRole",
        		"Effect": "Allow",
        		"Principal": {
        		"Service": [
        			"ecs.aliyuncs.com"
        		]
        		}
        	}
        ],
        	"Version": "1"
        }
        
      2. 在该角色下,添加系统策略AliyunECSImageImportRolePolicy。您也可以创建自定义策略,权限必须包含:

        
        {
        	"Version": "1",
        	"Statement": [
        	{
        		"Action": [
        				"oss:GetObject",
        				"oss:GetBucketLocation",
        				"oss:GetBucketInfo"
        	],
        			"Resource": "*",
        			"Effect": "Allow"
        			}
        	]
        }
        
        
    • 通过云盒导入镜像文件:您可以通过 RAM 管理控制台一键完成授权操作,具体的授权页面,请参见云资源访问授权。您也可以手动完成授权操作,部分操作中策略与权限如下所示。具体操作,请参见账号访问控制

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

        {
        	"Statement": [
        	{
        		"Action": "sts:AssumeRole",
        		"Effect": "Allow",
        		"Principal": {
        		"Service": [
        			"ecs.aliyuncs.com"
        		]
        		}
        	}
        ],
        	"Version": "1"
        }
        
      2. 在该角色下,添加系统策略AliyunECSCloudBoxImageImportRolePolicy。您也可以创建自定义策略,权限必须包含:

        
        {
        	"Version": "1",
        	"Statement": [
        	{
        		"Action": [
        				"oss-cloudbox:GetObject",
        				"oss-cloudbox:GetBucketLocation",
        				"oss-cloudbox:GetBucketInfo"
        	],
        			"Resource": "*",
        			"Effect": "Allow"
        			}
        	]
        }
        
        
  • 不能删除正在导入的镜像,只能调用 CancelTask 取消导入镜像任务。

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

  • 参数DiskDeviceMapping.N中 N 的取值范围为 1~17。N 为 1 时表示系统盘,N 为 2~17 时表示数据盘,当 N 大于 17 时系统会自动忽略。

  • 当参数Architecture取值为arm64,或者参数Platform取值为CentOS StreamAnolisAlmaLinuxUOSKylinRocky Linux时,您需要注意:

    • 为了使导入后的镜像支持配置密码或者支持修改密钥对,镜像必须满足以下条件:

      • 操作系统的内核需要支持CONFIG_FW_CFG_SYSFS特性。Linux 社区内核 4.6 版本之后默认支持该特性,CentOS 的内核在 3.10.0-826.el7 版本之后默认支持该特性。您可以在该镜像对应的服务器内运行grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r)命令,如果回显结果中包含CONFIG_FW_CFG_SYSFS=y信息,则说明该镜像中的内核已支持CONFIG_FW_CFG_SYSFS特性。

      • 操作系统中已安装阿里云最新版本 cloud-init。其中,19.1 版本 cloud-init 必须在 19.1.3 版本及以上,部分低版本操作系统中的 0.7.6a 版本 cloud-init 必须在 0.7.6a15 版本及以上。具体操作,请参见安装 cloud-init

      • 操作系统需要支持 SHA-512 加密算法。

    • 为了使导入后的镜像支持扩容云盘与扩容文件系统,镜像必须满足以下条件:

      • 操作系统的内核版本需要高于 3.6 版本。

      • 支持 growpart 命令。支持该命令需要安装cloud-utils-growpart包,不同操作系统安装方式有所不同。具体操作,请参见扩展分区和文件系统(Linux)

      • 支持 resize2fs 命令。支持该命令需要安装e2fsprogs包,该包在操作系统中默认已安装,如果没有安装您需要自行安装。

      • 操作系统中已安装阿里云最新版本 cloud-init。其中,19.1 版本 cloud-init 必须在 19.1.3 版本及以上,部分低版本操作系统中的 0.7.6a 版本 cloud-init 必须在 0.7.6a15 版本及以上。具体操作,请参见安装 cloud-init

  • 如果您待导入的自定义镜像对应的系统架构为 arm64 时,您需要设置其 RTC 时钟使用 UTC 时间标准。具体操作,请参见 Linux 时间和时区说明

  • 强烈建议在导入镜像时配置镜像检测参数,有助于系统帮助优化您的镜像。更多信息,请参见镜像检测概述

流控信息

请求速率为1000/60(s)。更多流控信息,请前往配额中心查看

授权信息

如下是此API对应的授权信息,用于RAM权限策略语句的Action元素中,为RAM用户或RAM角色授予调用此API的权限。请通过 RAM 访问控制设置,使用方法可参考访问控制帮助文档

具体说明如下:展开详情

操作访问级别资源类型条件关键字关联操作
ecs:ImportImage
Update
Image
acs:ecs:{#regionId}:{#accountId}:image/*

请求参数

字段名称字段详情
RegionIdstring

源自定义镜像的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

示例值:cn-hangzhou参考取值来源:
    DescribeRegions
ImageNamestring

镜像名称。长度为 2~128 个字符。必须以大小写字母或中文开头,不能以aliyunacs:开头,不能包含http://或者https://。可以包含数字、半角句号(.)、半角冒号(:)、下划线(_)或者短划线(-)。

示例值:ImageTestName参考取值来源:
    DescribeImages
Descriptionstring

镜像的描述信息。长度为 2~256 个英文或中文字符,不能以http://https://开头。

示例值:TestDescription
Architecturestring

系统架构。取值范围: 展开详情

示例值:x86_64
OSTypestring

操作系统类型。取值范围: 展开详情

示例值:linux
Platformstring

操作系统版本。取值范围: 展开详情

示例值:Aliyun
BootModestring

修改镜像的启动模式。取值范围:展开详情

示例值:BIOS
RoleNamestring

导入镜像时,使用的 RAM 角色名称。

示例值:AliyunECSImageImportDefaultRole参考取值来源:
    DetachInstanceRamRole
    AttachInstanceRamRole
    DescribeInstanceRamRole
LicenseTypestring

导入镜像后,激活操作系统采用的许可证类型。取值范围:展开详情

示例值:Auto
ResourceGroupIdstring

导入镜像所在的企业资源组 ID。

示例值:rg-bp67acfmxazb4p****参考取值来源:
    DescribeSecurityGroups
DiskDeviceMappingarray<object>

创建的自定义镜像信息列表。

子级条数 <= 17
Tagarray<object>

镜像的标签列表。

子级条数 <= 20
DetectionStrategystring

镜像检测策略,不配置此参数时不触发检测。仅支持标准(Standard)检测模式。展开详情

示例值:Standard
StorageLocationArnstring

指定云盒的资源名称(ARN),用于唯一标识云端存储位置。展开详情

示例值:arn:acs:cloudbox:cn-hangzhou:123456:cloudbox/cb-xx***123
DryRunboolean

是否只预检此次请求。取值范围:展开详情

示例值:false
Featuresobject

镜像特性相关属性。

ClientTokenstring

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性

示例值:123e4567-e89b-12d3-a456-426655440000

返回参数

字段名称字段详情
RequestIdstring

请求 ID。

示例值:473469C7-AA6F-4DC5-B3DB-A3DC0DE3****
ImageIdstring

镜像 ID。

示例值:m-bp67acfmxazb4p****
TaskIdstring

导入镜像任务 ID。

示例值:t-bp67acfmxazb4p****
RegionIdstring

地域 ID。

示例值:cn-hangzhou

返回示例

变更历史

相关示例