接口说明
调用该接口时,您需要注意:
-
您必须提前上传镜像文件到对象存储 OSS。具体操作,请参见上传文件。
-
为避免部分服务器、虚拟机或者云主机的操作系统在导入自定义镜像后,创建的 ECS 实例无法启动,您需要在导入镜像前检查是否需要在源服务器中安装 virtio 驱动。具体操作,请参见安装 virtio 驱动。
-
首次导入镜像时,您必须提前通过访问控制 RAM 授权 ECS 访问您的 OSS Bucket,否则会报错
NoSetRoletoECSServiceAccount
或InvalidOperation.CloudBoxImageImportRoleRequired
。分为以下两种场景情况:-
不通过云盒导入镜像文件:您可以通过 RAM 管理控制台一键完成授权操作,具体的授权页面,请参见云资源访问授权。您也可以手动完成授权操作,部分操作中策略与权限如下所示。具体操作,请参见账号访问控制。
-
创建角色
AliyunECSImageImportDefaultRole
(必须是这个名称,否则导入镜像会失败),角色的策略为:{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ecs.aliyuncs.com" ] } } ], "Version": "1" }
-
在该角色下,添加系统策略
AliyunECSImageImportRolePolicy
。您也可以创建自定义策略,权限必须包含:{ "Version": "1", "Statement": [ { "Action": [ "oss:GetObject", "oss:GetBucketLocation", "oss:GetBucketInfo" ], "Resource": "*", "Effect": "Allow" } ] }
-
-
通过云盒导入镜像文件:您可以通过 RAM 管理控制台一键完成授权操作,具体的授权页面,请参见云资源访问授权。您也可以手动完成授权操作,部分操作中策略与权限如下所示。具体操作,请参见账号访问控制。
-
创建角色
AliyunECSCloudBoxImageImportDefaultRole
(必须是这个名称,否则导入镜像会失败),角色的策略为:{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ecs.aliyuncs.com" ] } } ], "Version": "1" }
-
在该角色下,添加系统策略
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 Stream
、Anolis
、AlmaLinux
、UOS
、Kylin
或Rocky 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 时间和时区说明。
-
强烈建议在导入镜像时配置镜像检测参数,有助于系统帮助优化您的镜像。更多信息,请参见镜像检测概述。
流控信息
请求参数
字段名称 | 字段详情 |
---|---|
RegionIdstring | 源自定义镜像的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 示例值:cn-hangzhou参考取值来源: DescribeRegions |
ImageNamestring | 镜像名称。长度为 2~128 个字符。必须以大小写字母或中文开头,不能以 示例值:ImageTestName参考取值来源: DescribeImages |
Descriptionstring | 镜像的描述信息。长度为 2~256 个英文或中文字符,不能以 示例值: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 |