Migrar para um cluster criptografado por HSM
Para migrar um cluster não criptografado para um cluster criptografado usando um módulo de segurança de hardware (HSM), crie um cluster criptografado e mova os dados para esse cluster. Não é possível migrar para um cluster criptografado por HSM modificando o cluster.
Para migrar de um cluster não criptografado para um cluster criptografado por HSM, descarregue os dados do seu cluster de origem existente. Em seguida, recarregue os dados em um novo cluster de destino com a configuração de criptografia escolhida. Para obter mais informações sobre como executar um cluster criptografado, consulte Criptografia de banco de dados do Amazon Redshift.
Durante o processo de migração, seu cluster de origem ficará disponível somente para consultas de leitura até a última etapa. A última etapa é renomear os clusters de origem e de destino, o que modifica os endpoints para que todo o tráfego seja roteado para o novo cluster de destino. Quando você renomear o cluster de destino, ele ficará disponível somente após a reinicialização. Suspenda todas as cargas de dados e outras operações de gravação no cluster de origem enquanto os dados estiverem sendo transferidos.
Preparo para a migração
-
Identifique todos os sistemas dependentes que interagem com o Amazon Redshift, por exemplo, ferramentas de business intelligence (BI) e sistemas de extrair, transformar e carregar (ETL).
-
Identifique as consultas de validação para testar a migração.
Por exemplo, você pode usar a seguinte consulta para localizar o número de tabelas definidas pelo usuário.
select count(*) from pg_table_def where schemaname != 'pg_catalog';
A consulta a seguir retorna uma lista de todas as tabelas definidas pelo usuário e o número de linhas em cada tabela.
select "table", tbl_rows from svv_table_info;
-
Escolha o momento adequado para a sua migração. Para saber o horário em que o uso do cluster é mais baixo, monitore as métricas do cluster, como a utilização da CPU e o número de conexões do banco de dados. Para ter mais informações, consulte Visualizar dados de performance do cluster.
-
Remova tabelas não utilizadas.
Para criar uma lista das tabelas e o número de vezes que cada tabela foi consultada, execute a seguinte consulta.
select database, schema, table_id, "table", round(size::float/(1024*1024)::float,2) as size, sortkey1, nvl(s.num_qs,0) num_qs from svv_table_info t left join (select tbl, perm_table_name, count(distinct query) num_qs from stl_scan s where s.userid > 1 and s.perm_table_name not in ('Internal worktable','S3') group by tbl, perm_table_name) s on s.tbl = t.table_id where t."schema" not in ('pg_internal');
-
Execute um novo cluster criptografado.
Use o mesmo número de porta para o cluster de destino e o cluster de origem. Para obter mais informações sobre como executar um cluster criptografado, consulte Criptografia de banco de dados do Amazon Redshift.
-
Configure o processo de descarregamento e o carregamento.
Você pode usar o Utilitário de descarregamento/cópia do Amazon Redshift
para lhe ajudar na migração de dados entre clusters. O utilitário exporta dados do cluster de origem para um local no Amazon S3. Os dados são criptografados com o AWS KMS. Em seguida, o utilitário importa automaticamente os dados para o destino. Opcionalmente, você pode usar o utilitário para limpar o Amazon S3 após a conclusão da migração. -
Execute um teste para verificar seu processo e estime por quanto tempo as operações de gravação precisam ser suspensas.
Durante as operações de descarregamento e carregamento, mantenha a consistência dos dados suspendendo os carregamentos deles e outras operações de gravação. Usando uma das suas maiores tabelas, execute o processo de descarregamento e carregamento para ajudar você a estimar o tempo.
-
Crie objetos de banco de dados, como esquemas, visualizações e tabelas. Para ajudá-lo a gerar as instruções de linguagem de definição de dados (DDL) necessárias, você pode usar os scripts em AdminViews
no repositório GitHub da AWS.
Para migrar o cluster
-
Encerre todos os processos ETL no cluster de origem.
Para confirmar que não há operações de gravação em andamento, use o Console de gerenciamento do Amazon Redshift para monitorar IOPS de gravação. Para ter mais informações, consulte Visualizar dados de performance do cluster.
-
Execute as consultas de validação identificadas anteriormente para coletar informações sobre o cluster de origem não criptografado antes da migração.
-
(Opcional) Crie uma fila de gerenciamento de workload (WLM) para usar o máximo de recursos disponíveis nos clusters de origem e de destino. Por exemplo, crie uma fila chamada
data_migrate
e configure a fila com memória de 95% e simultaneidade de 4%. Para obter mais informações, consulte Roteamento de consultas para filas baseadas em grupos de usuários e grupos de consultas no Guia do desenvolvedor de banco de dados do Amazon Redshift. -
Usando a fila
data_migrate
, execute UnloadCopyUtility.Monitore o processo de UNLOAD e COPY usando o console do Amazon Redshift.
-
Execute as consultas de validação novamente e verifique se os resultados correspondem aos resultados do cluster de origem.
-
Renomeie seus clusters de origem e destino para trocar os endpoints. Para evitar interrupções, execute esta operação fora do horário comercial.
-
Verifique se é possível se conectar ao cluster de destino usando todos os seus clientes SQL, como o ETL e as ferramentas de relatórios.
-
Desligue o cluster de origem não criptografado.