Checkpoints
Prepare the source database for migration.
/ 20
Create a Database Migration Service connection profile.
/ 20
Create and start a continuous migration job.
/ 20
Confirm the data in Cloud SQL for PostgreSQL.
/ 20
Promote Cloud SQL to be a stand-alone instance for reading and writing data.
/ 20
Migrar para o Cloud SQL para PostgreSQL usando o Database Migration Service
- GSP918
- Visão geral
- Atividades deste laboratório
- Configuração e requisitos
- Tarefa 1. Preparar o banco de dados de origem para a migração
- Tarefa 2. Criar um perfil de conexão no Database Migration Service para um banco de dados independente PostgreSQL
- Tarefa 3. Criar e iniciar um job contínuo de migração
- Tarefa 4. Confirmar dados no Cloud SQL para PostgreSQL
- Tarefa 5. Promover o Cloud SQL a uma instância independente para ler e gravar dados
- Parabéns!
GSP918
Visão geral
O Database Migration Service oferece opções de jobs contínuos ou únicos para migrar dados para o Cloud SQL usando diferentes opções de conectividade, incluindo listas de permissões de IP, peering de VPC e túneis SSH reversos (veja os documentos sobre opções de conectividade em https://cloud.google.com/database-migration/docs/postgresql/configure-connectivity).
Neste laboratório, você vai migrar um banco de dados independente do PostgreSQL (executado em uma máquina virtual) para o Cloud SQL para PostgreSQL usando um job contínuo do Database Migration Service e peering de VPC para conectividade.
Para migrar um banco de dados pelo Database Migration Service, é necessário preparar o banco de dados de origem, incluindo a criação de um usuário dedicado com direitos de replicação, adicionando a extensão de banco de dados pglogical
ao banco de dados de origem e atribuindo ao usuário direitos aos esquemas e tabelas no banco de dados a ser migrado, e ao banco de dados postgres.
Após criar e executar o job de migração, confirme que uma cópia inicial do seu banco de dados foi migrada com sucesso para sua instância do Cloud SQL para PostgreSQL. Você também vai descobrir como jobs contínuos de migração aplicam atualizações de dados do seu banco de dados de origem à sua instância do Cloud SQL. Para concluir o job de migração, promova a instância do Cloud SQL a um banco de dados independente para ler e gravar dados.
Atividades deste laboratório
- Preparar o banco de dados de origem para a migração.
- Criar um perfil para uma conexão de origem para uma instância do PostgreSQL (por exemplo, PostgreSQL independente).
- Configurar a conectividade entre as instâncias dos bancos de dados de origem e de destino usando o peering de VPC.
- Configurar as regras de acesso ao banco de dados e ao firewall para permitir o acesso ao banco de dados de origem para a migração.
- Criar, executar e verificar um job contínuo de migração usando o Database Migration Service.
- Promover a instância de destino (Cloud SQL para PostgreSQL) a um banco de dados independente para ler e gravar dados.
Configuração e requisitos
Antes de clicar no botão Start Lab
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta. -
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Nome de usuário"}}} Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}} Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais. -
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Ativar o Cloud Shell
O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
- Clique em Ativar o Cloud Shell na parte de cima do console do Google Cloud.
Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:
gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
-
Clique em Autorizar.
-
A saída será parecida com esta:
Saída:
- (Opcional) É possível listar o ID do projeto usando este comando:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
Verificar se a API Database Migration está ativada
- No console do Google Cloud, digite API Database Migration na barra de pesquisa superior. Clique no resultado para API Database Migration.
Essa página vai mostrar as informações de status ou dar a opção de ativar a API.
- Se necessário, ative a API.
Verificar se a API Service Networking está ativada
A API Service Networking é necessária para configurar o Cloud SQL para que ele ofereça suporte ao peering da VPC e a conexões em um endereço IP particular.
- No console do Cloud, digite API Service Networking na barra de pesquisa superior. Clique no resultado para API Service Networking.
Essa página vai mostrar as informações de status ou dar a opção de ativar a API.
- Se necessário, ative a API.
Tarefa 1. Preparar o banco de dados de origem para a migração
Nesta tarefa, você vai adicionar recursos de apoio ao banco de dados de origem. Eles são necessários para que o Database Migration Service execute a migração. São eles:
- Instalar e configurar a extensão de banco de dados pglogical.
- Configurar o banco de dados independente PostgreSQL para permitir o acesso do Cloud Shell e do Cloud SQL.
- Adicionar a extensão de banco de dados
pglogical
aos bancos de dadospostgres
,orders
egmemegen_db
no servidor independente. - Criar um usuário
migration_admin
(com permissões para replicação) para migração de banco de dados e fornecer a esse usuário as permissões necessárias para acessar os esquemas e as relações.
Atualizar o banco de dados com a extensão pglogical
Nesta etapa, você vai fazer o download e adicionar a extensão de banco de dados pglogical
aos bancos de dados postgres e orders na instância da VM postgresql-vm
.
-
No console do Google Cloud, no Menu de navegação (), clique em Compute Engine > Instâncias de VM.
-
No tópico
postgresql-vm
, abaixo deConectar
, clique em SSH. -
Se for solicitado, clique em Autorizar.
-
No terminal na nova janela do navegador, instale a extensão de banco de dados
pglogical
:
pglogical
é um sistema de replicação lógica implementado inteiramente como uma extensão PostgreSQL. Ele é totalmente integrado e não requer gatilhos nem programas externos. Essa alternativa à replicação física é um método altamente eficiente de replicar dados usando um modelo de publicar/assinar para replicação seletiva. Leia mais em: https://github.com/2ndQuadrant/pglogical
- Faça o download e aplique algumas adições aos arquivos de configuração do PostgreSQL (para ativar a extensão pglogical) e reinicie o serviço postgresql:
Em pg_hba.conf
, estes comandos adicionaram uma regra para permitir o acesso a todos os hosts:
Em postgresql.conf
, estes comandos definiram a configuração mínima para que pglogical detecte em todos os endereços:
Os snippets de código acima foram adicionados ao final dos arquivos relevantes e o serviço PostgreSQL foi reiniciado.
- Inicie a ferramenta psql:
- Adicione a extensão de banco de dados
pglogical
aos bancos de dadospostgres
,orders
egmemegen_db
.
- Liste os bancos de dados PostgreSQL no servidor:
Além dos bancos de dados postgresql padrão, aqui também é possível ver os bancos de dados orders
e gmemegen_db
fornecidos para este laboratório. O banco de dados gmemegen_db
não será utilizado neste laboratório, mas será incluído na migração para uso em um laboratório futuro.
Criar o usuário de migração do banco de dados
Nesta, etapa, você criará um usuário dedicado para gerenciar a migração do banco de dados.
- Em psql, digite os comandos abaixo para criar um novo usuário com função de replicação:
Atribuir permissões ao usuário de migração
Nesta etapa, você vai atribuir as permissões necessárias ao usuário migration_admin
para permitir que o Database Migration Service migre o banco de dados.
- Em psql, atribua permissões para o esquema
pglogical
e as tabelas para o banco de dadospostgres
.
- Em psql, atribua permissões para o esquema e as tabelas
pglogical
para o banco de dadosorders
.
- Em psql, atribua permissões para o esquema e as tabelas
public
para o banco de dadosorders
.
- Em psql, atribua permissões para o esquema e as tabelas
pglogical
para o banco de dadosgmemegen_db
.
- Em psql, atribua permissões para o esquema e as tabelas
public
para o banco de dadosgmemegen_db
.
Os bancos de dados de origem estão prontos para a migração. As permissões que você atribuiu ao usuário migration_admin
são tudo que é necessário para que o Database Migration Service migre os bancos de dados postgres
, orders
e gmemegen_db
.
Torne o usuário migration_admin
o proprietário das tabelas no banco de dados orders
, assim você poderá editar os dados de origem mais tarde, quando testar a migração.
- Em psql, execute os comandos abaixo:
- Saia de psql e da sessão do usuário postgres
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 2. Criar um perfil de conexão no Database Migration Service para um banco de dados independente PostgreSQL
Nesta tarefa, você criará um perfil de conexão para a instância de origem do PostgreSQL.
Obter as informações de conectividade para a instância de origem do PostgreSQL
Nesta etapa, você vai identificar o endereço IP interno da instância do banco de dados de origem que será migrado para o Cloud SQL.
-
No console do Google Cloud, no Menu de navegação (), clique em Compute Engine > Instâncias de VM.
-
Encontre a linha com a instância postgresql-vm.
-
Copie o valor de IP interno (por exemplo, 10.128.0.2).
Criar um novo perfil de conexão para a instância de origem do PostgreSQL
Um perfil de conexão guarda informações sobre a instância do banco de dados de origem (por exemplo, PostgreSQL independente) e é usado pelo Database Migration Service para migrar dados da origem para a instância do banco de dados de destino do Cloud SQL. Uma vez que o perfil de conexão é criado, ele pode ser reutilizado em todos os jobs de migração.
Nesta etapa, você criará um novo perfil de conexão para a instância de origem do PostgreSQL.
-
No console do Google Cloud, no Menu de navegação (), clique em Migração de banco de dados > Perfis de conexão.
-
Clique em + Criar perfil.
-
Em Mecanismo de banco de dados, selecione PostgreSQL.
-
Em Nome do perfil de conexão, digite postgres-vm.
-
Em Nome do host ou endereço IP, digite o IP interno para a instância de origem do PostgreSQL que você copiou na tarefa anterior (por exemplo, 10.128.0.2)
-
Em Porta, digite 5432.
-
Em Nome de usuário, digite migration_admin.
-
Em Senha, digite DMS_1s_cool! .
-
Em Região, selecione
. -
Mantenha os valores padrão dos outros campos.
-
Clique em Criar.
Um novo perfil de conexão chamado postgres-vm vai aparecer na lista de perfis de Conexão.
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 3. Criar e iniciar um job contínuo de migração
Ao criar um novo job de migração, primeiro é necessário definir a instância do banco de dados de origem usando um perfil de conexão criado anteriormente. Depois disso, crie uma nova instância de banco de dados de destino e configure a conectividade entre as instâncias de origem e de destino.
Nesta tarefa, você usará a interface do job de migração para criar uma nova instância de banco de dados do Cloud SQL para PostgreSQL e a definirá como o destino para o job contínuo de migração da instância de origem do PostgreSQL.
Criar um novo job contínuo de migração
Nesta etapa, você vai criar um novo job contínuo de migração.
-
No console do Google Cloud, no Menu de navegação (), clique em Migração de banco de dados > Jobs de migração.
-
Clique em + Criar job de migração.
-
Em Nome do job de migração, digite vm-to-cloudsql.
-
Em Mecanismo de banco de dados de origem, selecione PostgreSQL.
-
Em Região de destino, selecione
. -
Em Mecanismo de banco de dados de destino, selecione Cloud SQL para PostgreSQL.
-
Em Tipo de job de migração, selecione Contínuo.
Mantenha os valores padrão das outras configurações.
- Clique em Salvar e continuar.
Definir a instância de origem
Nesta etapa, você vai definir a instância de origem para a migração.
- Em Perfil de conexão de origem, selecione postgres-vm.
Mantenha os valores padrão das outras configurações.
- Clique em Salvar e continuar.
Criar a instância de destino
Nesta etapa, você vai criar a instância de destino para a migração.
-
Em ID da instância de destino, digite postgresql-cloudsql.
-
Em Senha, digite supersecret!.
-
Em Escolher uma edição do Cloud SQL, selecione a edição Empresarial.
-
Em Versão do banco de dados, selecione Cloud SQL para PostgreSQL 13.
-
Na sessão Escolher região e zona, selecione Zona única e selecione
como zona primária. -
Em Conectividade da instância, selecione IP particular e IP público.
-
Selecione Use um intervalo de IP alocado automaticamente.
Mantenha os valores padrão das outras configurações.
- Clique em Alocar e conectar.
Observação: isso pode levar alguns minutos. Se uma nova tentativa for solicitada, clique no botão Tentar de novo para atualizar a API Service Networking.
Quando essa etapa for concluída, uma mensagem atualizada vai notificar que a instância usará a conexão de serviço gerenciado atual.
Será necessário editar o arquivo pg_hba.conf na instância da VM para permitir o acesso ao intervalo de IP gerado automaticamente no ponto 5 da etapa anterior. Você fará isso em uma etapa posterior antes de testar a configuração da migração ao final desta tarefa.
Insira as informações adicionais necessárias para criar a instância de destino no Cloud SQL.
-
Em Tipos de máquina, selecione 1 vCPU, 3,75 GB
-
Em Tipo de armazenamento, selecione SSD
-
Em Capacidade de armazenamento, selecione 10 GB
-
Clique em Criar e continuar.
Se precisar confirmar, clique em Criar destino e continuar. Uma mensagem vai informar que a instância do banco de dados de destino está sendo criada. Continue para a próxima etapa enquanto espera.
Definir método de conectividade
Nesta etapa, você vai definir o método de conectividade para a migração.
-
Em Método de conectividade, selecione Peering de VPC.
-
Em VPC, selecione padrão.
O peering de VPC é configurado pelo Database Migration Service usando as informações fornecidas para a rede VPC (a rede padrão neste exemplo).
Ao ver uma mensagem atualizada dizendo que a instância de destino foi criada, prossiga para a próxima etapa.
- Clique em Configurar e continuar.
Permitir o acesso à instância postgresql-vm de um intervalo de IP alocado automaticamente
Nesta etapa, você vai editar o arquivo de configuração do PostgreSQL pg_hba.conf
para permitir que o Database Migration Service acesse o banco de dados independente do PostgreSQL.
-
Obter intervalo de endereços IP alocado. No console do Google Cloud, no Menu de navegação (), clique com o botão direito do mouse em Rede VPC > Peering de rede VPC e abra em uma nova aba.
-
Clique na entrada
servicenetworking-googleapis-com
. -
Na guia Rotas importadas, selecione e copie o
Intervalo de IPs de destino
(por exemplo, 10.107.176.0/24). -
Na sessão do terminal na instância da VM, edite o arquivo
pg_hba.conf
desta forma:
- Na última linha do arquivo:
substitua o intervalo "todos os endereços IP" (0.0.0.0/0) pelo intervalo copiado no ponto 3 acima.
-
Salve e saia do editor nano com Ctrl-O, Enter, Ctrl-X
-
Reinicie o serviço PostgreSQL para que as mudanças entrem em vigor. Na sessão do Terminal da instância da VM:
Testar e iniciar o job contínuo de migração
Nesta etapa, você vai testar e iniciar o job de migração.
-
Na guia Database Migration Service aberta anteriormente, confira os detalhes do job de migração.
-
Clique em Job de teste.
-
Após um teste bem-sucedido, clique em Criar e iniciar job.
Se precisar confirmar, clique em Criar e iniciar.
Revisar o status do job contínuo de migração
Nesta etapa, você vai confirmar se o job contínuo de migração está sendo executado.
-
No console do Google Cloud, no Menu de navegação (), clique em Migração de banco de dados > Jobs de migração.
-
Clique no job de migração vm-to-cloudsql para ver a página de detalhes.
-
Revise o status do job de migração.
- Se job não tiver sido iniciado, o status será Não iniciado. Você poderá escolher iniciar ou excluir o job.
- Após o início do job, o status será Iniciando e depois, Em execução Despejo completo em andamento para indicar que o despejo inicial do banco de dados está em andamento.
- Quando o despejo inicial do banco de dados for concluído, o status será Em execução CDC em andamento para indicar que a migração contínua está ativa.
Quando o status do job mudar para Em execução CDC em andamento, prossiga para a próxima tarefa.
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 4. Confirmar dados no Cloud SQL para PostgreSQL
Verificar os bancos de dados PostgreSQL no Cloud SQL
-
No console do Google Cloud, no Menu de navegação (), clique em Bancos de dados > SQL.
-
Expanda o ID de instância chamado postgresql-cloudsql-master.
-
Clique na instância postgresql-cloudsql (réplica de leitura do PostgreSQL).
-
No menu Instância réplica, clique em Bancos de dados.
Observe que os bancos de dados chamados postgres, orders e gmemegen_db foram migrados para o Cloud SQL.
Conectar à instância do PostgreSQL
-
No menu Instância réplica, clique em Visão geral.
-
Role para baixo até a sessão Conectar a esta instância e clique em Abrir Cloud Shell.
O comando para conectar ao PostgreSQL vai pré-preencher no Cloud Shell:
- Execute o comando pré-preenchido.
Se precisar, clique em Autorizar para a API.
- Se precisar inserir uma senha, que você já definiu, digite:
Você acaba de ativar o console interativo do PostgreSQL para a instância de destino.
Revisar os dados na instância do Cloud SQL para PostgreSQL
- Para selecionar os dados no console interativo do PostgreSQL, execute o seguinte comando:
- Quando uma senha for solicitada, insira:
- Consulte a tabela
distribution_centers
:
(Saída)
- Para sair do console interativo do PostgreSQL, digite:
Atualizar os dados independentes de origem para testar a migração contínua
- No Cloud Shell, digite os comandos abaixo para se conectar à instância de origem do PostgreSQL:
- Quando uma senha for solicitada, insira:
- Em psql, digite os comandos abaixo:
- Feche a sessão interativa de psql:
Conectar-se ao banco de dados Cloud SQL PostgreSQL para verificar se os dados atualizados foram migrados
- No Cloud Shell, digite os comandos abaixo para se conectar à instância do Cloud SQL PostgreSQL:
- Se precisar inserir uma senha, que você já definiu, digite a senha para a instância do Cloud SQL:
Você acaba de ativar o console interativo do PostgreSQL para a instância de destino.
Revisar os dados no banco de dados do Cloud SQL para PostgreSQL
- No Cloud Shell, selecione o banco de dados ativo no console interativo do PostgreSQL:
- Se precisar inserir uma senha, que você já definiu, digite:
- Consulte a tabela
distribution_centers
:
(Saída)
Observe que a nova linha adicionada no banco de dados independente orders
agora está presente no banco de dados migrado.
- Saia do console interativo do PostgreSQL:
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 5. Promover o Cloud SQL a uma instância independente para ler e gravar dados
-
No console do Google Cloud, no Menu de navegação (), clique em Migração de banco de dados > Jobs de migração.
-
Clique no nome do job de migração vm-to-cloudsql para ver a página de detalhes.
-
Clique em Promover.
Se precisar confirmar, clique em Promover.
Quando a promoção for concluída, o status do job será atualizado para Concluído.
- No console do Google Cloud, no Menu de navegação (), clique em Bancos de dados > SQL.
Observe que postgresql-cloudsql agora é uma instância independente para ler e gravar dados.
Clique em Verificar meu progresso para conferir o objetivo.
Parabéns!
Você aprendeu a configurar um job contínuo do Database Migration Service para migrar bancos de dados de uma instância do PostgreSQL para o Cloud SQL para PostgreSQL.
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 14 de maio de 2024
Laboratório testado em 14 de maio de 2024
Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.