本文介绍在使用数据迁移服务MMS(MaxCompute Migration Service)前的准备工作。
前提条件
- 已准备好待迁移数据。 重要- 在数据迁移前需停止数据源端表和分区的写入操作,避免迁移后数据校验失败。 
操作步骤
- 开通VPC网络连接。 - 在MaxCompute控制台,选择,然后单击新增网络连接。具体操作,请参见网络开通流程。 说明- 需确保使用的VPC能访问互联网或者源端专线,详情请参见使用公网NAT网关SNAT功能访问互联网。 
- 在首次使用MMS前,需创建服务关联角色(AliyunServiceRoleForMaxComputeMMS)。 说明- 阿里云账号可直接操作,RAM用户需要具备RAM用户管理的相关权限才支持创建服务关联角色。 - 通过MaxCompute控制台- 在MaxCompute控制台,选择。 
- 在数据源页签,单击新增数据源。 
- 在弹出的MaxCompute服务关联角色对话框中,单击确认,即可创建成功。 
 - 通过RAM控制台- 登录RAM控制台,选择身份管理 > 角色。 
- 在角色页面,单击创建角色。 
- 在创建角色页面的右上角,单击创建服务关联角色。 
- 在创建服务关联角色页面,选择信任的云服务,然后单击创建服务关联角色。 
 说明- 创建服务关联角色详情,请参见创建可信实体为阿里云服务的RAM角色。 
- 权限配置。 - MaxCompute相关数据操作权限配置 - MMS通过服务关联角色(AliyunServiceRoleForMaxComputeMMS)发起指令,将数据写入MaxCompute后,会统计数据行数进行校验。因此,需要将MaxCompute相关数据操作权限授权给该服务关联角色。授权方式如下所示: - 通过SQL命令- 使用本地客户端(odpscmd)连接,执行如下命令添加MaxCompute相关数据权限。 - USE <target_projectname> ; Add USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; GRANT <privileges> TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`;- 参数说明: - target_projectname:必填,目标项目空间的名称。 
- account_id:必填,RAM用户或阿里云账号名称。 
- privileges:必填,被授予的操作权限名称,单次授权可以指定多个操作,多个操作名称之间使用半角逗号(,)分隔。权限介绍如下。 - 对象 - 权限 - Project - List、Read、CreateTable、CreateInstance - Table - Describe、Select、Alter、Update、Drop - Instance - Read、Write 
 - 通过MaxCompute控制台- 在MaxCompute控制台,选择。 
- 单击目标项目操作列中的管理,选择角色权限页签。 
- 单击新增项目级别角色,创建支持MaxCompute相关数据权限的项目角色。具体操作,请参见角色管理。 说明- 您也可以直接使用项目内置的admin角色,无需新增项目角色。 
- 选择目标项目角色,单击操作列中的成员管理,选择需授权的RAM用户账号,完成授权。具体操作,请参见角色管理。 - 若首次为RAM用户授权时未能搜索到对应账号,可手动添加账号。如下图所示。  
 
- RAM权限配置 - 通过MMS进行数据和元数据管理、迁移作业管理等相关的操作的权限是通过RAM权限进行控制,需在RAM控制台,配置相关权限。 - 权限策略示例如下: - MMS所有操作的权限策略- { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "odps:ListMmsDataSources", "odps:CreateMmsDataSource", "ram:GetRole", "odps:GetMmsDataSource", "odps:UpdateMmsDataSource", "odps:DeleteMmsDataSource", "odps:CreateMmsFetchMetadataJob", "odps:GetMmsFetchMetadataJob", "odps:ListMmsFetchMetadataJobLogs", "odps:ListMmsDbs", "odps:GetMmsDb", "odps:ListMmsTables", "odps:GetMmsTable", "odps:ListMmsPartitions", "odps:GetMmsPartition", "odps:ListMmsJobs", "odps:GetMmsJob", "odps:CreateMmsJob", "odps:DeleteMmsJob", "odps:StartMmsJob", "odps:StopMmsJob", "odps:RetryMmsJob", "odps:ListMmsTasks", "odps:GetMmsTask", "odps:ListMmsTaskLogs", "odps:StopMmsTask", "odps:StartMmsTask", "odps:RetryMmsTask", "odps:GetMmsAsyncTask", "odps:GetMmsProgress", "odps:GetMmsSpeed", "odps:CreateMmsAuthFile", "odps:ListMmsAgents" ], "Resource": "*" } ] }- MMS源数据管理相关权限策略- { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "odps:ListMmsDataSources", "odps:CreateMmsDataSource", "ram:GetRole", "odps:GetMmsDataSource", "odps:UpdateMmsDataSource", "odps:DeleteMmsDataSource", "odps:CreateMmsFetchMetadataJob", "odps:GetMmsFetchMetadataJob", "odps:ListMmsFetchMetadataJobLogs", "odps:ListMmsDbs", "odps:GetMmsDb", "odps:ListMmsTables", "odps:GetMmsTable", "odps:ListMmsPartitions", "odps:GetMmsPartition", "odps:GetMmsAsyncTask", "odps:GetMmsProgress", "odps:GetMmsSpeed", "odps:CreateMmsAuthFile", "odps:ListMmsAgents" ], "Resource": "*" } ] }- MMS迁移作业管理权限策略- { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "odps:ListMmsDataSources", "odps:GetMmsDataSource", "odps:CreateMmsFetchMetadataJob", "odps:GetMmsFetchMetadataJob", "odps:ListMmsFetchMetadataJobLogs", "odps:ListMmsDbs", "odps:GetMmsDb", "odps:ListMmsTables", "odps:GetMmsTable", "odps:ListMmsPartitions", "odps:GetMmsPartition", "odps:ListMmsJobs", "odps:GetMmsJob", "odps:CreateMmsJob", "odps:DeleteMmsJob", "odps:StartMmsJob", "odps:StopMmsJob", "odps:RetryMmsJob", "odps:ListMmsTasks", "odps:GetMmsTask", "odps:ListMmsTaskLogs", "odps:StopMmsTask", "odps:StartMmsTask", "odps:RetryMmsTask", "odps:GetMmsAsyncTask", "odps:GetMmsProgress", "odps:GetMmsSpeed" ], "Resource": "*" } ] }
- 为RAM用户添加自定义的MMS权限策略。具体操作,请参见为RAM用户授权。 
 
 
- 登录MaxCompute控制台,准备Quota资源。 - 数据迁移作业的执行过程需消耗计算资源,因此需要为MaxCompute项目绑定Quota计算资源,并在后续新增数据源时,将用于执行Maxcompute 迁移任务的Project参数配置为该MaxCompute项目。 - 说明建议购买包年包月计算资源,以降低迁移成本。