Este tópico descreve os pré-requisitos para usar o MaxCompute Migration Service (MMS).
Regiões suportadas
O MMS está disponível nas seguintes regiões: 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) e Germany (Frankfurt).
Antes de iniciar a migração de dados, interrompa as operações de gravação nas tabelas e partições de source para evitar falhas na validação após a migração.
Procedimento
Etapa 1: Criar um projeto do MaxCompute
O projeto é a unidade organizacional básica do MaxCompute.
Antes da migração, selecione o projeto do MaxCompute de destino para mapear a fonte de dados.
Durante a migração, o MMS executa diversos trabalhos no projeto do MaxCompute.
Portanto, crie um projeto do MaxCompute antes de migrar os dados. Ignore esta etapa se já houver um projeto disponível. Para criar um projeto no console do MaxCompute, siga estas etapas:
Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na aba Internal Project, clique em Create Project.
-
Na caixa de diálogo Create Project, configure as definições e clique em OK.
Para obter mais informações sobre os parâmetros, consulte Create a MaxCompute project.
Etapa 2: Criar uma conexão de rede VPC
Ignore esta etapa se já existir uma conexão de rede VPC na região atual.
Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na página Network Connection, clique em Add Network Connection.
-
Na caixa de diálogo Add Network Connection, configure os parâmetros conforme solicitado e clique em OK. Ao adicionar uma conexão de rede pela primeira vez, conceda primeiro a autorização para permitir que o proxy da plataforma MaxCompute solicite placas de interface de rede. Caso contrário, não será possível criar a conexão.
A tabela a seguir descreve os parâmetros.
Parâmetro
Obrigatório
Descrição
Connection Name:
Sim
Nome personalizado para a conexão. O nome deve atender aos seguintes requisitos:
-
Começar com uma letra.
-
Conter apenas letras, sublinhados (_) e dígitos.
-
Ter entre 1 e 63 caracteres.
Type:
Sim
O valor padrão é Passthrough.
Uma conexão Passthrough é uma conexão VPC.
Region:
Sim
O sistema preenche automaticamente este parâmetro com base na região selecionada no canto superior esquerdo. Para obter mais informações, consulte Supported regions.
VPC Selected:
Sim
Uma Virtual Private Cloud (VPC) é uma rede virtual isolada. Ela fornece um espaço de rede privada seguro e configurável, semelhante a um data center tradicional.
-
ID da VPC. Para criar uma nova VPC, consulte Create or delete a VPC.
-
Para obter o ID:
-
Faça login no Virtual Private Cloud console.
-
No painel de navegação à esquerda, escolha VPC. No canto superior esquerdo, selecione uma região.
-
Na página VPC, localize o Instance ID/Name da VPC.
Se você se conectar a um cluster HBase ou Hadoop, encontre essa informação nos detalhes da conexão de rede no console correspondente.
-
Switch:
Sim
Um vSwitch cria uma sub-rede. Diferentes vSwitches na mesma VPC podem se comunicar entre si pela rede interna. Implante recursos de cloud em vSwitches de zonas diferentes para proteger sua aplicação contra falhas em uma única zona.
-
ID do vSwitch anexado à VPC. Se nenhum vSwitch estiver disponível, consulte Create or delete a vSwitch.
-
Para obter o ID:
-
Faça login no Virtual Private Cloud console.
-
No painel de navegação à esquerda, escolha vSwitch. No canto superior esquerdo, selecione uma região.
-
Na página vSwitch, localize o Instance ID/Name do vSwitch.
Se você se conectar a um cluster HBase ou Hadoop, encontre essa informação nos detalhes da conexão de rede no console correspondente.
-
Security group:
Sim
Um grupo de segurança atua como um firewall virtual para seus recursos de cloud. Gerencie grupos de segurança e suas regras para implementar isolamento de rede e controle de acesso refinados.
ID do grupo de segurança. Para criar um grupo de segurança, consulte Create a security group.
-
-
Os trabalhos de migração precisam acessar a fonte de dados. Portanto, garanta que a VPC possa acessar a fonte de dados pela internet ou por linha dedicada.
Se a fonte de dados estiver na internet pública, use um gateway NAT para habilitar o acesso à rede pública. Para obter mais informações, consulte Use a NAT gateway as a unified internet egress.
Caso a fonte de dados esteja em um data center local, conecte-a à Alibaba Cloud usando um circuito Express Connect. Para obter mais informações, consulte Use Express Connect.
Etapa 3: Criar uma função vinculada ao service
Antes de usar o MMS pela primeira vez, crie a função vinculada ao service AliyunServiceRolePolicyForMaxComputeMMS. O MMS usa essa função para acessar recursos no MaxCompute e em outros services de cloud.
-
Se estiver usando uma conta Alibaba Cloud, crie a função vinculada ao service diretamente.
Se for um usuário RAM, tenha primeiro a permissão AliyunRAMFullAccess. Para obter mais informações, consulte Manage permissions for a RAM role.
-
Crie a função vinculada ao service no console do MaxCompute ou no console do RAM.
Console do MaxCompute
Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na aba Data Source, clique em Add Data Source.
Para criar a função vinculada ao service, clique em OK na caixa de diálogo MaxCompute Service-linked Role. Se essa caixa de diálogo não aparecer, a função já existe.
Console do RAM
Faça login no console do RAM.
Na barra de navegação à esquerda, selecione .
Na página Roles, clique em Create Role.
No canto superior direito da página Create Role, clique em Create Service Linked Role.
Na página Create Service Linked Role, em Select Service, selecione
AliyunServiceRoleForMaxComputeMMSe clique em Create Service Linked Role.
Etapa 4: Configurar permissões
-
Conceda permissões à função vinculada ao service do MMS para operar dados do MaxCompute
Console do MaxCompute
Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na página Projects, clique em Manage na coluna Actions do projeto de destino.
-
Configure as permissões de operação de dados
Função Admin
Na página Project Settings, clique na aba Role Permissions.
Localize a função
admine clique em Manage Members na coluna Actions.Na caixa de diálogo Manage Members, insira
RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMSna caixa de texto Add Member Manually. Substitua<account_id>pelo ID da sua conta Alibaba Cloud.Clique em OK.
Criar uma função personalizada
Crie uma função de projeto no MaxCompute e conceda apenas as permissões de operação de dados necessárias para o MMS.
Na página Project Settings, clique na aba Role Permissions.
-
Clique em Create Project-level Role, configure a função conforme solicitado e clique em Confirm.
A tabela a seguir descreve os parâmetros.
Parâmetro
Obrigatório
Descrição
Role Name
Sim
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
Sim
Admin: Uma função de gerenciamento.
Conceda permissões de gerenciamento usando uma política, mas não conceda permissões de recurso.
Não conceda permissões de gerenciamento usando uma ACL.
Resource: Uma função do tipo recurso.
Conceda permissões de recurso usando uma política ou uma ACL, mas não conceda permissões de gerenciamento.
Authorization Method
Sim
Access Control List (ACL): Um mecanismo de autorização baseado em lista de permissões que permite que usuários ou funções executem ações específicas em objetos específicos.
Policy: Um mecanismo que suporta regras de permissão e negação, adequado para grandes empresas e cenários complexos que exigem controle refinado.
Concede a um usuário permissões para executar operações em projetos, tabelas, modelos, recursos, funções ou instâncias. A tabela a seguir lista as permissões disponíveis.
Objeto
Permissões
Tabela
Describe, Select, Update, Alter, Drop, ShowHistory, Download
Recurso
Read, Write, Download, Delete
Função
Read, Write, Download, Execute, Delete
Pacote
Read
Projeto
Read, Write, List, CreateTable, CreateInstance
Retorne à aba Role Permissions, selecione a nova função no nível do projeto e clique em Manage Members na coluna Actions. Selecione a conta Alibaba Cloud ou o usuário RAM a ser autorizado e clique em OK. Se não encontrar a conta ao autorizá-la pela primeira vez, adicione-a na seção Add Member Manually.
Via SQL
-
Connect to MaxCompute by using the odpscmd client e adicione a função vinculada ao service criada.
USE <target_projectname>; -- Add the service-linked role to the user. Add USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -
Conceda permissões ao usuário.
O MaxCompute suporta controle de permissão em vários níveis. Durante as operações do projeto, utilize grant permissions com base no escopo das operações.
-
Autorização de granularidade grossa: Conceda diretamente a função admin ao usuário. Assim, evita-se a necessidade de conceder permissões para cada tabela individualmente.
GRANT admin TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -
Autorização de granularidade fina: Conceda permissões no nível de projeto, tabela ou instância.
Permissões no nível do projeto
-- 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`;Permissões no nível da tabela
-- 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`;Permissões no nível da instância
-- 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`;
-
Descrição dos parâmetros:
target_projectname: Obrigatório. O nome do projeto de destino.
account_id: Obrigatório. O ID da sua conta Alibaba Cloud.
privileges: Obrigatório. O nome da permissão de operação a ser concedida. Especifique várias operações de uma vez, separando-as por vírgulas (,).
-
Configure as permissões do RAM
Esta etapa concede ao usuário RAM que realiza a migração de dados as permissões para operar o MMS, como gerenciar dados, metadados e trabalhos de migração. Se usar uma conta Alibaba Cloud para realizar a migração, ignore esta etapa.
Se o usuário RAM atual tiver as permissões AliyunMaxComputeFullAccess para gerenciar o MaxCompute, ignore esta etapa.
-
Para conceder ao usuário RAM apenas as permissões para operar o MMS, siga estas etapas:
Faça login no console do RAM.
Na barra de navegação à esquerda, selecione .
Na página Policies, clique em Create Policy.
-
Na página Create Policy, selecione JSON Editor. Insira a seguinte política:
Todas as operações do 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": "*" } ] }Gerenciamento de dados de source
{ "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": "*" } ] }Gerenciamento de trabalhos de migração
{ "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": "*" } ] } Clique em OK. Na caixa de diálogo Create Policy, insira um Policy Name personalizado. Adicione também uma descrição e tags, se desejar.
Anexe a política personalizada do MMS ao usuário RAM. Para obter mais informações, consulte Manage permissions for a RAM user.
Etapa 5: Preparar recursos de cota
Os trabalhos de migração consomem recursos de computação. Portanto, associe uma cota de computação ao projeto do MaxCompute que executa os trabalhos de migração.
Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
-
Associe uma cota de computação ao projeto do MaxCompute para tarefas de migração.
-
Usar a cota de computação padrão:
Um projeto recebe uma cota de computação padrão. Os trabalhos iniciados no projeto usam essa cota sem configuração adicional. Ao criar um novo projeto, associe-o diretamente à cota padrão.
-
Alternar a cota de computação:
No painel de navegação à esquerda, escolha .
Na página Projects, clique em Manage na coluna Actions do projeto de destino.
Na página Project Settings, clique na aba Parameter Configuration.
Na seção Basic Properties, clique em Edit para modificar a configuração conforme necessário.
Na lista suspensa Authorized Tunnel Quota, selecione a cota de computação para o projeto e clique em Submit.
-
-
Ao adicionar uma fonte de dados, na configuração projeto para executar tarefas de migração, selecione o projeto ao qual você associou a cota de computação na etapa anterior.
No painel de navegação à esquerda, escolha .
Na página Migration Service, clique na aba Data Source.
Na aba Data Source, clique em Add Data Source.
Na lista suspensa MaxCompute Project for Migration Jobs, selecione o projeto ao qual você associou a cota de computação na etapa anterior.