La migración avanzada es una solución para migrar datos de bases de datos de gran tamaño con menos tiempo de inactividad. Esta función solo está disponible en AlloyDB Omni y PostgreSQL.
Un usuario con el rol Administrador de base de datos del proyecto debe seguir estos pasos. Usa la consola de GDC o la CLI de Distributed Cloud para gestionar las migraciones:
Consola
- En el menú principal, elige Servicio de base de datos.
- Haz clic en Crear migración.
- En el cuadro de diálogo Empezar, consulta los requisitos de la fuente y la conectividad.
- En el cuadro de diálogo Specify your source database (Especifica tu base de datos de origen), indica el nombre de host o la dirección IP, el nombre de usuario, la contraseña, el tipo de cifrado y el certificado de la base de datos de origen.
- En el cuadro de diálogo Configurar clúster, especifique 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 base de datos de destino. Asegúrate de elegir suficiente memoria para que quepa la tabla más grande.
- Haz clic en Crear. La creación del clúster de la base de datos de migración y de destino 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 se configura correctamente. Usa las siguientes opciones para gestionar tu migración:- Iniciar: inicia la migración y cambia el estado a
Running
. - Detener: detiene la migración y cambia su estado a
Stopped
. - Promote: esta opción convierte el clúster de base de datos de destino en una base de datos independiente.
- Eliminar: elimina la migración y el clúster de base de datos de destino creados para esta migración.
- Iniciar: inicia la migración y cambia el estado a
Cambia periódicamente la contraseña del usuario de replicación de la base de datos de origen siguiendo estos pasos:
- Ve a Base de datos de origen y haz clic en Editar Editar.
- Haz los cambios necesarios para rotar la contraseña del usuario de replicación.
- Haz clic en Guardar para aplicar los cambios.
Una vez aplicado el cambio, el backend de migración usará la nueva contraseña.
gdcloud
Antes de usar Distributed Cloud CLI, instálalo e inicialízalo. A continuación, 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
Sustituye las siguientes variables:
DB_ENGINE_TYPE
, el tipo de motor de base de datos para la migración. Los valores posibles sonpostgresql
yalloydbomni
.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 origen.CA_CERT_FILE_PATH
, la ruta del certificado de AC 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 destino.DB_VERSION
, la cadena de versión del nuevo clúster. Por ejemplo,POSTGRESQL_13
.ADMIN_PASSWORD
, la contraseña de usuario administrador del nuevo clúster.
Para iniciar una migración, haz lo siguiente:
gdcloud database migrations start MIGRATION_NAME
Detener una migración:
gdcloud database migrations stop MIGRATION_NAME
Promocionar una migración:
gdcloud database migrations promote MIGRATION_NAME
Lista de perfiles de conexión:
gdcloud database connection-profiles list DB_ENGINE_TYPE
Lista la migración actual:
gdcloud database migrations list --destination DESTINATION_DBCLUSTER
API
En el caso de las bases de datos de origen de AlloyDB o PostgreSQL:
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
Sustituye las siguientes variables:
EXTERNAL_SERVER_NAME
: nombre del servidor externo que representa la base de datos de origen.USER_PROJECT
: el nombre del proyecto de usuario en el que se crea el servidor externo.DBENGINE_NAME
: el nombre del motor de la base de datos. Es uno de los valoresalloydbomni
opostgresql
.SOURCE_DB_CA_CERT
: el certificado de CA de la base de datos de origen.SOURCE_DB_USER_PASSWORD
: la contraseña del usuario de migración de la base de datos de origen.SOURCE_DB_USERNAME
: el nombre de usuario de migración de la base de datos de origen.SOURCE_DB_HOST
: la dirección del host de migración de la base de datos de origen.MIGRATION_NAME
: el nombre de la operación de migración.DBCLUSTER_NAME
: el nombre del clúster de la base de datos de destino de la migración.MIGRATION_CONTROL
: los controles de la operación de migración. Debe serstart
ostop
cuando se cree la migración. Debe serpromote
para promover el clúster de la base de datos de destino de la migración.