A migração avançada é uma solução para migrar dados de bancos de dados grandes com menos tempo de inatividade. Esse recurso está disponível apenas para o AlloyDB Omni e o PostgreSQL.
Um usuário com o papel de administrador de banco de dados do projeto precisa realizar as etapas a seguir. Use o console do GDC ou a CLI do Distributed Cloud para gerenciar migrações:
Console
- No menu principal, escolha Serviço de banco de dados.
- Clique em Criar migração.
- Na caixa de diálogo Começar, revise os requisitos da origem e da conectividade.
- Na caixa de diálogo Especifique seu banco de dados de origem, informe o nome do host ou o endereço IP, o nome de usuário, a senha, o tipo de criptografia e o certificado do banco de dados de origem.
- Na caixa de diálogo Configurar seu cluster, especifique o ID do cluster, a senha, a versão do banco de dados, a CPU, a memória e a capacidade de armazenamento do cluster de banco de dados de destino. Escolha memória suficiente para armazenar sua maior tabela.
- Clique em Criar. A criação da migração e do cluster de banco de dados de destino pode levar alguns minutos.
O status muda de
Reconciling
paraReady
quando o cluster está pronto. O status da migração muda paraUnsynced
quando a migração é configurada com êxito. Use as seguintes opções para gerenciar sua migração:- Iniciar: inicia a migração e muda o status para
Running
. - Interromper: interrompe a migração e muda o status para
Stopped
. - Promover: promove o cluster de banco de dados de destino para um banco de dados independente.
- Excluir: exclui a migração e o cluster de banco de dados de destino criados para essa migração.
- Iniciar: inicia a migração e muda o status para
Faça a rotação periódica da senha do usuário de replicação do banco de dados de origem seguindo estas etapas:
- Acesse Banco de dados de origem e clique em Editar Editar.
- Faça as mudanças para girar a senha do usuário de replicação.
- Clique em Salvar para aplicar as alterações.
Depois que a mudança é aplicada, o back-end de migração usa a nova senha.
gdcloud
Antes de usar a CLI do Distributed Cloud, instale e inicialize. Em seguida, faça a autenticação com sua organização.
Crie uma migração:
gdcloud database connection-profiles create DB_ENGINE_TYPE SOURCE_CONNECTION_PROFILE \ --username REPLICATION_USERNAME \ --password REPLICATION_PASSWORD \ --ca-certificate CA_CERT_FILE_PATH gdcloud database migrations create MIGRATION_NAME \ --source SOURCE_CONNECTION_PROFILE \ --destination DESTINATION_DBCLUSTER gdcloud database clusters create DESTINATION_DBCLUSTER \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORD
Substitua as seguintes variáveis:
DB_ENGINE_TYPE
, o tipo de mecanismo de banco de dados para migração. Os valores aceitos são:postgresql
oualloydbomni
SOURCE_CONNECTION_PROFILE
, o nome do novo perfil de conexão.REPLICATION_USERNAME
, o nome do usuário de replicação do banco de dados de origem.REPLICATION_PASSWORD
, a senha do usuário de replicação do banco de dados de origem.CA_CERT_FILE_PATH
, o caminho para o certificado de CA do banco de dados de origem.MIGRATION_NAME
, o nome da nova migração.DESTINATION_DBCLUSTER
, o nome do cluster de banco de dados de destino.DB_VERSION
, a string de versão do novo cluster. Por exemplo,POSTGRESQL_13
.ADMIN_PASSWORD
, a senha do usuário administrador para o novo cluster.
Inicie uma migração:
gdcloud database migrations start MIGRATION_NAME
Interromper uma migração:
gdcloud database migrations stop MIGRATION_NAME
Promova uma migração:
gdcloud database migrations promote MIGRATION_NAME
Liste os perfis de conexão atuais:
gdcloud database connection-profiles list DB_ENGINE_TYPE
Liste a migração atual:
gdcloud database migrations list --destination DESTINATION_DBCLUSTER
API
Para bancos de dados de origem do AlloyDB ou PostgreSQL:
Crie um secret para armazenar o certificado de CA do banco de dados de origem:
apiVersion: v1
data:
ca.crt: SOURCE_DB_CA_CERT
kind: Secret
metadata:
annotations:
propagation.gdch.gke.io/target-namespace: USER_PROJECT
name: es-crt-EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
type: Opaque
Crie um secret para armazenar a senha do usuário de migração do banco de dados de origem:
apiVersion: v1
data:
password: SOURCE_DB_USER_PASSWORD
kind: Secret
metadata:
annotations:
propagation.gdch.gke.io/target-namespace: USER_PROJECT
name: es-pw-EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
type: Opaque
Crie um externalserver:
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: ExternalServer
metadata:
name: EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
spec:
host: SOURCE_DB_HOST
port: 5432
username: SOURCE_DB_USERNAME
password:
name: es-pw-EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
certRef:
name: es-crt-EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
Crie uma migração:
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: Migration
metadata:
name: MIGRATION_NAME
namespace: USER_PROJECT
spec:
source:
reference:
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: ExternalServer
name: EXTERNAL_SERVER_NAME
target:
reference:
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: DBCluster
name: DBCLUSTER_NAME
control: MIGRATION_CONTROL
Substitua as seguintes variáveis:
EXTERNAL_SERVER_NAME
: o nome do externalserver que representa o banco de dados de origem.USER_PROJECT
: o nome do projeto do usuário em que o externalserver é criado.DBENGINE_NAME
: o nome do mecanismo de banco de dados. É um dos camposalloydbomni
oupostgresql
.SOURCE_DB_CA_CERT
: o certificado da CA do banco de dados de origem.SOURCE_DB_USER_PASSWORD
: a senha do usuário de migração do banco de dados de origem.SOURCE_DB_USERNAME
: o nome de usuário da migração do banco de dados de origem.SOURCE_DB_HOST
: o endereço do host de migração do banco de dados de origem.MIGRATION_NAME
: o nome da operação de migração.DBCLUSTER_NAME
: o nome do cluster de banco de dados de destino da migração.MIGRATION_CONTROL
: os controles da operação de migração. Precisa serstart
oustop
quando a migração é criada. Ele precisa serpromote
para promover o cluster de banco de dados de destino da migração.