调用CreateReplicationJob为迁移源创建一个迁移任务。
接口说明
- 您只能为在线(Available)状态的迁移源创建迁移任务。
- 每个迁移源仅能关联一个未完成状态的迁移任务。未完成状态包括Ready(未开始)、Running(运行中)、Stopped(已暂停)、Waiting(等待中)、InError(出错)和Expired(已过期)。
- 每个阿里云账号可创建1000个迁移任务。
- 迁移目标类型为镜像时,需指定ImageName、SystemDiskSize、DataDisk参数。
- 使用VPC内网迁移时,VSwitchId参数为必填,VpcId参数为可选。
- 支持迁移源的迁移目标为Docker容器镜像,实现低成本容器化应用迁移。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateReplicationJob |
系统规定参数。取值:CreateReplicationJob。 |
RegionId | String | 是 | cn-hangzhou |
迁移源要迁入的目标阿里云地域ID。 例如,您需要迁移源服务器至杭州,则相应的阿里云地域ID为 |
ClientToken | String | 否 | 123e4567-e89b-12d3-a456-426655440000 |
保证请求幂等性。您可以从客户端生成一个不超过64个ASCII字符的参数值,并将值赋予ClientToken,保证重试请求的幂等性。更多详情,请参见如何保证幂等性。 |
Name | String | 否 | testMigrationTaskName |
迁移任务名。迁移任务的名称需满足以下要求:
|
Description | String | 否 | This_is_a_migration_task |
迁移任务描述。 长度应为2~128个英文或中文字符,必须以大小字母或中文开头,不能以 |
SourceId | String | 是 | s-bp1e2fsl57knvuug**** |
迁移源ID。 |
TargetType | String | 否 | Image |
迁移任务交付的目标类型。取值范围:
|
ScheduledStartTime | String | 否 | 2019-06-04T13:35:00Z |
迁移任务的执行时间。该参数值的设置需满足以下要求:
说明 如果该参数值为空,则SMC不会启动迁移任务,需要您调用StartReplicationJob启动任务。
|
ValidTime | String | 否 | 2019-06-04T13:35:00Z |
迁移任务的过期时间。取值范围:迁移任务创建时间+7天~迁移任务创建时间+90天。
默认值:迁移任务创建时间+30天(表示迁移任务的默认有效期为创建后30天)。 |
ImageName | String | 否 | testAliCloudImageName |
迁移任务交付的目标阿里云镜像名称。目标镜像的名称需满足以下要求:
说明 迁移任务运行过程中,若当前地域已经存在相同名称的镜像,则系统默认给镜像名称添加迁移任务ID(JobId)作为后缀,如:ImageName_j-2zexxxxxxxxxxxxx。
|
InstanceId | String | 否 | i-bp1f1dvfto1sigz5**** |
目标实例ID。 |
SystemDiskSize | Integer | 否 | 80 |
目标阿里云服务器ECS的系统盘大小,单位为GiB。取值范围:20~500。 说明 该参数取值需要大于迁移源系统盘实际占用大小,例如,源系统盘大小为500 GiB,实际占用100 GiB,则该参数取值需大于100 GiB。
|
VpcId | String | 否 | vpc-bp1vwnn14rqpyiczj**** |
已配置高速通道服务或者VPN网关的VPC ID。 |
VSwitchId | String | 否 | vsw-bp1ddbrxdlrcbim46**** |
指定VPC下的虚拟交换机ID。 使用VPC内网迁移时,该参数为必填参数。 |
ReplicationParameters | String | 否 | {"bandwidth_limit":0,"compress_level":1,"checksum":true} |
复制驱动器的参数信息。参数信息为JSON格式键值对,键值固定。最大长度:2048个字符。 复制驱动器是指,复制源服务器数据到中转实例时所使用的工具。不同复制驱动器支持参数可能不同。复制驱动器SMT目前支持以下参数:
复制驱动器的取值,请参见DescribeSourceServers的返回参数 |
NetMode | Integer | 否 | 0 |
数据传输网络模式。取值范围:
默认值:0。 |
RunOnce | Boolean | 否 | true |
创建一次性迁移任务还是增量迁移任务。取值范围:
说明 该参数值只能在创建迁移任务时指定。参数值一经指定,则无法更改。
|
Frequency | Integer | 否 | 12 |
增量迁移任务运行的时间间隔,单位:小时。取值范围:1~168。
默认值:无。 |
MaxNumberOfImageToKeep | Integer | 否 | 10 |
增量迁移任务默认保留的最大镜像数。取值范围:1~10。
默认值:无。 |
InstanceType | String | 否 | ecs.c6.large |
中转实例的实例规格。 调用DescribeInstanceTypes可查询云服务器ECS提供的实例规格。
|
LaunchTemplateId | String | 否 | lt-bp16jovvln1cgaaq**** |
实例启动模板ID。 |
LaunchTemplateVersion | String | 否 | 1 |
实例启动模板的版本。 |
InstanceRamRole | String | 否 | SMCAdmin |
实例RAM角色名称。 |
ContainerNamespace | String | 否 | testNamespace |
Docker的命名空间。关于Docker容器镜像详情请参见容器镜像服务。 |
ContainerRepository | String | 否 | testRepository |
Docker的镜像仓库。关于Docker容器镜像详情请参见容器镜像服务。 |
ContainerTag | String | 否 | CentOS:v1 |
Docker的镜像标签。关于Docker容器镜像详情请参见容器镜像服务。 |
LicenseType | String | 否 | BYOL |
许可证类型。取值范围:
更多信息,请参见SMC FAQ。 |
DataDisk.N.Index | Integer | 否 | 1 |
目标阿里云服务器ECS的数据盘顺序。初始值为1。取值范围:1~16 说明 您只能为迁移源中存在的数据盘创建目标数据盘。
|
DataDisk.N.Part.N.SizeBytes | Long | 否 | 254803968 |
目标数据盘N分区N的大小。单位:Byte。默认为源数据盘分区大小。 说明
|
DataDisk.N.Part.N.Block | Boolean | 否 | true |
数据盘N分区N是否开启块复制。取值范围:
默认值:true。 |
DataDisk.N.Part.N.Device | String | 否 | 0_1 |
目标数据盘N分区N对应的分区设备标识。N的实际取值请参考迁移源的分区设备标识。 说明 当
DataDisk.N.Part.N.SizeBytes 不为空时,该参数也不能为空。
|
DataDisk.N.Size | Integer | 否 | 100 |
目标阿里云服务器ECS的数据盘大小,单位为GiB。取值范围:20~32768。 说明 该参数取值需要大于迁移源数据盘实际占用大小。例如,源数据盘大小为500 GiB,实际占用100 GiB,则该参数取值需大于100 GiB。
|
Tag.N.Key | String | 否 | TestKey |
迁移任务的标签键。N的取值范围:1~20 一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以 |
Tag.N.Value | String | 否 | TestValue |
迁移任务的标签值。N的取值范围:1~20。 一旦传入该值,可以为空字符串。最多支持128个字符,不能以 |
SystemDiskPart.N.SizeBytes | Long | 否 | 254803968 |
系统盘分区N大小。单位:Byte。默认为源系统盘分区大小。 说明
|
SystemDiskPart.N.Block | Boolean | 否 | true |
系统盘分区N是否开启块复制。取值范围:
默认值:true。 |
SystemDiskPart.N.Device | String | 否 | 0_1 |
目标系统盘分区N设备标识。N的实际取值请参考迁移源的分区设备标识。 说明 当
SystemDiskPart.N.SizeBytes 不为空时,该参数也不能为空。
|
JobType | Integer | 否 | 0 |
迁移任务的类型。取值范围:
|
ResourceGroupId | String | 否 | rg-acfmw3ty5y7**** |
资源组ID。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | C8B26B44-0189-443E-9816-D951F59623A9 |
请求ID。 |
JobId | String | j-bp17bclvg344jlyt**** |
迁移任务ID。 |
示例
请求示例
http(s)://smc.aliyuncs.com/?Action=CreateReplicationJob
&RegionId=cn-hangzhou
&ClientToken=123e4567-e89b-12d3-a456-426655440000
&Name=testMigrationTaskName
&Description=This_is_a_migration_task
&SourceId=s-bp1e2fsl57knvuug****
&TargetType=Image
&ScheduledStartTime=2019-06-04T13:35:00Z
&ValidTime=2019-06-04T13:35:00Z
&ImageName=testAliCloudImageName
&InstanceId=i-bp1f1dvfto1sigz5****
&SystemDiskSize=80
&VpcId=vpc-bp1vwnn14rqpyiczj****
&VSwitchId=vsw-bp1ddbrxdlrcbim46****
&ReplicationParameters={"bandwidth_limit":0,"compress_level":1,"checksum":true}
&NetMode=0
&RunOnce=true
&Frequency=12
&MaxNumberOfImageToKeep=10
&InstanceType=ecs.c6.large
&LaunchTemplateId=lt-bp16jovvln1cgaaq****
&LaunchTemplateVersion=1
&InstanceRamRole=SMCAdmin
&ContainerNamespace=testNamespace
&ContainerRepository=testRepository
&ContainerTag=CentOS:v1
&LicenseType=BYOL
&DataDisk=[{"Index":1,"Part":[{"SizeBytes":254803968,"Block":true,"Device":"0_1"}],"Size":100}]
&Tag=[{"Key":"TestKey","Value":"TestValue"}]
&SystemDiskPart=[{"SizeBytes":254803968,"Block":true,"Device":"0_1"}]
&JobType=0
&ResourceGroupId=rg-acfmw3ty5y7****
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateReplicationJobResponse>
<RequestId>C8B26B44-0189-443E-9816-D951F59623A9</RequestId>
<JobId>j-bp17bclvg344jlyt****</JobId>
</CreateReplicationJobResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "C8B26B44-0189-443E-9816-D951F59623A9",
"JobId" : "j-bp17bclvg344jlyt****"
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | SourceServerState.Invalid | The specified source server status is invalid. | 无效的迁移源状态。 |
400 | ReplicationJobDataDiskIndex.Invalid | The specified replication job contains data disk index not found in source server. | 迁移任务包含的数据盘索引在迁移源中不存在。 |
400 | VSwitchIdVpcId.Mismatch | The specified VSwitchId and VpcId does not match. | 指定的VSwitchId和VpcId不匹配。 |
400 | InvalidSecurityGroupId.IncorrectNetworkType | The network type of the specified security group does not support this action. | 安全组网络类型不支持该操作,请检查安全组网络类型。 |
400 | InvalidSecurityGroupId.VPCMismatch | The specified security group and the specified virtual switch are not in the same VPC. | 指定的安全组和交换机不在一个专有网络。 |
400 | QuotaExceeded.ReplicationJob | The maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota. | 迁移任务的数量已超过最大允许值,请提交工单。 |
400 | ReplicationJobName.Duplicate | The specified replication job name already exists. | 迁移任务名称已存在,请修改迁移任务名称。 |
500 | InternalError | An error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket. | 内部错误,请重试。如果多次尝试失败,请提交工单。 |
访问错误中心查看更多错误码。