本文介绍在使用数据迁移服务MMS(MaxCompute Migration Service)前的准备工作。
适用范围
仅华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)和新加坡地域支持MMS迁移服务。
在数据迁移前需停止数据源端表和分区的写入操作,避免迁移后数据校验失败。
操作步骤
步骤一:创建MaxCompute目标项目
项目(Project)是MaxCompute的基本组织单元。
在执行数据迁移前,需要选择数据源将要映射到的目标MaxCompute项目。
在迁移过程中,需要MaxCompute项目执行各类迁移作业。
因此,执行数据迁移需要先创建MaxCompute项目(若已有可用项目,该步骤可省略)。通过MaxCompute控制台创建项目的步骤如下:
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择。
在内部项目页签,单击新建项目。
在新增项目对话框,根据界面提示文案配置项目信息,单击确认。
详细配置参数参考创建MaxCompute项目。
步骤二:开通VPC网络连接
若当前地域已有可用的VPC网络连接,该步骤可省略。
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择 。
在网络连接页面,单击新增网络连接。
在弹出的新增网络连接对话框,根据界面提示文案配置项目信息,单击确定。首次新增需先前往授权,允许MaxCompute平台代理申请网卡,否则连接将创建失败。
配置参数如下:
参数
是否必填
描述
连接名称
必填
自定义连接名称。
类型
必填
默认为直通连接(passthrough)
区域
必填
系统根据左上角选择的地域自动生成。
已选择VPC
必填
专有网络VPC是云上安全隔离的虚拟网络环境,提供了类似于传统数据中心的安全和可配置的私有网络空间。
如需创建新的专有网络,请参考创建/删除专有网络。
交换机
必填
交换机用来划分子网,同一VPC内的不同交换机之间内网互通。通过在多个不同可用区的交换机中同时部署云产品资源,可以避免应用受到单一可用区故障的影响。
如果没有可选交换机,请参考创建/删除交换机。
安全组
必填
安全组扮演云上虚拟防火墙的角色,通过管理安全组和规则,可提供精细化的网络安全隔离与访问控制。
如需创建安全组,请参考创建安全组。
在后续的数据迁移作业中涉及对数据源的访问,因此要保证使用的VPC能访问互联网或者源数据端专线。
若数据源在公共互联网上,使用NAT网关实现公网访问,详情请参考用NAT网关统一公网流量出口。
若数据源存储在本地数据中心,通过专线连接到阿里云,详情请参考使用专线连接。
步骤三:创建服务关联角色
在首次使用迁移服务(MMS)前,需创建服务关联角色AliyunServiceRolePolicyForMaxComputeMMS,MMS使用此角色来访问在MaxCompute和其他云产品中的资源。
若当前用户使用账号为阿里云主账号,可以直接操作创建服务关联角色;
若当前用户为RAM用户,则需要先授予RAM用户操作权限
AliyunRAMFullAccess,操作详情参考为RAM角色授权。创建服务关联角色有两种方式:通过MaxCompute控制台和通过RAM控制台,操作步骤如下:
通过MaxCompute控制台
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择。
在数据源页签,单击新增数据源。
在弹出的MaxCompute服务关联角色对话框中,单击确认,即可创建成功。若未自动弹出该对话框,则表明该角色已创建。
通过RAM控制台
登录RAM控制台。
在左侧导航栏选择。
在角色页面,单击创建角色。
在创建角色页面的右上角,单击创建服务关联角色。
在创建服务关联角色页面,选择信任的云服务
AliyunServiceRoleForMaxComputeMMS,单击创建服务关联角色。
步骤四:权限配置
配置用户MaxCompute数据操作权限
通过SQL配置
使用本地客户端(odpscmd)连接MaxCompute,添加已创建的服务关联角色。
USE <target_projectname>; -- 为用户添加服务关联角色。 Add USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`;给用户授予权限。
MaxCompute支持不同粒度权限控制,在项目实际运行过程中,可根据人员操作范畴精细化授权。
-- 授予项目级数据操作权限。 GRANT Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All ON project <project_name> TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- 授予表级数据操作权限。 GRANT Describe|Select|Alter|Update|Drop|ShowHistory|All ON table <table_name> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- 授予实例级数据操作权限。 GRANT Read|Write|All ON instance <instance_id> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`;
参数说明:
target_projectname:必填,目标项目空间的名称。
account_id:必填,阿里云主账号名称。
privileges:必填,被授予的操作权限名称。单次授权可以指定多个操作,多个操作名称之间使用半角逗号(,)分隔。
通过MaxCompute控制台配置
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择。
在项目管理页面,单击目标项目操作列的管理。
在项目配置页面,选择角色权限页签。
在弹出的新建角色对话框,根据界面提示文案配置项目信息,单击确定。
该步骤目的是在MaxCompute中单独创建一个项目角色,并为该角色单独授予专用于MMS的数据操作权限。也可选择使用项目内置的admin角色,无需通过该步骤新增角色,直接执行下一步骤。
配置参数如下:
参数
是否必填
描述
角色名称
必填
字母开头,可包含字母和数字,长度不超过64个字符
角色类型
必填
Admin:管理类型角色。
支持通过Policy授予管理类型权限,不支持授予资源权限;
不支持通过ACL方式授予管理类权限。
Resource:资源类型角色。
支持通过Policy或ACL方式授予资源类型权限,不支持授予管理类型权限
授权方式
必填
为用户授予项目、表、模型、资源、函数或实例的操作权限。可授予的权限列表如下:
对象
权限
Table
Describe、Select、Update、Alter、Drop、ShowHistory、Download
Resource
Read、Write、Download、Delete
Function
Read、Write、Download、Execute、Delete
Package
Read
Project
Read、Write、List、CreateTable、CreateInstance
选择目标项目级别角色,单击操作列的成员管理。选择需授权的阿里云主账号或RAM用户,单击确定完成授权。若首次授权时未能搜索到对应账号,可下方手动添加账号区域添加。
RAM权限配置
该步骤为执行数据迁移的RAM用户配置MMS操作权限,如MMS数据和元数据管理、迁移作业管理等。若使用阿里云主账号执行数据迁移可忽略该步骤。
若当前RAM用户具备管理MaxCompute的权限,即
AliyunMaxComputeFullAccess,可忽略该步骤。若限制当前RAM用户仅具备MMS操作权限,则按照如下步骤操作:
登录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用户授权。
步骤五:准备Quota资源
数据迁移作业的执行过程需消耗计算资源,因此需要为执行迁移作业的MaxCompute项目绑定Quota计算资源。
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择 。
在Quota管理页面,单击新购Quota。
在购买页面,规格类型处选择数据传输服务。
建议购买包年包月计算资源,以降低迁移成本。
若已有可用的数据传输服务Quota资源,可忽略该步骤。
为执行迁移任务的MaxCompute项目设置Quota计算资源。
使用默认计算Quota:
项目会设置默认计算Quota ,即该项目发起的作业会使用默认的Quota资源计算,无需其他设置。新建项目时可以直接选择关联默认Quota
切换计算Quota:
在左侧导航栏,选择。
在项目管理页面,单击目标项目操作列的管理。
在项目配置页面,选择参数配置页签。
在基础属性区域,单击编辑。
在数据传输服务授权Quota下拉框选择该项目使用的计算Quota,单击提交。
新增数据源时,将上一个步骤设置了Quota计算资源的项目配置为执行迁移任务的项目。
在左侧导航栏,选择。
在迁移服务页面,单击数据源页签。
在数据源页签,单击新增数据源。
在MaxCompute执行迁移作业的项目下拉框选择上一个步骤设置了Quota计算资源的项目配置为执行迁移任务的项目。