Nesta página, descrevemos como realizar migrações de início rápido para migrações homogêneas do PostgreSQL para o AlloyDB para PostgreSQL.
Visão geral
As migrações de início rápido são um fluxo de migração contínua leve para cenários homogêneos do PostgreSQL. Com as migrações de início rápido, o Database Migration Service pode configurar automaticamente tudo o que você precisa para migrar seus bancos de dados: componentes de rede (anexos de rede, sub-redes, configurações de conectividade privada), perfis de conexão e jobs de migração.
Com as migrações de início rápido, é possível mover seus dados para um cluster do AlloyDB para PostgreSQL ou criar um novo ao configurar a migração. As migrações de início rápido são mais adequadas para:
- Migrações básicas, em que não é necessário controle preciso sobre as configurações de paralelismo de despejo de dados.
- Migrar seu banco de dados de um projeto Google Cloud para outro. Ao configurar uma migração de início rápido, é possível criar o cluster de destino em um projeto diferente da origem e definir o Database Migration Service para criar o anexo de rede e a sub-rede na rede de nuvem privada virtual (VPC) de outro projeto.
-
Migrar de fontes que têm um endereço IP particular na sua rede de nuvem privada virtual (VPC) do Google Cloud, como bancos de dados autogerenciados no Compute Engine ou instâncias do Cloud SQL para PostgreSQL ativadas para rede particular.
Fontes hospedadas fora do Google Cloud podem precisar de componentes de rede adicionais, como uma conexão do Cloud VPN, para serem acessadas em um endereço IP privado na sua rede VPC.
- O único método compatível para conectividade de banco de dados são as interfaces do Private Service Connect com configurações de conectividade particular do Database Migration Service. O banco de dados de origem precisa ter um IP privado atribuído na rede VPC. Outros métodos de conectividade de origem homogêneos (como listas de permissões de IP público, túneis SSH reversos ou peering de VPC) não são compatíveis com migrações de início rápido.
Para saber mais sobre migrações de início rápido, consulte Visão geral das migrações de início rápido na documentação principal do Database Migration Service.
Antes de começar
- Verifique se as migrações de início rápido podem oferecer suporte total ao seu cenário. Consulte Limitações da migração de início rápido.
-
Faça login na sua Conta do Google.
Se você ainda não tiver uma, inscreva-se agora.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Ative as APIs do Database Migration Service, do Compute Engine, do Network Connectivity Center e do AlloyDB para PostgreSQL Admin.
Funções exigidas
Para receber as permissões necessárias para executar migrações de início rápido para o AlloyDB para PostgreSQL com o Database Migration Service, peça ao administrador que conceda os papéis necessários do Identity and Access Management (IAM) para as contas envolvidas na migração nos projetos relevantes. Para mais informações sobre como conceder papéis, consulte Gerenciar o acesso na documentação do IAM.
Papéis e permissões no projeto de origem
Conceda os seguintes papéis a contas específicas no projeto Google Cloud em que o banco de dados fonte reside:
- Para a conta de usuário que realiza a migração:
Papel
Administrador de rede do Compute (
roles/compute.networkAdmin) - Para a conta de serviço do Database Migration Service do projeto de destino:
Leitor da rede do Compute (
roles/compute.networkViewer)A conta de serviço do Database Migration Service é criada quando você ativa a API Database Migration Service. O endereço de e-mail associado a essa conta é gerado automaticamente e não pode ser mudado. Esse endereço de e-mail usa o seguinte formato:
service-DESTINATION_PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com
Esses papéis predefinidos contêm as permissões necessárias para configurar a conectividade no projeto de banco de dados de origem como parte de uma migração de início rápido com o Database Migration Service. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias (fonte):
Permissões necessárias (fonte)
As permissões a seguir são necessárias para realizar migrações de início rápido homogêneas com o Database Migration Service:
Para a conta de usuário que realiza a migração:
compute.networks.*compute.subnetworks.*compute.networkAttachments.*
Para a conta de serviço do Database Migration Service do projeto de destino: compute.networkAttachments.get.
Papéis e permissões no projeto de destino
Conceda os seguintes papéis à conta de usuário que realiza a migração no projeto Google Cloud em que o banco de dados de destino reside:
-
Administrador de migração do banco de dados (
roles/datamigration.admin) -
Administrador do AlloyDB (
roles/alloydb.admin)
Esses papéis predefinidos contêm as permissões necessárias para configurar os componentes de migração necessários no projeto de banco de dados de destino como parte de uma migração de início rápido com o Database Migration Service. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias (destino):
Permissões necessárias (destino)
As permissões a seguir são necessárias para realizar migrações de início rápido homogêneas com o Database Migration Service:
datamigration.*alloydb.clusters.createalloydb.clusters.getalloydb.clusters.listalloydb.clusters.updatealloydb.clusters.deletealloydb.instances.createalloydb.instances.getalloydb.instances.listalloydb.instances.updatealloydb.instances.deletealloydb.instances.executeSqlalloydb.operations.getalloydb.users.listalloydb.users.getalloydb.users.createalloydb.users.updatealloydb.users.delete
Configurar o banco de dados de origem
Para configurar o banco de dados de origem do PostgreSQL, faça o seguinte:
- Crie uma conta de usuário de migração dedicada na instância.
- Para fontes do Cloud SQL para PostgreSQL, consulte Criar um usuário na documentação do Cloud SQL.
- Para outras fontes, consulte a documentação do provedor de banco de dados ou crie e gerencie usuários na documentação do PostgreSQL.
- Atribua os privilégios necessários à conta de usuário de migração dedicada.
Execute os seguintes comandos para cada banco de dados que você quer migrar:
-- Grant the REPLICATION attribute ALTER ROLE MIGRATION_USER REPLICATION; -- Grant database-level permissions. -- Repeat for each database you want to migrate. GRANT CONNECT, CREATE ON DATABASE DATABASE_NAME TO MIGRATION_USER; -- Grant schema-level usage. -- Repeat for each schema in each database you want to migrate. GRANT USAGE ON SCHEMA SCHEMA_NAME TO MIGRATION_USER;
Substitua:
- MIGRATION_USER com o nome da conta de usuário de migração.
- DATABASE_NAME com o nome do banco de dados que você quer migrar.
- SCHEMA_NAME com o nome do esquema no banco de dados que você quer migrar.
- A conta de usuário de migração precisa ter acesso de propriedade às tabelas que você
migrar. Para conceder esse nível de acesso, faça o seguinte:
- Para fontes que não sejam o Cloud SQL para PostgreSQL: atribua a
função
SUPERUSERdo PostgreSQL à conta de migração. - Para todas as fontes: adicione a conta de usuário de migração ao grupo de usuários proprietário das tabelas.
Execute este comando:
-- Grant table ownership. GRANT TABLE_OWNER_GROUP_NAME TO MIGRATION_USER;
Substitua:
- TABLE_OWNER_GROUP_NAME com o nome do grupo de usuários proprietário de cada tabela que você quer migrar.
- MIGRATION_USER com o nome da conta de usuário de migração.
- Para fontes que não sejam o Cloud SQL para PostgreSQL: atribua a
função
- Para tabelas sem chaves primárias: o Database Migration Service
não replica operações
UPDATEouDELETEpara tabelas sem chaves primárias durante a fase de captura de dados alterados (CDC). Se você quiser incluir essas operações na sua replicação, modifique as tabelas sem chaves primárias comREPLICA IDENTITY:ALTER TABLE TABLE_NAME REPLICA IDENTITY FULL; ALTER TABLE TABLE_NAME REPLICA IDENTITY USING INDEX INDEX_NAME;
Substitua:
- TABLE_NAME é o nome da tabela que não tem chaves primárias.
- INDEX_NAME é o índice exclusivo que pode rastrear linhas de tabelas sem chaves primárias.
- Configure as configurações de replicação usando flags de banco de dados.
Fontes autogerenciadas
Para salvar as mudanças nas flags do banco de dados, é necessário reiniciar o banco de dados por completo. Os exemplos a seguir usam consultas SQL para mudar valores de flags. Se não for possível executar consultas SQL diretamente, consulte a documentação do provedor para saber como mudar essas flags.
- Defina o parâmetro
wal_levelcomological. Execute este comando:ALTER SYSTEM SET wal_level = 'logical';
- Defina o
parâmetro
wal_sender_timeoutcomo0. Esse valor desativa o mecanismo de tempo limite usado para encerrar conexões de replicação inativas. Execute este comando:ALTER SYSTEM SET wal_sender_timeout = 0;
- Configure o número máximo de slots de replicação com o parâmetro
max_replication_slots. Esse parâmetro precisa ser definido como pelo menos o número de bancos de dados que você está migrando por job de migração, mais algumas reservas para sincronização de tabelas.Por exemplo, se você estiver migrando cinco bancos de dados e houver dois jobs de migração criados para a instância de origem, o número de slots de replicação precisará ser pelo menos
5 * 2 = 10, além do número de slots de replicação já usados por você.Para definir esse parâmetro, execute o seguinte comando:
em que NUMBER_OF_SLOTS representa o número máximo de slots de replicação.ALTER SYSTEM SET max_replication_slots = NUMBER_OF_SLOTS;
- Configure o parâmetro
max_wal_senderscom pelo menos o mesmo valor demax_replication_slots, além do número de remetentes já usados na sua instância.Por exemplo, se o parâmetro
max_replication_slotsestiver definido como10e você já estiver usando dois remetentes, o número de processos de remetentes WAL em execução ao mesmo tempo será10 + 2 = 12.Para definir esse parâmetro, execute o seguinte comando:
Em que NUMBER_OF_SENDERS representa o número de processos de remetente WAL em execução simultânea.ALTER SYSTEM SET max_wal_senders = NUMBER_OF_SENDERS;
- Defina o
max_worker_processescomo pelo menos o número de bancos de dados que você quer migrar, mais o número demax_worker_processesjá usados na sua instância. Para definir esse parâmetro, execute o seguinte comando: em que NUMBER_OF_PROCESSES representa o número de bancos de dados que serão migrados.ALTER SYSTEM SET max_worker_processes = NUMBER_OF_PROCESSES;
Fontes do Cloud SQL para PostgreSQL
Para origens do Cloud SQL, configure flags de banco de dados no console Google Cloud . É necessário reiniciar a instância depois de modificar as flags do banco de dados para que a configuração entre em vigor. Para mais informações sobre como definir flags de banco de dados no Cloud SQL, consulte Configurar flags de banco de dados na documentação do Cloud SQL.
- Defina a flag
cloudsql.logical_decodingcomoon. - Defina o parâmetro
wal_sender_timeoutcomo0. Esse valor desativa o mecanismo de tempo limite usado para encerrar conexões de replicação inativas. - Configure o número máximo de slots de replicação com o parâmetro
max_replication_slots. Esse parâmetro precisa ser definido como pelo menos o número de bancos de dados que você está migrando por job de migração, mais algumas reservas para sincronização de tabelas.Por exemplo, se você estiver migrando cinco bancos de dados e houver dois jobs de migração criados para a instância de origem, o número de slots de replicação precisará ser pelo menos
5 * 2 = 10, além do número de slots de replicação já usados por você. - Configure o parâmetro
max_wal_senderscom pelo menos o mesmo valor demax_replication_slots, mais o número de remetentes já usados na sua instância.Por exemplo, se o parâmetro
max_replication_slotsestiver definido como10e você já estiver usando dois remetentes, o número de processos de remetentes WAL em execução ao mesmo tempo será10 + 2 = 12. - Defina
max_worker_processescomo, pelo menos, o número de bancos de dados que você quer migrar, mais o número demax_worker_processesjá usados na sua instância.
- Defina o parâmetro
Criar e executar uma migração de início rápido
Para criar e executar uma migração de início rápido, use o console do Google Cloud ou a CLI gcloud.
Console
- No console do Google Cloud , acesse a página Começar.
- No menu Mecanismo de origem, selecione PostgreSQL.
- No menu Mecanismo de destino, selecione
AlloyDB para PostgreSQL.
A seção Apresentamos a migração de início rápido do PostgreSQL aparece.
- Na seção Apresentamos a migração de início rápido do PostgreSQL, clique em Iniciar migração.
A página Migrar para o AlloyDB para PostgreSQL é aberta.
- Na seção Configurar migração, faça o seguinte:
- No menu Região de destino, selecione a região do cluster de destino do AlloyDB para PostgreSQL.
- Na caixa Prefixo de migração, insira uma string fácil de usar que será adicionada aos nomes de todas as entidades de migração criadas para a migração de início rápido: perfis de conexão, configuração de conectividade privada, anexo de rede e sub-rede, além do job de migração.
- No menu Tipo de configuração, selecione uma das seguintes opções:
- Configuração de conectividade atual: selecione essa opção se você já tiver um anexo de rede e uma configuração de conectividade privada que use o método de interfaces do Private Service Connect. Essa opção é melhor se você já usou migrações de início rápido e quer reutilizar os mesmos recursos de rede.
- Nova configuração de conectividade: selecione esta opção para criar um novo anexo de rede e a sub-rede de anexo de rede na rede VPC do banco de dados de origem. A configuração de conectividade privada será criada no mesmo projeto do cluster de destino.
Clique em Continuar.
- Na seção Conectar origem, faça o seguinte:
- Insira um nome do host ou o endereço IP particular do banco de dados de origem. O endereço do banco de dados de origem precisa estar acessível na rede VPC de origem.
- Insira a porta usada para acessar o host. A porta padrão do PostgreSQL é
5432. - Digite o nome de usuário e a senha da conta de migração dedicada no banco de dados de origem.
- No menu Tipo de criptografia, selecione uma das seguintes opções:
- Nenhum: se o banco de dados de origem não exigir conexões criptografadas com SSL/TLS.
- Obrigatório: se o banco de dados de origem exigir conexões criptografadas com SSL/TLS. Essa opção não exige verificação de certificado.
- No menu Bancos de dados a serem migrados, clique em Personalizar. Use o painel lateral para selecionar apenas os bancos de dados que você quer migrar para o AlloyDB para PostgreSQL. Clique em Continuar.
- Na seção Configurar destino, você pode criar um cluster de destino ou selecionar um já existente.
Novos clusters
Se você quiser criar um cluster de destino, faça o seguinte:
- No menu Tipo de instância de destino, selecione Novo cluster.
O Database Migration Service usa a configuração padrão do AlloyDB para PostgreSQL para um novo cluster. Clique em Personalizar para ajustar os recursos do cluster, como tipo de máquina, disponibilidade zonal ou configurações de proteção de dados. Para mais informações sobre a configuração de clusters, consulte Criar um cluster e a instância principal dele na documentação do AlloyDB para PostgreSQL.
- No campo Senha, insira uma senha para o usuário
administrador
postgresqlpadrão. O Database Migration Service se conecta como esse usuário para migrar seus dados.
Clusters atuais
É possível migrar bancos de dados para um cluster que já existe. Verifique se o cluster de destino está ativado para o Private Service Connect e não exige mTLS com conectores do AlloyDB. Faça o seguinte:
- No menu Tipo de instância de destino, selecione Cluster atual.
- No menu ID do cluster atual, selecione o identificador do cluster.
- No menu Tipo de instância de destino, selecione Novo cluster.
- Clique em Iniciar migração.
O Database Migration Service cria o job de migração e inicia o processo de migração. É possível monitorar o progresso da migração e a integridade do cluster de destino no AlloyDB para PostgreSQL. Para mais informações, consulte Ver detalhes da instância na documentação do AlloyDB para PostgreSQL.
gcloud
Para criar e executar uma migração de início rápido usando a CLI gcloud, faça o seguinte:
-
Configure o anexo de rede.
Decida se você quer criar um novo anexo de rede ou reutilizar um existente. Você precisa ter um anexo de rede na rede em que o IP privado do banco de dados de origem pode ser acessado.- Se você quiser criar um novo anexo de rede, execute o seguinte comando (clique para expandir todos os detalhes):
gcloud compute network-attachments createAntes de usar os dados do comando abaixo, faça estas substituições:
- NETWORK_ATTACHMENT com o nome do anexo de rede a ser criado.
- REGION pela região do anexo de rede.
- DEST_PROJECT_ID com o ID do projeto de destino.
- SOURCE_PROJECT_ID com o ID do projeto em que a rede de origem está localizada.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud compute network-attachments create NETWORK_ATTACHMENT \ --region=REGION \ --connection-preference=ACCEPT_MANUAL \ --producer-accept-list=DEST_PROJECT_ID \ --subnets=default \ --project=SOURCE_PROJECT_ID
Windows (PowerShell)
gcloud compute network-attachments create NETWORK_ATTACHMENT ` --region=REGION ` --connection-preference=ACCEPT_MANUAL ` --producer-accept-list=DEST_PROJECT_ID ` --subnets=default ` --project=SOURCE_PROJECT_ID
Windows (cmd.exe)
gcloud compute network-attachments create NETWORK_ATTACHMENT ^ --region=REGION ^ --connection-preference=ACCEPT_MANUAL ^ --producer-accept-list=DEST_PROJECT_ID ^ --subnets=default ^ --project=SOURCE_PROJECT_ID
- Se você quiser criar um novo anexo de rede, execute o seguinte comando (clique para expandir todos os detalhes):
-
Permita que o projeto de locatário do Database Migration Service acesse seu anexo de rede.
O anexo de rede precisa permitir conexões do projeto de locatário do Database Migration Service. Siga as etapas abaixo:- Recupere o ID do projeto do locatário do Database Migration Service fazendo um teste de criação de conexão particular (clique para expandir):
gcloud database-migration private-connections create --validate-onlyAntes de usar os dados do comando abaixo, faça estas substituições:
- PRIVATE_CONN com o nome do recurso de conexão particular.
- REGION pela região da conexão particular.
- NETWORK_ATTACHMENT_URI com o URI do anexo de rede.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration private-connections create PRIVATE_CONN \ --region=REGION \ --network-attachment=NETWORK_ATTACHMENT_URI \ --display-name=PRIVATE_CONN \ --format="value(metadata.metadata.tenant_project_id)" \ --validate-only
Windows (PowerShell)
gcloud database-migration private-connections create PRIVATE_CONN ` --region=REGION ` --network-attachment=NETWORK_ATTACHMENT_URI ` --display-name=PRIVATE_CONN ` --format="value(metadata.metadata.tenant_project_id)" ` --validate-only
Windows (cmd.exe)
gcloud database-migration private-connections create PRIVATE_CONN ^ --region=REGION ^ --network-attachment=NETWORK_ATTACHMENT_URI ^ --display-name=PRIVATE_CONN ^ --format="value(metadata.metadata.tenant_project_id)" ^ --validate-only
Salve o ID do projeto do locatário retornado para usar com comandos subsequentes.
- Permita que o projeto do locatário do Database Migration Service e o projeto de destino se conectem ao anexo de rede (clique para expandir):
gcloud compute network-attachments updateAntes de usar os dados do comando abaixo, faça estas substituições:
- NETWORK_ATTACHMENT pelo nome do anexo de rede.
- REGION com a região.
- DEST_PROJECT_ID com o ID do projeto de destino.
- DMS_TENANT_ID com o ID do projeto de locatário do Database Migration Service recuperado.
- SOURCE_PROJECT_ID com o ID do projeto em que a rede de origem está localizada.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud compute network-attachments update NETWORK_ATTACHMENT \ --region=REGION \ --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \ --project=SOURCE_PROJECT_ID
Windows (PowerShell)
gcloud compute network-attachments update NETWORK_ATTACHMENT ` --region=REGION ` --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID ` --project=SOURCE_PROJECT_ID
Windows (cmd.exe)
gcloud compute network-attachments update NETWORK_ATTACHMENT ^ --region=REGION ^ --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID ^ --project=SOURCE_PROJECT_ID
- Recupere o ID do projeto do locatário do Database Migration Service fazendo um teste de criação de conexão particular (clique para expandir):
-
Crie uma conexão particular.
Crie um recurso de conexão particular para permitir que o Database Migration Service se conecte à sua rede de origem (clique para expandir):gcloud database-migration private-connections createAntes de usar os dados do comando abaixo, faça estas substituições:
- PRIVATE_CONN com o nome do recurso de conexão particular.
- REGION pela região da conexão particular.
- NETWORK_ATTACHMENT_URI com o URI do anexo de rede.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration private-connections create PRIVATE_CONN \ --region=REGION \ --network-attachment=NETWORK_ATTACHMENT_URI \ --display-name=PRIVATE_CONN
Windows (PowerShell)
gcloud database-migration private-connections create PRIVATE_CONN ` --region=REGION ` --network-attachment=NETWORK_ATTACHMENT_URI ` --display-name=PRIVATE_CONN
Windows (cmd.exe)
gcloud database-migration private-connections create PRIVATE_CONN ^ --region=REGION ^ --network-attachment=NETWORK_ATTACHMENT_URI ^ --display-name=PRIVATE_CONN
-
Crie um perfil de conexão de origem.
Execute o seguinte comando (clique para expandir):gcloud database-migration connection-profiles create postgresqlEste exemplo usa a flag opcional
--no-asyncpara que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag--no-asyncpara executar comandos de forma assíncrona. Se sim, use o comandogcloud database-migration operations describepara verificar se a operação foi bem-sucedida.Antes de usar os dados do comando abaixo, faça estas substituições:
- SOURCE_CONN_ID com o identificador do perfil de conexão de origem.
- REGION com a região em que você quer salvar o perfil de conexão.
- SOURCE_PRIVATE_IP com o endereço IP particular do banco de dados de origem.
- SOURCE_PORT com a porta do banco de dados de origem (o padrão é 5432).
- SOURCE_USER com o nome de usuário do usuário de migração no banco de dados de origem.
- SOURCE_PASSWORD com a senha do usuário de migração no banco de dados de origem.
- PRIVATE_CONN com o nome do recurso de conexão particular.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles create postgresql \ SOURCE_CONN_ID \ --region=REGION \ --role=SOURCE \ --host=SOURCE_PRIVATE_IP \ --port=SOURCE_PORT \ --username=SOURCE_USER \ --password=SOURCE_PASSWORD \ --private-connection=PRIVATE_CONN \ --no-async
Windows (PowerShell)
gcloud database-migration connection-profiles create postgresql ` SOURCE_CONN_ID ` --region=REGION ` --role=SOURCE ` --host=SOURCE_PRIVATE_IP ` --port=SOURCE_PORT ` --username=SOURCE_USER ` --password=SOURCE_PASSWORD ` --private-connection=PRIVATE_CONN ` --no-async
Windows (cmd.exe)
gcloud database-migration connection-profiles create postgresql ^ SOURCE_CONN_ID ^ --region=REGION ^ --role=SOURCE ^ --host=SOURCE_PRIVATE_IP ^ --port=SOURCE_PORT ^ --username=SOURCE_USER ^ --password=SOURCE_PASSWORD ^ --private-connection=PRIVATE_CONN ^ --no-async
-
Crie o perfil de conexão de destino.
Selecione a guia de acordo com o tipo de cluster do AlloyDB para PostgreSQL que você quer migrar:Novos clusters
Para usar um novo cluster de destino na migração de início rápido, primeiro crie o cluster e a instância principal dele com a CLI do Google Cloud do AlloyDB para PostgreSQL, e depois crie o perfil de conexão de destino. Siga estas etapas:
-
Crie um cluster e a instância principal dele com a CLI do Google Cloud do AlloyDB para PostgreSQL.
Use a flag
--enable-private-service-connectpara ativar o cluster de destino para o Private Service Connect. As migrações de início rápido só são compatíveis com destinos ativados para o Private Service Connect. - Crie o perfil de conexão de destino para o novo cluster.
Abra a seção a seguir para ver todos os detalhes do comando.
gcloud database-migration connection-profiles create postgresqlEste exemplo usa a flag opcional
--no-asyncpara que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag--no-asyncpara executar comandos de forma assíncrona. Se sim, use o comandogcloud database-migration operations describepara verificar se a operação foi bem-sucedida.Antes de usar os dados do comando abaixo, faça estas substituições:
- DEST_CONN_ID com o identificador do perfil de conexão de destino.
- REGION com a região em que você quer salvar o perfil de conexão. Essa região precisa ser a mesma do cluster de destino.
- DEST_CLUSTER com o ID ou o caminho completo do recurso do cluster de destino do AlloyDB para PostgreSQL.
- DEST_USER com o nome de usuário do usuário de migração no banco de dados de destino.
- DEST_PASSWORD com a senha do usuário de migração no banco de dados de destino.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \ --region=REGION \ --alloydb-cluster=DEST_CLUSTER \ --username=DEST_USER \ --password=DEST_PASSWORD \ --role=DESTINATION \ --no-async
Windows (PowerShell)
gcloud database-migration connection-profiles create postgresql DEST_CONN_ID ` --region=REGION ` --alloydb-cluster=DEST_CLUSTER ` --username=DEST_USER ` --password=DEST_PASSWORD ` --role=DESTINATION ` --no-async
Windows (cmd.exe)
gcloud database-migration connection-profiles create postgresql DEST_CONN_ID ^ --region=REGION ^ --alloydb-cluster=DEST_CLUSTER ^ --username=DEST_USER ^ --password=DEST_PASSWORD ^ --role=DESTINATION ^ --no-async
Você receberá uma resposta semelhante a esta:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Clusters atuais
Para migrar para um cluster de destino atual, crie o perfil de conexão apontando para o cluster pré-criado. Execute o seguinte comando (clique para expandir):
gcloud database-migration connection-profiles create postgresqlEste exemplo usa a flag opcional
--no-asyncpara que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag--no-asyncpara executar comandos de forma assíncrona. Se sim, use o comandogcloud database-migration operations describepara verificar se a operação foi bem-sucedida.Antes de usar os dados do comando abaixo, faça estas substituições:
- DEST_CONN_ID com o identificador do perfil de conexão de destino.
- REGION com a região em que você quer salvar o perfil de conexão. Essa região precisa ser a mesma do cluster de destino.
- DEST_CLUSTER com o ID ou o caminho completo do recurso do cluster de destino do AlloyDB para PostgreSQL.
- DEST_USER com o nome de usuário do usuário de migração no banco de dados de destino.
- DEST_PASSWORD com a senha do usuário de migração no banco de dados de destino.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \ --region=REGION \ --alloydb-cluster=DEST_CLUSTER \ --username=DEST_USER \ --password=DEST_PASSWORD \ --role=DESTINATION \ --no-async
Windows (PowerShell)
gcloud database-migration connection-profiles create postgresql DEST_CONN_ID ` --region=REGION ` --alloydb-cluster=DEST_CLUSTER ` --username=DEST_USER ` --password=DEST_PASSWORD ` --role=DESTINATION ` --no-async
Windows (cmd.exe)
gcloud database-migration connection-profiles create postgresql DEST_CONN_ID ^ --region=REGION ^ --alloydb-cluster=DEST_CLUSTER ^ --username=DEST_USER ^ --password=DEST_PASSWORD ^ --role=DESTINATION ^ --no-async
Você receberá uma resposta semelhante a esta:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
-
Crie um cluster e a instância principal dele com a CLI do Google Cloud do AlloyDB para PostgreSQL.
Use a flag
-
Crie um job de migração.
Execute o comando a seguir para criar um job de migração contínua (clique para expandir):gcloud database-migration migration-jobs createEste exemplo usa a flag opcional
--no-asyncpara que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag--no-asyncpara executar comandos de forma assíncrona. Se sim, use o comandogcloud database-migration operations describepara verificar se a operação foi bem-sucedida.Antes de usar os dados do comando abaixo, faça estas substituições:
- MIGRATION_JOB_ID com o identificador do job de migração.
- REGION com a região em que você quer salvar o job de migração.
- SOURCE_CONN_ID com o identificador do perfil de conexão de origem.
- DEST_CONN_ID com o identificador do perfil de conexão de destino.
- DATABASES_LIST com uma lista separada por vírgulas dos bancos de dados que você quer migrar.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs create \ MIGRATION_JOB_ID \ --region=REGION \ --type=CONTINUOUS \ --source=SOURCE_CONN_ID \ --destination=DEST_CONN_ID \ --use-postgres-native \ --postgres-max-additional-subscriptions=10 \ --databases-filter=DATABASES_LIST \ --no-async
Windows (PowerShell)
gcloud database-migration migration-jobs create ` MIGRATION_JOB_ID ` --region=REGION ` --type=CONTINUOUS ` --source=SOURCE_CONN_ID ` --destination=DEST_CONN_ID ` --use-postgres-native ` --postgres-max-additional-subscriptions=10 ` --databases-filter=DATABASES_LIST ` --no-async
Windows (cmd.exe)
gcloud database-migration migration-jobs create ^ MIGRATION_JOB_ID ^ --region=REGION ^ --type=CONTINUOUS ^ --source=SOURCE_CONN_ID ^ --destination=DEST_CONN_ID ^ --use-postgres-native ^ --postgres-max-additional-subscriptions=10 ^ --databases-filter=DATABASES_LIST ^ --no-async
Você receberá uma resposta semelhante a esta:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
-
Inicie o job de migração.
Para iniciar o job de migração, execute o seguinte comando (clique para expandir):gcloud database-migration migration-jobs startgcloud database-migration migration-jobs start MIGRATION_JOB_ID \ --region=REGION
Finalizar a migração
Quando você decidir mudar seu aplicativo para a nova instância do AlloyDB para PostgreSQL, conclua a migração seguindo estas etapas:
- Interrompa todas as operações de gravação no banco de dados de origem. Você pode mudar para o modo somente leitura para manter a funcionalidade operacional.
- Promova o job de migração. Para migrações de início rápido, a instância de destino permanece gravável durante o processo de migração. A promoção do job de migração apenas encerra a replicação e não tem impacto na instância de destino.
- Opcional: verifique se os dados de migração estão completos.