La migración avanzada es una solución para migrar datos de bases de datos grandes con menos tiempo de inactividad. Esta función solo está disponible para AlloyDB Omni y PostgreSQL.
Un usuario con el rol de administrador de la base de datos del proyecto debe realizar los siguientes pasos. Usa la consola de GDC o la CLI de Distributed Cloud para administrar las migraciones:
Console
- En el menú principal, elige Servicio de base de datos.
- Haz clic en Crear migración.
- En el diálogo Comenzar, revisa los requisitos de la fuente y la conectividad.
- En el cuadro de diálogo Especifica tu base de datos de origen, especifica el nombre de host o la dirección IP, el nombre de usuario, la contraseña, el tipo de encriptación y el certificado de la base de datos de origen.
- En el cuadro de diálogo Configura tu clúster, especifica el ID del clúster, la contraseña, la versión de la base de datos, la CPU, la memoria y la capacidad de almacenamiento del clúster de la base de datos de destino. Asegúrate de elegir suficiente memoria para contener tu tabla más grande.
- Haz clic en Crear. La creación del clúster de la base de datos de destino y de migración puede tardar unos minutos.
El estado cambia de
Reconciling
aReady
cuando el clúster está listo. El estado de la migración cambia aUnsynced
cuando la migración se configura correctamente. Usa las siguientes opciones para administrar tu migración:- Iniciar: Inicia la migración y cambia el estado de migración a
Running
. - Detener: Detiene la migración y cambia su estado a
Stopped
. - Promote: Esta opción promueve el clúster de la base de datos de destino a una base de datos independiente.
- Borrar: Esta opción borra la migración y el clúster de la base de datos de destino creados para esta migración.
- Iniciar: Inicia la migración y cambia el estado de migración a
Rota periódicamente la contraseña del usuario de replicación de la base de datos de origen con los siguientes pasos:
- Ve a Base de datos de origen y haz clic en Editar Editar.
- Realiza los cambios para rotar la contraseña del usuario de replicación.
- Haz clic en Guardar para aplicar los cambios.
Después de aplicar el cambio, el backend de migración usa la contraseña nueva.
gdcloud
Antes de usar Distributed Cloud CLI, instálala y, luego, inicialízala. Luego, autentícate con tu organización.
Crea una migración
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
Reemplaza las siguientes variables:
DB_ENGINE_TYPE
, el tipo de motor de la base de datos para la migración. Los valores admitidos sonpostgresql
oalloydbomni
.SOURCE_CONNECTION_PROFILE
, el nombre del nuevo perfil de conexión.REPLICATION_USERNAME
, el nombre del usuario de replicación de la base de datos de origen.REPLICATION_PASSWORD
, la contraseña del usuario de replicación de la base de datos de origenCA_CERT_FILE_PATH
, la ruta de acceso al certificado de CA de la base de datos de origen.MIGRATION_NAME
, el nombre de la nueva migración.DESTINATION_DBCLUSTER
, el nombre del clúster de la base de datos de destinoDB_VERSION
, la cadena de versión del clúster nuevo. Por ejemplo,POSTGRESQL_13
ADMIN_PASSWORD
, la contraseña del usuario administrador para el clúster nuevo.
Inicia una migración:
gdcloud database migrations start MIGRATION_NAME
Para detener una migración, haz lo siguiente:
gdcloud database migrations stop MIGRATION_NAME
Para promover una migración, sigue estos pasos:
gdcloud database migrations promote MIGRATION_NAME
Enumera los perfiles de conexión existentes:
gdcloud database connection-profiles list DB_ENGINE_TYPE
Enumera la migración existente:
gdcloud database migrations list --destination DESTINATION_DBCLUSTER
API
Para bases de datos de origen de AlloyDB o PostgreSQL, haz lo siguiente:
Crea un secreto para almacenar el certificado de CA de la base de datos de origen:
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
Crea un secreto para almacenar la contraseña del usuario de migración de la base de datos de origen:
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
Crea un 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
Crea una migración:
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
Reemplaza las siguientes variables:
EXTERNAL_SERVER_NAME
: Es el nombre del servidor externo que representa la base de datos de origen.USER_PROJECT
: Es el nombre del proyecto del usuario en el que se crea el servidor externo.DBENGINE_NAME
: Es el nombre del motor de base de datos. Puede seralloydbomni
opostgresql
.SOURCE_DB_CA_CERT
: Es el certificado de CA de la base de datos de origen.SOURCE_DB_USER_PASSWORD
: Es la contraseña del usuario de migración de la base de datos de origen.SOURCE_DB_USERNAME
: Es el nombre de usuario de migración de la base de datos de origen.SOURCE_DB_HOST
: Es la dirección del host de migración de la base de datos de origen.MIGRATION_NAME
: Es el nombre de la operación de migración.DBCLUSTER_NAME
: Es el nombre del clúster de la base de datos de destino de la migración.MIGRATION_CONTROL
: Son los controles de la operación de migración. Debe serstart
ostop
cuando se crea la migración. Debe serpromote
para promover el clúster de la base de datos de destino de la migración.