Este tema describe los requisitos previos para usar MaxCompute Migration Service (MMS).
Regiones compatibles
MMS está disponible en las siguientes regiones: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Chengdu), China (Hong Kong), China (Shanghai) Finance, Indonesia (Jakarta), Singapore, Japan (Tokyo), US (Virginia) y Germany (Frankfurt).
Antes de iniciar una migración de datos, detenga las operaciones de escritura en las tablas y particiones de origen. De esta manera evitará errores de validación de datos después de la migración.
Procedimiento
Paso 1: Crear un proyecto de MaxCompute
Un proyecto es la unidad organizativa básica en MaxCompute.
Antes de migrar los datos, debe seleccionar un proyecto de MaxCompute de destino al que se asignará el origen de datos.
Durante la migración, MMS ejecuta diversos trabajos de migración en el proyecto de MaxCompute.
Por lo tanto, debe crear un proyecto de MaxCompute antes de migrar los datos. Si ya cuenta con un proyecto, omita este paso. Siga estos pasos para crear un proyecto en la consola de MaxCompute:
Inicie sesión en la consola de MaxCompute y seleccione una región en la esquina superior izquierda.
En el panel de navegación izquierdo, elija .
En la pestaña Internal Project, haga clic en Create Project.
-
En el cuadro de diálogo Create Project, configure los ajustes y haga clic en OK.
Para obtener más información sobre los parámetros, consulte Create a MaxCompute project.
Paso 2: Crear una conexión de red VPC
Si ya existe una conexión de red VPC en la región actual, omita este paso.
Inicie sesión en la consola de MaxCompute y seleccione una región en la esquina superior izquierda.
En el panel de navegación izquierdo, elija .
En la página Network Connection, haga clic en Add Network Connection.
-
En el cuadro de diálogo Add Network Connection, configure los parámetros según las indicaciones y haga clic en OK. La primera vez que agregue una conexión de red, deberá otorgar autorización para permitir que el proxy de la plataforma MaxCompute solicite tarjetas de interfaz de red. De lo contrario, no se podrá crear la conexión.
A continuación se describen los parámetros.
Parámetro
Obligatorio
Descripción
Connection Name:
Obligatorio
Nombre personalizado de la conexión. Debe cumplir los siguientes requisitos:
-
Comenzar con una letra.
-
Contener únicamente letras, guiones bajos (_) y dígitos.
-
Tener entre 1 y 63 caracteres de longitud.
Type:
Obligatorio
El valor predeterminado es Passthrough.
Una conexión Passthrough es una conexión VPC.
Region:
Obligatorio
El sistema completa automáticamente este parámetro según la región seleccionada en la esquina superior izquierda. Para obtener más información, consulte Supported regions.
VPC Selected:
Obligatorio
Una nube privada virtual (VPC) es una red virtual aislada. Proporciona un espacio de red privada seguro y configurable, similar a un centro de datos tradicional.
-
ID de la VPC. Para crear una nueva VPC, consulte Create or delete a VPC.
-
Para obtener el ID:
-
Inicie sesión en la consola de Virtual Private Cloud.
-
En el panel de navegación izquierdo, elija VPC. En la esquina superior izquierda, seleccione una región.
-
En la página VPC, busque el Instance ID/Name de la VPC.
Si se conecta a un clúster de HBase o Hadoop, encontrará esta información en los detalles de conexión de red de la consola correspondiente.
-
Switch:
Obligatorio
Un vSwitch se utiliza para crear una subred. Los distintos vSwitch dentro de una misma VPC pueden comunicarse entre sí a través de la red interna. Puede desplegar recursos en la nube en varios vSwitch de diferentes zonas para proteger su aplicación ante fallos en una sola zona.
-
ID del vSwitch asociado a la VPC. Si no hay ningún vSwitch disponible, consulte Create or delete a vSwitch.
-
Para obtener el ID:
-
Inicie sesión en la consola de Virtual Private Cloud.
-
En el panel de navegación izquierdo, elija vSwitch. En la esquina superior izquierda, seleccione una región.
-
En la página vSwitch, busque el Instance ID/Name del vSwitch.
Si se conecta a un clúster de HBase o Hadoop, encontrará esta información en los detalles de conexión de red de la consola correspondiente.
-
Security group:
Obligatorio
Un security group actúa como un firewall virtual para sus recursos en la nube. Al gestionar los security groups y sus reglas, puede implementar un aislamiento de red detallado y control de acceso.
ID del security group. Para crear un security group, consulte Create a security group.
-
-
Los trabajos de migración de datos necesitan acceder al origen de datos. Por ello, asegúrese de que la VPC pueda acceder al origen de datos a través de internet o mediante una línea dedicada.
Si el origen de datos está en la red pública de internet, utilice una puerta de enlace NAT para habilitar el acceso a la red pública. Para obtener más información, consulte Use a NAT gateway as a unified internet egress.
Si el origen de datos está en un centro de datos local, conéctelo a Alibaba Cloud mediante un circuito de Express Connect. Para obtener más información, consulte Use Express Connect.
Paso 3: Crear un rol vinculado al servicio
Antes de usar MMS por primera vez, debe crear el rol vinculado al servicio AliyunServiceRolePolicyForMaxComputeMMS. MMS utiliza este rol para acceder a los recursos de MaxCompute y de otros servicios en la nube.
-
Si usa una cuenta de Alibaba Cloud, puede crear el rol vinculado al servicio directamente.
Si es un usuario de RAM, primero debe contar con el permiso
AliyunRAMFullAccess. Para obtener más información, consulte Manage permissions for a RAM role. -
Puede crear el rol vinculado al servicio desde la consola de MaxCompute o desde la consola de RAM.
Consola de MaxCompute
Inicie sesión en la consola de MaxCompute y seleccione una región en la esquina superior izquierda.
En el panel de navegación izquierdo, elija .
En la pestaña Data Source, haga clic en Add Data Source.
Para crear el rol vinculado al servicio, haga clic en OK en el cuadro de diálogo MaxCompute Service-linked Role. Si este cuadro de diálogo no aparece, significa que el rol ya existe.
Consola de RAM
Inicie sesión en la consola de RAM.
En la barra de navegación izquierda, seleccione .
En la página Roles, haga clic en Create Role.
En la esquina superior derecha de la página Create Role, haga clic en Create Service Linked Role.
En la página Create Service Linked Role, dentro de Select Service, seleccione
AliyunServiceRoleForMaxComputeMMSy haga clic en Create Service Linked Role.
Paso 4: Configurar permisos
-
Otorgar al rol vinculado al servicio de MMS los permisos para operar con los datos de MaxCompute
Consola de MaxCompute
Inicie sesión en la consola de MaxCompute y seleccione una región en la esquina superior izquierda.
En el panel de navegación izquierdo, elija .
En la página Projects, haga clic en Manage en la columna Actions del proyecto de destino.
-
Configurar los permisos de operación de datos
Rol Admin
En la página Project Settings, haga clic en la pestaña Role Permissions.
Busque el rol
adminy haga clic en Manage Members en la columna Actions.En el cuadro de diálogo Manage Members, introduzca
RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMSen el campo de texto Add Member Manually. Reemplace<account_id>con el ID de su cuenta de Alibaba Cloud.Haga clic en OK.
Crear un rol personalizado
Cree un rol de proyecto en MaxCompute y otórguele únicamente los permisos de operación de datos que requiere MMS.
En la página Project Settings, haga clic en la pestaña Role Permissions.
-
Haga clic en Create Project-level Role, configure el rol según las indicaciones y haga clic en Confirm.
A continuación se describen los parámetros.
Parámetro
Obligatorio
Descripción
Role Name
Obligatorio
The name must be 1 to 64 characters in length, and can contain letters and digits. The name must start with a letter.
Role Type
Obligatorio
Admin: rol de gestión.
Puede otorgar permisos de gestión mediante una política, pero no puede otorgar permisos de recursos.
No puede otorgar permisos de gestión mediante una ACL.
Resource: rol de tipo recurso.
Puede otorgar permisos de recursos mediante una política o una ACL, pero no puede otorgar permisos de gestión.
Authorization Method
Obligatorio
Access Control List (ACL): mecanismo de autorización basado en listas blancas que permite a usuarios o roles ejecutar acciones específicas sobre objetos específicos.
Policy: mecanismo compatible con reglas de permiso y denegación. Es adecuado para grandes empresas y escenarios complejos que requieren un control detallado.
Otorga a un usuario permisos para realizar operaciones en proyectos, tablas, modelos, recursos, funciones o instancias. A continuación se enumeran los permisos que puede otorgar.
Objeto
Permisos
Tabla
Describe, Select, Update, Alter, Drop, ShowHistory, Download
Recurso
Read, Write, Download, Delete
Función
Read, Write, Download, Execute, Delete
Paquete
Read
Proyecto
Read, Write, List, CreateTable, CreateInstance
Regrese a la pestaña Role Permissions, seleccione el nuevo rol a nivel de proyecto y haga clic en Manage Members en la columna Actions. Seleccione la cuenta de Alibaba Cloud o el usuario de RAM que desea autorizar y haga clic en OK. Si no encuentra la cuenta la primera vez que la autoriza, puede agregarla en la sección Add Member Manually.
Mediante SQL
-
Connect to MaxCompute by using the odpscmd client y agregue el rol vinculado al servicio que creó.
USE <target_projectname>; -- Add the service-linked role to the user. Add USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -
Otorgue permisos al usuario.
MaxCompute admite el control de permisos en diversos niveles. Durante las operaciones del proyecto, puede grant permissions según el alcance de dichas operaciones.
-
Autorización general: otorgue directamente el rol admin al usuario. Así evitará tener que conceder permisos para cada tabla de forma individual.
GRANT admin TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -
Autorización detallada: otorgue permisos a nivel de proyecto, tabla o instancia.
Permisos a nivel de proyecto
-- Grant project-level data operation permissions. GRANT <actions> ON project <project_name> TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- Supported actions Read,Write,List,CreateTable,CreateInstance,CreateFunction,CreateResource,All -- Example 1 GRANT Read,Write,List,CreateTable,CreateInstance,CreateFunction,CreateResource ON project <project_name> TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- Example 2 GRANT ALL ON project <project_name> TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`;Permisos a nivel de tabla
-- Grant table-level data operation permissions. GRANT <actions> ON table <table_name> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- Supported actions Describe,Select,Alter,Update,Drop,ShowHistory,All -- Example 1 GRANT Describe,Select,Alter,Update,Drop,ShowHistory ON table <table_name> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- Example 2 GRANT All ON table <table_name> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`;Permisos a nivel de instancia
-- Grant instance-level data operation permissions. GRANT <actions> ON instance <instance_id> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- Supported actions Read,Write,All -- Example 1 GRANT Read,Write ON instance <instance_id> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- Example 2 GRANT All ON instance <instance_id> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`;
-
Descripción de los parámetros:
target_projectname: obligatorio. Nombre del proyecto de destino.
account_id: obligatorio. ID de su cuenta de Alibaba Cloud.
privileges: obligatorio. Nombre del permiso de operación que se va a otorgar. Puede especificar varias operaciones a la vez separadas por comas (,).
-
Configurar los permisos de RAM
Este paso otorga al usuario de RAM que realiza la migración de datos los permisos para operar MMS, como gestionar datos, metadatos y trabajos de migración de MMS. Si usa una cuenta de Alibaba Cloud para realizar la migración, puede omitir este paso.
Si el usuario de RAM actual tiene los permisos
AliyunMaxComputeFullAccesspara gestionar MaxCompute, puede omitir este paso.-
Si desea otorgar al usuario de RAM únicamente los permisos para operar MMS, siga estos pasos:
Inicie sesión en la consola de RAM.
En la barra de navegación izquierda, seleccione .
En la página Policies, haga clic en Create Policy.
-
En la página Create Policy, seleccione JSON Editor. Introduzca la siguiente política:
Todas las operaciones de 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", "odps:ListMmsTimers", "odps:GetMmsTimer", "odps:UpdateMmsTimer", "odps:ListMmsTimerLogs", "odps:CreateMmsTimer", "odps:UpdateMmsTables", "odps:UpdateMmsTable", "odps:UpdateMmsDb", "odps:ListNetworkLinks" ], "Resource": "*" } ] }Gestión de datos de origen
{ "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", "odps:UpdateMmsTables", "odps:UpdateMmsTable", "odps:UpdateMmsDb" ], "Resource": "*" } ] }Gestión de trabajos de migración
{ "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", "odps:ListMmsTimers", "odps:GetMmsTimer", "odps:UpdateMmsTimer", "odps:ListMmsTimerLogs", "odps:CreateMmsTimer" ], "Resource": "*" } ] } Haga clic en OK. En el cuadro de diálogo Create Policy, introduzca un Policy Name personalizado. También puede agregar una descripción y etiquetas.
Asocie la política personalizada de MMS al usuario de RAM. Para obtener más información, consulte Manage permissions for a RAM user.
Paso 5: Preparar los recursos de cuota
Los trabajos de migración de datos consumen recursos de cómputo. Por lo tanto, debe asociar una cuota de cómputo con el proyecto de MaxCompute que ejecuta dichos trabajos.
Inicie sesión en la consola de MaxCompute y seleccione una región en la esquina superior izquierda.
En el panel de navegación izquierdo, elija .
-
Asocie una cuota de cómputo con el proyecto de MaxCompute para las tareas de migración.
-
Usar la cuota de cómputo predeterminada:
Cada proyecto tiene asignada una cuota de cómputo predeterminada. Los trabajos que se inician en el proyecto utilizan esta cuota sin necesidad de configuraciones adicionales. Cuando cree un proyecto nuevo, asócielo directamente con la cuota predeterminada.
-
Cambiar la cuota de cómputo:
En el panel de navegación izquierdo, elija .
En la página Projects, haga clic en Manage dentro de la columna Actions del proyecto correspondiente.
En la página Project Settings, haga clic en la pestaña Parameter Configuration.
En la sección Basic Properties, haga clic en Edit para modificar la configuración según sus necesidades.
En la lista desplegable Authorized Tunnel Quota, seleccione la cuota de cómputo del proyecto y haga clic en Submit.
-
-
Al agregar un origen de datos, en la opción project to run migration tasks, seleccione el proyecto al que asoció la cuota de cómputo en el paso anterior.
En el panel de navegación izquierdo, elija .
En la página Migration Service, haga clic en la pestaña Data Source.
En la pestaña Data Source, haga clic en Add Data Source.
En la lista desplegable MaxCompute Project for Migration Jobs, seleccione el proyecto al que asoció la cuota de cómputo en el paso anterior.