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 Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar 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, e 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).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
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 por ele, uma caixa de diálogo vai aparecer para você 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 | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
Clique em Próxima.
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
Clique em Próxima.
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.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
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.
Clique nas seguintes janelas:
Continue na janela de informações do Cloud Shell.
Autorize o Cloud Shell a usar suas credenciais para fazer chamadas de APIs do Google Cloud.
Depois de se conectar, você verá 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:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
A 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:
gcloud auth list
Clique em Autorizar.
Saída:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
(Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project
Saída:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Observação: consulte a documentação completa da gcloud no Google Cloud no guia de visão geral da gcloud CLI.
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 dados postgres, orders e gmemegen_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 de Conectar, 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:
sudo apt install postgresql-13-pglogical
Observação: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:
sudo su - postgres -c "gsutil cp gs://cloud-training/gsp918/pg_hba_append.conf ."
sudo su - postgres -c "gsutil cp gs://cloud-training/gsp918/postgresql_append.conf ."
sudo su - postgres -c "cat pg_hba_append.conf >> /etc/postgresql/13/main/pg_hba.conf"
sudo su - postgres -c "cat postgresql_append.conf >> /etc/postgresql/13/main/postgresql.conf"
sudo systemctl restart postgresql@13-main
Em pg_hba.conf, estes comandos adicionaram uma regra para permitir o acesso a todos os hosts:
#GSP918 - permitir acesso a todos os hosts
host all all 0.0.0.0/0 md5
Em postgresql.conf, estes comandos definiram a configuração mínima para que pglogical detecte em todos os endereços:
#GSP918 - added configuration for pglogical database extension
wal_level = logical # minimal, replica, or logical
max_worker_processes = 10 # one per database needed on provider node
# one per node needed on subscriber node
max_replication_slots = 10 # one per node needed on provider node
max_wal_senders = 10 # one per node needed on provider node
shared_preload_libraries = 'pglogical'
max_wal_size = 1GB
min_wal_size = 80MB
listen_addresses = '*' # what IP address(es) to listen on, '*' is all
Os snippets de código acima foram adicionados ao final dos arquivos relevantes e o serviço PostgreSQL foi reiniciado.
Inicie a ferramenta psql:
sudo su - postgres
psql
Adicione a extensão de banco de dados pglogical aos bancos de dados postgres, orders e gmemegen_db.
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.
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:
CREATE USER migration_admin PASSWORD 'DMS_1s_cool!';
ALTER DATABASE orders OWNER TO migration_admin;
ALTER ROLE migration_admin WITH REPLICATION;
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 dados postgres.
\c postgres;
GRANT USAGE ON SCHEMA pglogical TO migration_admin;
GRANT ALL ON SCHEMA pglogical TO migration_admin;
GRANT SELECT ON pglogical.tables TO migration_admin;
GRANT SELECT ON pglogical.depend TO migration_admin;
GRANT SELECT ON pglogical.local_node TO migration_admin;
GRANT SELECT ON pglogical.local_sync_status TO migration_admin;
GRANT SELECT ON pglogical.node TO migration_admin;
GRANT SELECT ON pglogical.node_interface TO migration_admin;
GRANT SELECT ON pglogical.queue TO migration_admin;
GRANT SELECT ON pglogical.replication_set TO migration_admin;
GRANT SELECT ON pglogical.replication_set_seq TO migration_admin;
GRANT SELECT ON pglogical.replication_set_table TO migration_admin;
GRANT SELECT ON pglogical.sequence_state TO migration_admin;
GRANT SELECT ON pglogical.subscription TO migration_admin;
Em psql, atribua permissões para o esquema e as tabelas pglogical para o banco de dados orders.
\c orders;
GRANT USAGE ON SCHEMA pglogical TO migration_admin;
GRANT ALL ON SCHEMA pglogical TO migration_admin;
GRANT SELECT ON pglogical.tables TO migration_admin;
GRANT SELECT ON pglogical.depend TO migration_admin;
GRANT SELECT ON pglogical.local_node TO migration_admin;
GRANT SELECT ON pglogical.local_sync_status TO migration_admin;
GRANT SELECT ON pglogical.node TO migration_admin;
GRANT SELECT ON pglogical.node_interface TO migration_admin;
GRANT SELECT ON pglogical.queue TO migration_admin;
GRANT SELECT ON pglogical.replication_set TO migration_admin;
GRANT SELECT ON pglogical.replication_set_seq TO migration_admin;
GRANT SELECT ON pglogical.replication_set_table TO migration_admin;
GRANT SELECT ON pglogical.sequence_state TO migration_admin;
GRANT SELECT ON pglogical.subscription TO migration_admin;
Em psql, atribua permissões para o esquema e as tabelas public para o banco de dados orders.
GRANT USAGE ON SCHEMA public TO migration_admin;
GRANT ALL ON SCHEMA public TO migration_admin;
GRANT SELECT ON public.distribution_centers TO migration_admin;
GRANT SELECT ON public.inventory_items TO migration_admin;
GRANT SELECT ON public.order_items TO migration_admin;
GRANT SELECT ON public.products TO migration_admin;
GRANT SELECT ON public.users TO migration_admin;
Em psql, atribua permissões para o esquema e as tabelas pglogical para o banco de dados gmemegen_db.
\c gmemegen_db;
GRANT USAGE ON SCHEMA pglogical TO migration_admin;
GRANT ALL ON SCHEMA pglogical TO migration_admin;
GRANT SELECT ON pglogical.tables TO migration_admin;
GRANT SELECT ON pglogical.depend TO migration_admin;
GRANT SELECT ON pglogical.local_node TO migration_admin;
GRANT SELECT ON pglogical.local_sync_status TO migration_admin;
GRANT SELECT ON pglogical.node TO migration_admin;
GRANT SELECT ON pglogical.node_interface TO migration_admin;
GRANT SELECT ON pglogical.queue TO migration_admin;
GRANT SELECT ON pglogical.replication_set TO migration_admin;
GRANT SELECT ON pglogical.replication_set_seq TO migration_admin;
GRANT SELECT ON pglogical.replication_set_table TO migration_admin;
GRANT SELECT ON pglogical.sequence_state TO migration_admin;
GRANT SELECT ON pglogical.subscription TO migration_admin;
Em psql, atribua permissões para o esquema e as tabelas public para o banco de dados gmemegen_db.
GRANT USAGE ON SCHEMA public TO migration_admin;
GRANT ALL ON SCHEMA public TO migration_admin;
GRANT SELECT ON public.meme TO migration_admin;
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:
\c orders;
\dt
ALTER TABLE public.distribution_centers OWNER TO migration_admin;
ALTER TABLE public.inventory_items OWNER TO migration_admin;
ALTER TABLE public.order_items OWNER TO migration_admin;
ALTER TABLE public.products OWNER TO migration_admin;
ALTER TABLE public.users OWNER TO migration_admin;
\dt
List of relations
Schema | Name | Type | Owner
--------+----------------------+-------+-------
public | distribution_centers | table | migration_admin
public | inventory_items | table | migration_admin
public | order_items | table | migration_admin
public | products | table | migration_admin
public | users | table | migration_admin
(5 rows)
Saia de psql e da sessão do usuário postgres
\q
exit
Clique em Verificar meu progresso para conferir o objetivo.
Prepare a instância de origem do PostgreSQL para migração.
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.
Criar um perfil de conexão para a instância de origem do PostgreSQL.
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:
sudo nano /etc/postgresql/13/main/pg_hba.conf
Na última linha do arquivo:
#GSP918 - allow access to all hosts
host all all 0.0.0.0/0 md5
substitua o intervalo "todos os endereços IP" (0.0.0.0/0) pelo intervalo copiado no ponto 3 acima.
#GSP918 - allow access to all hosts
host all all 10.107.176.0/24 md5
Observação: a etapa acima não é obrigatória para que a migração funcione, mas é recomendável para que o banco de dados de origem esteja mais seguro durante o processo de migração. Isso também restringe o acesso após a migração, quando o banco de dados migrado se torna a fonte de verdade.
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:
sudo systemctl start postgresql@13-main
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.
Criar, iniciar e revisar um job contínuo de migração.
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:
Se precisar inserir uma senha, que você já definiu, digite:
supersecret!
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:
\c orders;
Quando uma senha for solicitada, insira:
supersecret!
Consulte a tabela distribution_centers:
select * from distribution_centers;
(Saída)
longitude | latitude | name | id
-----------+----------+---------------------------------------------+----
-89.9711 | 35.1174 | Memphis TN | 1
-87.6847 | 41.8369 | Chicago IL | 2
-95.3698 | 29.7604 | Houston TX | 3
-118.25 | 34.05 | Los Angeles CA | 4
-90.0667 | 29.95 | New Orleans LA | 5
-73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6
-75.1667 | 39.95 | Philadelphia PA | 7
-88.0431 | 30.6944 | Mobile AL | 8
-79.9333 | 32.7833 | Charleston SC | 9
-81.1167 | 32.0167 | Savannah GA | 10
Para sair do console interativo do PostgreSQL, digite:
\q
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:
export VM_NAME=postgresql-vm
export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
export POSTGRESQL_IP=$(gcloud compute instances describe ${VM_NAME} \
--zone={{{ project_0.default_zone|(zone) }}} --format="value(networkInterfaces[0].accessConfigs[0].natIP)")
echo $POSTGRESQL_IP
psql -h $POSTGRESQL_IP -p 5432 -d orders -U migration_admin
Observação: a abordagem acima é uma alternativa para acessar o banco de dados independente na instância da VM.
Quando uma senha for solicitada, insira:
DMS_1s_cool!
Em psql, digite os comandos abaixo:
\c orders;
insert into distribution_centers values(-80.1918,25.7617,'Miami FL',11);
Feche a sessão interativa de psql:
\q
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:
supersecret!
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:
\c orders;
Se precisar inserir uma senha, que você já definiu, digite:
supersecret!
Consulte a tabela distribution_centers:
select * from distribution_centers;
(Saída)
longitude | latitude | name | id
-----------+----------+---------------------------------------------+----
-89.9711 | 35.1174 | Memphis TN | 1
-87.6847 | 41.8369 | Chicago IL | 2
-95.3698 | 29.7604 | Houston TX | 3
-118.25 | 34.05 | Los Angeles CA | 4
-90.0667 | 29.95 | New Orleans LA | 5
-73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6
-75.1667 | 39.95 | Philadelphia PA | 7
-88.0431 | 30.6944 | Mobile AL | 8
-79.9333 | 32.7833 | Charleston SC | 9
-81.1167 | 32.0167 | Savannah GA | 10
-80.1918 | 25.7617 | Miami FL | 11
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:
\q
Clique em Verificar meu progresso para conferir o objetivo.
Testar a migração contínua de dados da origem para o destino.
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.
Promover o banco de dados do Cloud SQL para PostgreSQL a uma instância independente para ler e gravar dados.
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 2025 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.
Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
No canto superior esquerdo da tela, clique em Começar o laboratório
Usar a navegação anônima
Copie o nome de usuário e a senha fornecidos para o laboratório
Clique em Abrir console no modo anônimo
Fazer login no console
Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
Aceite os termos e pule a página de recursos de recuperação
Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto
Este conteúdo não está disponível no momento
Você vai receber uma notificação por e-mail quando ele estiver disponível
Ótimo!
Vamos entrar em contato por e-mail se ele ficar disponível
Um laboratório por vez
Confirme para encerrar todos os laboratórios atuais e iniciar este
Use a navegação anônima para executar o laboratório
Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
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 VPC para conectividade.
Duração:
Configuração: 1 minutos
·
Tempo de acesso: 90 minutos
·
Tempo para conclusão: 60 minutos