Puede migrar sus bases de datos MySQL a Cloud SQL utilizando archivos de copia de seguridad de bases de datos físicas creados con la utilidad Percona XtraBackup para MySQL . La migración con archivos de respaldo físicos ofrece mayores velocidades de restauración de datos que las migraciones que utilizan archivos de respaldo lógicos. Esto los convierte en una excelente opción para mover grandes bases de datos que contienen varios terabytes de datos.
Este flujo migratorio implica las siguientes tareas:
Hacer una copia de seguridad de su instancia de MySQL de origen y preparar los archivos de copia de seguridad físicos mediante la utilidad Percona XtraBackup para MySQL .
Subir sus archivos de respaldo a un depósito de Cloud Storage.
Crear y ejecutar el trabajo de migración en el Servicio de migración de bases de datos.
Dependiendo de su escenario, puede crear la instancia de destino usted mismo o hacer que el Servicio de migración de bases de datos cree la instancia de destino por usted como parte del flujo de creación del trabajo de migración. Para obtener más información, consulte el paso Configurar y ejecutar el trabajo de migración .
Promocionar el trabajo de migración después de que los datos se hayan migrado por completo.
Migraciones sin conexión
Esta guía describe escenarios de migración para entornos en los que puede garantizar la conectividad de red entre las instancias de base de datos de origen y de destino.
Es posible realizar una migración de prueba donde el Servicio de migración de base de datos no se conecta a su instancia de origen. En cambio, el Servicio de migración de bases de datos solo lee los archivos de respaldo que carga en el depósito de Cloud Storage y replica su contenido en el destino de Cloud SQL para MySQL. No se recomienda un flujo de migración que no utilice conectividad de red para migraciones de producción, ya que el Servicio de migración de bases de datos no puede realizar la validación de datos por completo.
Si desea intentar realizar un trabajo de migración sin conexión, ajuste los procedimientos de la siguiente manera:
Cuando cree el perfil de conexión de origen , utilice una dirección IP, un puerto, un nombre de usuario y una contraseña de muestra. Por ejemplo:
- IP:
0.0.0.0
- Puerto:
1234
- Nombre de usuario de migración:
test-user
- IP:
Cuando crea el trabajo de migración :
- Utilice conectividad IP pública. No configure ninguna opción de red adicional.
- Utilice el tipo de trabajo de migración única .
Limitaciones
Esta sección enumera las limitaciones para las migraciones que utilizan archivos físicos de Percona XtraBackup:
No se admite la migración a MySQL 5.6 u 8.4 con un archivo de copia de seguridad físico. Consulte Limitaciones conocidas .
Consideraciones entre versiones:
- Solo puede migrar dentro de la misma versión principal de la base de datos, por ejemplo de MySQL 8.0.30 a MySQL 8.0.35, o MySQL 5.7.0 a MySQL 5.7.1.
No puede migrar de MySQL 5.7 a MySQL 8.0.
No se admite la migración a versiones principales o secundarias de bases de datos anteriores. Por ejemplo, no puede migrar de MySQL 8.0 a 5.7 o de MySQL 8.0.36 a 8.0.16.
Consideraciones entre arquitecturas: Cloud SQL admite la arquitectura ARM. Solo puede migrar bases de datos entre máquinas del mismo tipo de arquitectura. Por ejemplo, si su base de datos está alojada en una máquina ARM64, debe migrar a una máquina ARM64.
El tamaño del disco de la base de datos de destino debe ser igual o mayor que el tamaño de la base de datos de origen. Para obtener más información, consulta Tipos de máquinas MySQL para tu edición de Cloud SQL.
Debe utilizar Percona XtraBackup para hacer una copia de seguridad de sus datos en el depósito de Cloud Storage. No se admiten otras utilidades de respaldo.
La migración de bases de datos desde un archivo físico Percona XtraBackup solo se admite para bases de datos MySQL de VM locales o autoadministradas. No se admite la migración desde Amazon Aurora o MySQL en bases de datos de Amazon RDS.
Sólo puedes migrar desde una copia de seguridad completa. No se admiten otros tipos de copias de seguridad, como copias de seguridad incrementales o parciales.
La migración de la base de datos no incluye usuarios ni privilegios de la base de datos.
Debe configurar el formato de registro binario en
ROW
. Si configura el registro binario en cualquier otro formato, comoSTATEMENT
oMIXED
, es posible que la replicación falle.No se admite ninguna base de datos con una tabla de más de 5 TB.
Cloud Storage limita el tamaño de un archivo que puede cargar en un depósito a 5 TB. Si su archivo físico Percona XtraBackup supera los 5 TB, debe dividir el archivo de copia de seguridad en archivos más pequeños.
Asegúrese de cargar los archivos de respaldo en una carpeta dedicada de Cloud Storage que no contenga ningún otro archivo.
Debe configurar el parámetro
innodb_data_file_path
con un solo archivo de datos que utilice el nombre de archivo de datos predeterminadoibdata1
. Si su base de datos está configurada con dos archivos de datos o tiene un archivo de datos con un nombre diferente, entonces no puede migrar la base de datos utilizando un archivo físico Percona XtraBackup. Por ejemplo, una base de datos configurada coninnodb_data_file_path=ibdata01:50M:autoextend
no es compatible con la migración.El parámetro
innodb_page_size
en su instancia de origen debe configurarse con el valor predeterminado16384
.No puede migrar ningún complemento desde su base de datos externa.
Costos
Para migraciones homogéneas a Cloud SQL, se ofrece el servicio de migración de bases de datos sin costo adicional. Sin embargo, los precios de Cloud SQL y Cloud Storage se aplican a los cargos de red, así como a las entidades de Cloud SQL y Cloud Storage creadas con fines de migración.
En este documento, usarás los siguientes componentes facturables de Google Cloud:
- Cloud Storage
- Cloud SQL
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Antes de comenzar
- Considere en qué región desea crear la base de datos de destino. El Servicio de migración de bases de datos es un producto completamente regional, lo que significa que todas las entidades relacionadas con su migración (perfiles de conexión de origen y destino, trabajos de migración, bases de datos de destino, depósitos de almacenamiento) deben guardarse en una sola región.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.
Roles requeridos
Para obtener los permisos que necesita para realizar migraciones MySQL homogéneas mediante el uso de archivos de respaldo físicos, solicite a su administrador que le otorgue las siguientes funciones de IAM en su proyecto:
- Cuenta de usuario que realiza la migración:
- Administrador de migración de bases de datos (
roles/datamigration.admin
) - Visor de objetos de almacenamiento (
roles/storage.objectViewer
) - Editor de Cloud SQL (
roles/cloudsql.editor
)
- Administrador de migración de bases de datos (
Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .
Estos roles predefinidos contienen los permisos necesarios para realizar migraciones MySQL homogéneas mediante el uso de archivos de copia de seguridad físicos. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :
Permisos requeridos
Se requieren los siguientes permisos para realizar migraciones MySQL homogéneas mediante el uso de archivos de copia de seguridad físicos:
- Cuenta de usuario que realiza la migración:
-
datamigration.*
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
cloudsql.instances.create
-
cloudsql.instances.get
-
cloudsql.instances.list
-
compute.machineTypes.list
-
compute.machineTypes.get
-
compute.projects.get
-
storage.buckets.create
-
storage.buckets.list
-
Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .
Paso 1. Considere los requisitos de conectividad de su red
Existen diferentes métodos de red que puede utilizar para configurar la conectividad entre su origen y las instancias de destino de Cloud SQL. Dependiendo del método que utilice, es posible que deba realizar pasos adicionales durante el proceso de migración.
Considere qué método de conectividad es el adecuado para su situación antes de continuar con los siguientes pasos, ya que su elección podría afectar la configuración que necesita utilizar. Para obtener más información, consulte Configurar la conectividad .
Paso 2. Prepare sus datos de origen
Para preparar sus datos para la migración, realice los siguientes pasos:
- Instale la versión correcta de la utilidad Percona XtraBackup en su instancia de origen. Debe utilizar una versión de Percona XtraBackup que sea igual o posterior a la versión de su instancia de origen. Para obtener más información, consulte Comparación de la versión del servidor y la versión de copia de seguridad en la documentación de Percona XtraBackup.
- Para MySQL 5.7, instale Percona XtraBackup 2.4 .
- Para MySQL 8.0, instale Percona XtraBackup 8.0 .
- Exporte y prepare el archivo de copia de seguridad física de su instancia de origen utilizando Percona XtraBackup. Para obtener información completa sobre el uso de Percona XtraBackup, consulte la documentación de la herramienta. También puede ampliar la siguiente sección para ver un ejemplo de los pasos recomendados.
Ejemplos de pasos recomendados para crear y preparar archivos de copia de seguridad físicos utilizando Percona XtraBackup
Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- TARGET_DIR con la ruta donde desea guardar el archivo de copia de seguridad de salida.
- USERNAME con un usuario que tiene el privilegio
BACKUP_ADMIN
en la instancia de origen. - PASSWORD con la contraseña de la cuenta USERNAME .
- Realice una copia de seguridad física completa de su instancia de origen. Ejecute el siguiente comando:
xtrabackup --backup \ --target-dir=TARGET_DIR \ --user=USERNAME \ --password=PASSWORD
- Cuando el archivo de copia de seguridad esté listo, utilice el comando
--prepare
para garantizar la coherencia del archivo. Ejecute el siguiente comando:xtrabackup --prepare --target-dir=TARGET_DIR
- Cree su depósito para almacenar los archivos de respaldo. Asegúrese de utilizar la misma región en la que desea crear su instancia de Cloud SQL para MySQL de destino.
El Servicio de migración de bases de datos es un producto completamente regional, lo que significa que todas las entidades relacionadas con su migración (perfiles de conexión de origen y destino, trabajos de migración, bases de datos de destino, depósitos de almacenamiento para archivos de respaldo) deben guardarse en una sola región.
- Cargue los archivos de respaldo en su depósito de Cloud Storage. Asegúrese de cargar los archivos de respaldo en una carpeta dedicada de Cloud Storage que no contenga ningún otro archivo. Consulta Cargar objetos desde un sistema de archivos en la documentación de Cloud Storage.
- Cree el perfil de conexión de origen para su instancia de base de datos de origen.
Consola
Para crear un perfil de conexión de origen, siga estos pasos:
- Vaya a la página de perfiles de conexión en el Google Cloud Consola.
- Haz clic en Crear perfil .
- En la página Crear un perfil de conexión , en el menú desplegable Motor de base de datos , seleccione MySQL
- En el campo Nombre del perfil de conexión , ingrese un nombre legible para su perfil de conexión. Este valor se muestra en la lista de perfiles de conexión.
- Mantenga el ID del perfil de conexión generado automáticamente.
- Introduzca un nombre de host o una dirección IP .
Si la base de datos de origen está alojada en Google Cloud, o si se utiliza un túnel SSH inverso para conectar la base de datos de destino a la base de datos de origen, especifique la dirección IP privada (interna) de la base de datos de origen. El destino de Cloud SQL podrá acceder a esta dirección. Para obtener más información, consulte Configurar la conectividad mediante el emparejamiento de VPC .
Para otros métodos de conectividad, como la lista de IP permitidas , proporcione la dirección IP pública.
- Ingrese el puerto que se utiliza para acceder al host. El puerto predeterminado de MySQL es 3306.
- Ingrese un nombre de usuario y contraseña para la base de datos de destino. La cuenta de usuario debe tener los privilegios requeridos para acceder a sus datos. Para obtener más información, consulte Configurar su base de datos de origen .
- En la sección Región del perfil de conexión de la página, seleccione la región donde desea guardar el perfil de conexión.
Opcional: si la conexión se realiza a través de una red pública (mediante listas de IP permitidas), recomendamos utilizar cifrado SSL/TLS para la conexión entre las bases de datos de origen y de destino.
Hay tres opciones para la configuración SSL/TLS que puede seleccionar en la sección Asegure su conexión de la página:
- Ninguno: la instancia de destino de Cloud SQL se conecta a la base de datos de origen sin cifrado.
Autenticación solo de servidor: cuando la instancia de destino de Cloud SQL se conecta a la base de datos de origen, la instancia autentica la fuente, lo que garantiza que la instancia se conecte al host correcto de forma segura. Esto evita ataques de persona intermedia. Para la autenticación solo de servidor, la fuente no autentica la instancia.
Para utilizar la autenticación solo de servidor, debe proporcionar el certificado codificado en PEM x509 de la autoridad certificadora (CA) que firmó el certificado del servidor externo.
- Autenticación servidor-cliente: cuando la instancia de destino se conecta a la fuente, la instancia autentica la fuente y la fuente autentica la instancia.
La autenticación servidor-cliente proporciona la mayor seguridad. Sin embargo, si no deseas proporcionar el certificado de cliente y la clave privada cuando creas la instancia de destino de Cloud SQL, aún puedes usar la autenticación de solo servidor.
Para utilizar la autenticación servidor-cliente, debe proporcionar los siguientes elementos al crear el perfil de conexión de destino:
- El certificado de la CA que firmó el certificado del servidor de la base de datos de origen (el certificado de CA).
- El certificado utilizado por la instancia para autenticarse en el servidor de la base de datos de origen (el certificado del cliente).
- La clave privada asociada con el certificado del cliente (la clave del cliente).
- Haga clic en Crear . Su perfil de conexión ya está creado.
nube de gcloud
Este ejemplo utiliza el indicador opcional
--no-async
para que todas las operaciones se realicen sincrónicamente. Esto significa que algunos comandos pueden tardar un poco en completarse. Puede omitir el indicador--no-async
para ejecutar comandos de forma asincrónica. Si lo haces, debes usar el comandogcloud database-migration operations describe
para verificar si la operación se realizó correctamente.Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- CONNECTION_PROFILE_ID con un identificador legible por máquina para su perfil de conexión.
- REGION con el identificador de la región donde desea guardar el perfil de conexión.
- HOST_IP_ADDRESS con la dirección IP donde el Servicio de migración de bases de datos puede llegar a su instancia de base de datos de origen. Este valor puede variar según el método de conectividad que utilice para su migración.
- PORT_NUMBER con el número de puerto donde su base de datos de origen acepta conexiones entrantes. El puerto MySQL predeterminado es 3306.
- USERNAME con el nombre de la cuenta de usuario de la base de datos a la que desea que el Servicio de migración de bases de datos se conecte a su instancia de base de datos de origen.
- PASSWORD con la contraseña de la cuenta de usuario de la base de datos.
- (Opcional) CONNECTION_PROFILE_NAME con un nombre legible para su perfil de conexión. Este valor se muestra en el Google Cloud consola.
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --host=HOST_IP_ADDRESS \ --port=PORT_NUMBER \ --username=USERNAME \ --password=PASSWORD \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --host=HOST_IP_ADDRESS ` --port=PORT_NUMBER ` --username=USERNAME ` --password=PASSWORD ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --host=HOST_IP_ADDRESS ^ --port=PORT_NUMBER ^ --username=USERNAME ^ --password=PASSWORD ^ --display-name=CONNECTION_PROFILE_NAME
Debería recibir una respuesta similar a la siguiente:
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]
Paso 3. Configurar y ejecutar el trabajo de migración
Cuando migra con Percona XtraBackup, es posible que desee crear la instancia de destino de Cloud SQL por su cuenta o que el Servicio de migración de bases de datos la cree por usted. Para obtener más información, consulte Descripción general de la creación de empleos de migración .
Cada uno de estos enfoques requiere que usted siga un conjunto de procedimientos ligeramente diferente. Utilice el menú desplegable para mostrar los procedimientos relevantes para su escenario:
- Si desea que el Servicio de migración de bases de datos cree la base de datos de destino por usted, seleccione Migrar a una nueva instancia de destino .
- Si desea migrar a una base de datos de destino creada fuera del Servicio de migración de bases de datos, seleccione Migrar a una instancia de destino existente .
Cuando migras a una nueva instancia de destino, el Servicio de migración de bases de datos crea la instancia de Cloud SQL para MySQL de destino durante el flujo de creación del trabajo de migración.Paso 3a. Cree el trabajo de migración a una nueva instancia de destino
Para crear un trabajo de migración a una nueva instancia de destino, siga estos pasos:Consola
Definir la configuración para el trabajo de migración
- En el Google Cloud consola, vaya a la página de trabajos de migración .
- Haga clic en Crear trabajo de migración .
Se abre la página del asistente de configuración del trabajo de migración. Este asistente contiene varios paneles que lo guiarán a través de cada paso de configuración.
Puede pausar la creación de un trabajo de migración en cualquier momento haciendo clic en GUARDAR Y SALIR . Todos los datos que ingresa hasta ese momento se guardan en un borrador del trabajo de migración. Puede finalizar su borrador del trabajo de migración más tarde.
- En la página Comenzar , ingrese la siguiente información:
- Nombre del trabajo de migración
Este es un nombre legible por humanos para su trabajo de migración. Este valor se muestra en el Google Cloud consola.
- ID de trabajo de migración
Este es un identificador legible por máquina para su trabajo de migración. Utilice este valor para trabajar con trabajos de migración mediante la API o los comandos CLI de Google Cloud del servicio de migración de bases de datos.
- En la lista del motor de base de datos de origen , seleccione MySQL .
El campo Motor de base de datos de destino se completa automáticamente y no se puede cambiar.
- Seleccione la región donde guarda el trabajo de migración.
El Servicio de migración de bases de datos es un producto completamente regional, lo que significa que todas las entidades relacionadas con su migración (perfiles de conexión de origen y destino, trabajos de migración, bases de datos de destino) deben guardarse en una sola región. Seleccione la región según la ubicación de los servicios que necesitan sus datos, como instancias de Compute Engine o aplicaciones de App Engine, y otros servicios. Después de elegir la región de destino, esta selección no se puede cambiar.
- Nombre del trabajo de migración
- Haga clic en Guardar y continuar .
Especificar información sobre el perfil de conexión de origen
- En la página Definir un origen , realice los siguientes pasos:
- En el menú desplegable Perfil de conexión de origen , seleccione el perfil de conexión para su base de datos de origen.
- En la sección Personalizar la configuración del volcado completo , haga clic en Editar configuración .
- En el panel Editar configuración de volcado completo , en el menú desplegable Método de volcado completo , seleccione Basado en físico .
- En Proporcione su carpeta, haga clic en Examinar y luego seleccione la carpeta donde cargó su archivo de volcado completo (paso 3 en la sección Prepare sus datos de origen ).
- Haga clic en Guardar .
- Haga clic en Guardar y continuar .
Configurar y crear la instancia de Cloud SQL de destino
- En la página Definir un destino , en el menú desplegable Tipo de instancia de destino , seleccione Nueva instancia . Defina todas las configuraciones relevantes:
- En el campo ID de instancia de destino , proporcione un identificador para la instancia de Cloud SQL o utilice el identificador generado automáticamente.
No incluya información confidencial o de identificación personal en el identificador. No es necesario incluir el ID del proyecto en el nombre de la instancia. Esto se hace automáticamente cuando corresponde (por ejemplo, en los archivos de registro).
- En el campo Contraseña , proporcione una contraseña alfanumérica para la instancia de Cloud SQL de destino. Esta es la contraseña de la cuenta de administrador
root
en la instancia.Puede ingresar la contraseña manualmente o hacer clic en Generar para que el Servicio de migración de bases de datos cree una automáticamente.
- En el menú desplegable Versión de la base de datos , elija la versión de la base de datos para la instancia de destino.
Haga clic en Mostrar versiones menores para ver todas las versiones menores. Obtenga más información sobre la compatibilidad con la migración entre versiones.
- Seleccione la edición de Cloud SQL para MySQL para su instancia de destino. Hay dos opciones disponibles: Cloud SQL para MySQL Enterprise edición y Cloud SQL para MySQL Enterprise Plus edición .
Las ediciones de Cloud SQL para MySQL vienen con diferentes conjuntos de funciones, tipos de máquinas disponibles y precios. Asegúrese de consultar la documentación de Cloud SQL para elegir la edición adecuada a sus necesidades. Para obtener más información, consulte Introducción a las ediciones de Cloud SQL para MySQL .
- El menú Región muestra la misma región que seleccionó en la página Introducción .
Si está configurando su instancia para alta disponibilidad , seleccione Múltiples zonas (altamente disponible) . Puedes seleccionar tanto la zona primaria como la secundaria. Se aplican las siguientes condiciones cuando se utiliza la zona secundaria durante la creación de la instancia:
- Las zonas de forma predeterminada son Cualquiera para la zona principal y Cualquiera (diferente de la principal) para la zona secundaria.
- Si se especifican las zonas primaria y secundaria, deben ser zonas diferentes.
- En la sección Conexiones , elija si desea agregar una dirección IP pública o privada para su instancia de destino. Puede configurar su instancia para que tenga ambos tipos de direcciones IP, pero se requiere al menos un tipo para la migración. Seleccione uno de los siguientes:
- Si desea migrar mediante el emparejamiento de VPC o un túnel SSH inverso, seleccione IP privada .
Para habilitar la conectividad IP privada, asegúrese de cumplir con todos los requisitos de red adicionales.
Amplíe esta sección para conocer todos los requisitos de IP privada.
- La API de red de servicios está habilitada. Puede habilitar la API de Service Networking utilizando el Google Cloud consola.
- Tiene el permiso IAM
servicenetworking.services.addPeering
. - Ha configurado el acceso a servicios privados para su proyecto, para lo cual necesita tener el rol de IAM
compute.networkAdmin
. - Hay al menos una red de VPC no antigua en tu proyecto o una red de VPC compartida.
- Si está utilizando una red VPC compartida , también debe hacer lo siguiente:
- Habilite la API de Service Networking para el proyecto host.
- Agregue su usuario al proyecto anfitrión.
- Asigne a su usuario la función de IAM compute.networkAdmin en el proyecto host.
- Seleccione la red VPC asociada para emparejar. Si planea conectarse a la fuente de migración mediante el emparejamiento de VPC, elija la VPC donde reside la instancia.
- Si nunca se configuró una red de servicios administrados para la VPC seleccionada, puede elegir seleccionar un rango de IP y hacer clic en Conectar o usar un rango de IP seleccionado automáticamente y hacer clic en Asignar y conectar .
- Si desea migrar a través de Internet utilizando una lista de IP permitidas, seleccione IP pública .
Opcionalmente, en IP pública , haga clic en el campo Redes autorizadas y autorice una red o un proxy para conectarse a la instancia de Cloud SQL. Las redes solo están autorizadas con las direcciones que usted proporciona. Consulte Configurar IP pública en la documentación de Cloud SQL.
Configure la conectividad del trabajo de migración en un paso posterior. Para obtener más información sobre los métodos de red disponibles, consulte Configurar la conectividad .
- Si desea migrar mediante el emparejamiento de VPC o un túnel SSH inverso, seleccione IP privada .
- En el campo ID de instancia de destino , proporcione un identificador para la instancia de Cloud SQL o utilice el identificador generado automáticamente.
Seleccione el tipo de máquina para la instancia de Cloud SQL.
Para obtener más información, consulte Limitaciones .
- Para la edición Cloud SQL para MySQL Enterprise Plus : seleccione la casilla Habilitar caché de datos si desea utilizar la función de caché de datos en su base de datos de destino.
La caché de datos es una característica opcional disponible para las instancias de la edición Cloud SQL para MySQL Enterprise Plus que agrega una unidad de estado sólido local de alta velocidad a su base de datos de destino. Esta característica puede introducir costos adicionales a su Cloud SQL. Para obtener más información sobre la caché de datos, consulte Descripción general de la caché de datos en la documentación de Cloud SQL.
- Especifique el tipo de almacenamiento para la instancia de Cloud SQL. Puede elegir una unidad de estado sólido (SSD) o una unidad de disco duro (HDD).
- Especifique la capacidad de almacenamiento (en GBytes) para la instancia de Cloud SQL.
Asegúrese de que la instancia tenga suficiente capacidad de almacenamiento para manejar los datos de su base de datos de origen. Puedes aumentar esta capacidad en cualquier momento, pero no puedes disminuirla.
(Opcional) Configure opciones de cifrado de datos o etiquetas de recursos para su instancia de destino.
Expanda esta sección para ver los pasos opcionales.
Haga clic en Mostrar configuraciones opcionales y luego:
Especifique si desea administrar el cifrado de los datos que se migran desde el origen al destino. De forma predeterminada, sus datos se cifran con una clave administrada por Google Cloud. Si desea administrar su cifrado, puede utilizar una clave de cifrado administrada por el cliente (CMEK). Para hacerlo:
- Seleccione la casilla de verificación Usar una clave de cifrado administrada por el cliente (CMEK) .
- En el menú Seleccionar una clave administrada por el cliente , seleccione su CMEK.
Si no ve su clave, haga clic en Ingresar nombre de recurso clave para proporcionar el nombre del recurso de la clave que desea usar. Ejemplo de nombre de recurso clave:
projects/ my-project-name /locations/ my-location /keyRings/ my-keyring /cryptoKeys/ my-key
.- Agregue los indicadores necesarios para aplicarlos al servidor de la base de datos. Si es posible, asegúrese de que las marcas de la base de datos en la instancia de Cloud SQL de destino creada sean las mismas que las de la base de datos de origen. Obtenga más información sobre los indicadores de bases de datos compatibles con MySQL .
- Agrega cualquier etiqueta que sea específica de la instancia de Cloud SQL.
Las etiquetas ayudan a organizar sus instancias. Por ejemplo, puede organizar las etiquetas por centro de costos o entorno. Las etiquetas también se incluyen en su factura para que pueda ver la distribución de los costos entre ellas.
- Haga clic en Crear destino y continúe . El Servicio de migración de bases de datos ahora está creando su instancia de destino de Cloud SQL. Este proceso puede tardar varios minutos.
Configurar la conectividad entre las instancias de la base de datos de origen y de destino.
En el menú desplegable Método de conectividad , seleccione un método de conectividad de red. Este método define cómo la instancia de Cloud SQL recién creada se conectará a la base de datos de origen. Los métodos de conectividad de red actuales incluyen lista de direcciones IP permitidas, túnel SSH inverso y emparejamiento de VPC .
Si quieres usar... Entonces... El método de conectividad de red de la lista de IP permitidas, Debe especificar la dirección IP saliente de su instancia de destino. Si la instancia de Cloud SQL que creó es una instancia de alta disponibilidad, incluya las direcciones IP salientes tanto para la instancia principal como para la secundaria. El método de conectividad de red de túnel SSH inverso, Debes seleccionar la instancia de VM de Compute Engine que alojará el túnel. Después de especificar la instancia, Google proporcionará una secuencia de comandos que realiza los pasos para configurar el túnel entre las bases de datos de origen y de destino. Deberá ejecutar el script en la CLI de Google Cloud .
Ejecute los comandos desde una máquina que tenga conectividad tanto con la base de datos de origen como con Google Cloud.
El método de conectividad de red de peering de VPC, Debe seleccionar la red VPC donde reside la base de datos de origen. La instancia de Cloud SQL se actualizará para conectarse a esta red. Después de seleccionar y configurar la conectividad de red, haga clic en Configurar y continuar .
Crear el trabajo de migración
En Probar y crear trabajo de migración , verifique la configuración del trabajo de migración. En este punto, la prueba del trabajo de migración fallará porque la cuenta de servicio asociada con la instancia de destino de Cloud SQL no tiene los permisos necesarios.
Realice una de las siguientes acciones antes de probar el trabajo para validar la configuración del mismo:
- Si desea probar su trabajo de migración utilizando el Google Cloud consola después de asignar los permisos a la cuenta de servicio de la instancia de destino, haga clic en Guardar y salir . Esta acción guarda su trabajo de migración como borrador. Puede volver a esta pantalla más tarde, probar su trabajo de migración y ejecutarlo.
- Si desea probar su trabajo de migración utilizando la CLI de Google Cloud después de asignar los permisos a la cuenta de servicio de la instancia de destino, haga clic en Crear . Con Google Cloud CLI, puedes probar un trabajo de migración que se creó pero que aún no se inició.
nube de gcloud
Cree el perfil de conexión de destino.
Cuando migras a una nueva instancia de destino con Google Cloud CLI, creas la instancia de destino y el perfil de conexión en una sola acción.
Ejecute el siguiente comando (haga clic en el enlace para expandirlo):gcloud database-migration connection-profiles create cloudsql
Este ejemplo utiliza el indicador opcional
--no-async
para que todas las operaciones se realicen sincrónicamente. Esto significa que algunos comandos pueden tardar un poco en completarse. Puede omitir el indicador--no-async
para ejecutar comandos de forma asincrónica. Si lo haces, debes usar el comandogcloud database-migration operations describe
para verificar si la operación se realizó correctamente.Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- CONNECTION_PROFILE_ID con un identificador legible por máquina para su perfil de conexión.
- DATABASE_VERSION con la versión de MySQL que desea utilizar en la instancia de destino. Las versiones de la base de datos se especifican como cadenas que incluyen tanto la versión principal como la secundaria. Por ejemplo:
MYSQL_8_0
,MYSQL_8_0_32
,MYSQL_8_0_36
.Para todas las versiones posibles de MySQL, consulte la referencia del indicador --database-version .
- (Opcional) EDITION De forma predeterminada, las nuevas instancias que crea con la CLI de Google Cloud utilizan la edición Cloud SQL para MySQL Enterprise Plus. Si planea usar Cloud SQL para la edición MySQL Enterprise Plus, asegúrese de que su región sea compatible con esa edición. Consulta Compatibilidad regional de la edición Cloud SQL para MySQL Enterprise Plus .
Puede cambiar su edición utilizando el indicador
--edition
con uno de los siguientes valores:-
enterprise-plus
para la edición Cloud SQL para MySQL Enterprise Plus -
enterprise
para la edición Cloud SQL para MySQL Enterprise
-
- TIER con el nombre del tipo de máquina Cloud SQL que deseas utilizar. Los tipos de máquinas se especifican como cadenas que siguen la convención de Cloud SQL, por ejemplo
db-n1-standard-1
,db-perf-optimized-N-2
. Para obtener una lista completa de los tipos de máquinas disponibles y sus identificadores para usar con la CLI de Google Cloud, consulte Tipos de máquinas en la documentación de Cloud SQL para MySQL.Las instancias creadas con Google Cloud CLI de forma predeterminada utilizan la edición Cloud SQL para MySQL Enterprise Plus que tiene diferentes tipos de máquinas disponibles. Si desea utilizar un tipo de máquina que está disponible solo en la edición Cloud SQL para MySQL Enterprise, use la marca opcional
--edition=enterprise
para especificar la edición. - REGION con el identificador de la región donde desea guardar el perfil de conexión.
De forma predeterminada, las nuevas instancias que crea con Google Cloud CLI utilizan Cloud SQL para MySQL Enterprise Plus. Si planea usar Cloud SQL para la edición MySQL Enterprise Plus, asegúrese de que su región sea compatible con esa edición. Consulta Compatibilidad regional de la edición Cloud SQL para MySQL Enterprise Plus . Puede cambiar la edición utilizando el indicador opcional
--edition
. - (Opcional) CONNECTION_PROFILE_NAME con un nombre legible para su perfil de conexión. Este valor se muestra en el Google Cloud consola.
- Configuración de red
De forma predeterminada, las nuevas instancias que crea con Google Cloud CLI tienen asignada una dirección IP pública y están configuradas para usar conectividad de IP pública. Puede utilizar otros métodos de conectividad. Para obtener más información, consulte Configurar la conectividad .
No es necesario utilizar indicadores adicionales si desea utilizar conectividad IP pública. Si desea utilizar conectividad IP privada con intercambio de tráfico de red VPC o un túnel SSH inverso, asegúrese de cumplir con los siguientes requisitos de red adicionales para habilitar la conectividad IP privada e incluya indicadores adicionales en su comando.
Amplíe esta sección para conocer todos los requisitos de IP privada.
- La API de red de servicios está habilitada. Puede habilitar la API de Service Networking utilizando el Google Cloud consola.
- Tiene el permiso IAM
servicenetworking.services.addPeering
. - Ha configurado el acceso a servicios privados para su proyecto, para lo cual necesita tener el rol de IAM
compute.networkAdmin
. - Hay al menos una red de VPC no antigua en tu proyecto o una red de VPC compartida.
- Si está utilizando una red VPC compartida , también debe hacer lo siguiente:
- Habilite la API de redes de servicio para el proyecto anfitrión.
- Agregue su usuario al proyecto de host.
- Dale a su usuario el rol de Compute.NetWorkAdmin IAM en el proyecto Host.
Incluya los siguientes indicadores adicionales si desea usar conectividad IP privada ( con VPC Network Pesering o con un túnel de SSH inverso en una VM de motor de cómputo ):
-
--no-enable-ip-v4
: (opcional) para no asignar una dirección IP pública a su instancia de destino. Puede tener una dirección IP pública y privada asignada a su instancia de destino, pero es posible que no desee una dirección IP pública si utiliza conectividad IP privada. -
--private-network
: para asignar una dirección IP privada a su instancia de destino, especifique el nombre de la nube privada virtual donde desea que se asigne una dirección IP privada.
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --database-version=DATABASE_VERSION \ --tier=TIER \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --database-version=DATABASE_VERSION ` --tier=TIER ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --database-version=DATABASE_VERSION ^ --tier=TIER ^ --display-name=CONNECTION_PROFILE_NAME
Debería recibir una respuesta similar a la siguiente:
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]
- Complete la configuración de configuración de red.
Dependiendo de la conectividad de red que desee usar, puede haber pasos adicionales que debe seguir antes de crear el trabajo de migración.
- Si utiliza la conectividad pública de IP predeterminada, configure su instancia de base de datos de origen para permitir conexiones desde la dirección y el puerto público de su destino SQL Cloud SQL. Para obtener más información, consulte Configurar conectividad utilizando las listas de IP .
- Si usa un túnel SSH inverso , configure el túnel en una máquina virtual de motor de cómputo. Para obtener más información, consulte Configurar conectividad utilizando un túnel SSH inverso .
Crea el trabajo de migración.
Ejecute el siguiente comando (haga clic en el enlace para expandir):gcloud database-migration migration-jobs create
Esta muestra utiliza el indicador opcional
--no-async
para que todas las operaciones se realicen sincrónicamente. Esto significa que algunos comandos pueden tardar un tiempo en completarse. Puede omitir la bandera--no-async
para ejecutar los comandos de forma asincrónica. Si lo hace, debe utilizar lasgcloud database-migration operations describe
el comando para verificar si su operación es exitosa.Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- MIGRATION_JOB_ID con un identificador legible por máquina para su trabajo de migración. Utiliza este valor para trabajar con los trabajos de migración utilizando el servicio de migración de bases de datos Google Cloud CLI Commands o API.
- REGION con el identificador de región donde desea guardar el trabajo de migración.
- MIGRATION_JOB_NAME con un nombre legible para humanos para su trabajo de migración. Este valor se muestra en el servicio de migración de bases de datos en el Google Cloud consola.
- SOURCE_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de origen.
- DESTINATION_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de destino.
- MIGRATION_JOB_TYPE con el tipo de trabajo de migración. Se permiten dos valores:
ONE_TIME
oCONTINUOUS
. Para obtener más información, consulte los tipos de migración . - PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES con la ruta a sus archivos de copia de seguridad físicos almacenados en una carpeta en un cubo de almacenamiento en la nube. Use el siguiente formato:
gs://< bucket_name >/< path_to_backup_file_folder>
. - Configuración de redes
Si usa conectividad IP privada con la red de red VPC o un túnel de SSH inverso, agregue los siguientes indicadores a su comando:
- Conectividad IP privada con la red de red VPC
- Use el indicador
--peer-vpc
para especificar el nombre de la red con la que desea igual. - Túnel de SSH inverso en una VM de motor de cómputo
- Use las siguientes banderas para proporcionar detalles de red para el motor de cómputo:
--vm-ip
,--vm-port
,--vpc
. También puede usar el indicador Opcional--vm
para especificar el nombre de la VM.
Para más ejemplos de uso, consulte los ejemplos de CLI de Google Cloud .
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Debería recibir una respuesta similar a la siguiente:
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]
Paso 3B. Otorgar los permisos requeridos a la cuenta de servicio de instancia de Cloud SQL
Cuando crea el trabajo de migración a una nueva instancia, el servicio de migración de bases de datos también crea la instancia de SQL de Destination Cloud para usted. Antes de poder ejecutar la migración, debe asignar permisos de almacenamiento en la nube para la cuenta de servicio de la instancia.
Para otorgar los permisos de almacenamiento en la nube a la cuenta de servicio asociada con su instancia de destino, siga estos pasos:
- Busque la dirección de correo electrónico de la cuenta de servicio para su instancia de Cloud SQL en la página de detalles de la instancia de Cloud SQL. Esta dirección utiliza el siguiente formato:
<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com
. Consulte Ver información de instancia en la documentación de Cloud SQL. - Agregue el espectador de objetos de almacenamiento (
roles/storage.objectViewer
) IAM rol a la cuenta de servicio. Para obtener información sobre cómo administrar el acceso con la gestión de identidad y acceso, consulte Administrar el acceso a proyectos, carpetas y organizaciones en la documentación IAM.
Paso 3C. (Opcional) Pruebe el trabajo de migración
Antes de ejecutar el trabajo de migración, puede realizar una operación de prueba para verificar si el servicio de migración de bases de datos puede llegar a todas las entidades de origen y destino necesarias. Con GcLoud CLI, puede probar los trabajos de migración que se crean, pero aún no se inician.
Consola
En el Google Cloud Consola, solo puede probar el borrador de trabajos de migración que crea en el Asistente de creación de empleo de migración. Si no guardó su trabajo como borrador, pero lo creó completamente en el asistente, solo puede realizar la prueba utilizando Google Cloud CLI.
Para probar un proyecto de trabajo de migración, siga estos pasos:
- En el Google Cloud Consola, vaya a la página de trabajos de migración .
- En la pestaña Drafts , haga clic en el nombre de visualización del trabajo de migración que desea terminar de crear.
El asistente de creación de empleo de migración se abre.
- En la prueba de prueba y cree la página de trabajo de migración , haga clic en el trabajo de prueba . El servicio de migración de la base de datos ahora verifica si su instancia de destino tiene todos los permisos requeridos y puede conectarse a la base de datos de origen.
- Cuando termine la prueba, haga clic en Crear .
El trabajo de migración ahora está creado y listo para comenzar.
gcloud
Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- MIGRATION_JOB_ID con su identificador de trabajo de migración.
Si no conoce el identificador, puede usar el comando de la
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en una región determinada y ver sus identificadores. - REGION con el identificador de la región donde se guarda su perfil de conexión.
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de manera asincrónica. Como tal, este comando devuelve una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Para ver si su operación es exitosa, puede consultar el objeto de operación devuelto o verificar el estado del trabajo de migración:
- Use el
gcloud database-migration migration-jobs describe
el comando con el MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Use las
gcloud database-migration operations describe
el comando con OPERATION_ID para ver el estado de la operación misma.
Paso 3d. Comience el trabajo de migración
Cuando su trabajo de migración se crea completamente (es decir, no se guarda en un estado de borrador), puede comenzar en cualquier momento para comenzar a migrar datos.
Para comenzar un trabajo de migración, realice los siguientes pasos:
Consola
- En el Google Cloud Consola, vaya a la página de trabajos de migración .
- En la pestaña Jobs , haga clic en el nombre de visualización del trabajo de migración que desea comenzar.
Se abre la página de detalles del trabajo de migración.
- Haga clic en Inicio .
- En el diálogo, haga clic en Inicio .
gcloud
Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- MIGRATION_JOB_ID con su identificador de trabajo de migración.
Si no conoce el identificador, puede usar el comando de la
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en una región determinada y ver sus identificadores. - REGION con el identificador de la región donde se guarda su perfil de conexión.
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de manera asincrónica. Como tal, este comando devuelve una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Para ver si su operación es exitosa, puede consultar el objeto de operación devuelto o verificar el estado del trabajo de migración:
- Use el
gcloud database-migration migration-jobs describe
el comando con el MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Use las
gcloud database-migration operations describe
el comando con OPERATION_ID para ver el estado de la operación misma.
Para migrar a una instancia de destino existente, primero debe crear y configurar su instancia de destino.Paso 3a. Prepare su instancia de destino
Para configurar su instancia de Destination Cloud SQL, realice los siguientes pasos:
- Cree su Cloud SQL para la instancia de destino MySQL. Asegúrese de usar suficientes recursos de cómputo y memoria para cubrir sus necesidades de migración. Consulte Crear una instancia en la documentación de Cloud SQL.
Dependiendo del método de conectividad que desee utilizar para su migración, es posible que deba agregar una dirección IP pública o privada a su instancia de destino. Para obtener más información sobre los métodos de conectividad, consulte Configurar conectividad .
- Otorgue los permisos de almacenamiento en la nube a la cuenta de servicio asociada con su instancia de destino. Esta cuenta se crea después de crear la instancia de destino.
- Busque la dirección de correo electrónico de la cuenta de servicio para su instancia de Cloud SQL en la página de detalles de la instancia de Cloud SQL. Esta dirección utiliza el siguiente formato:
<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com
. Consulte Ver información de instancia en la documentación de Cloud SQL. - Agregue el espectador de objetos de almacenamiento (
roles/storage.objectViewer
) IAM rol a la cuenta de servicio. Para obtener información sobre cómo administrar el acceso con la gestión de identidad y acceso, consulte Administrar el acceso a proyectos, carpetas y organizaciones en la documentación IAM.
- Busque la dirección de correo electrónico de la cuenta de servicio para su instancia de Cloud SQL en la página de detalles de la instancia de Cloud SQL. Esta dirección utiliza el siguiente formato:
- Cree un perfil de conexión de destino para su instancia SQL en la nube.
Consola
No necesita crear el perfil de conexión de destino. Cuando crea un trabajo de migración en el Google Cloud Consola, utiliza el identificador de instancia de destino y el servicio de migración de bases de datos administra el perfil de conexión para usted.
Proceda a la sección Crear y ejecutar migración de migración .
nube de gcloud
Esta muestra utiliza el indicador opcional
--no-async
para que todas las operaciones se realicen sincrónicamente. Esto significa que algunos comandos pueden tardar un tiempo en completarse. Puede omitir la bandera--no-async
para ejecutar los comandos de forma asincrónica. Si lo hace, debe utilizar lasgcloud database-migration operations describe
el comando para verificar si su operación es exitosa.Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- CONNECTION_PROFILE_ID con un identificador legible por máquina para su perfil de conexión.
- REGION con el identificador de la región donde desea guardar el perfil de conexión.
- DESTINATION_INSTANCE_ID con el identificador de instancia de su instancia de destino.
- (Opcional) CONNECTION_PROFILE_NAME con un nombre legible para humanos para su perfil de conexión. Este valor se muestra en el Google Cloud consola.
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --cloudsql-instance=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --cloudsql-instance=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --cloudsql-instance=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Debería recibir una respuesta similar a la siguiente:
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]
Paso 3B. Crear y ejecutar el trabajo de migración
Consola
Definir la configuración para el trabajo de migración
- En el Google Cloud Consola, vaya a la página de trabajos de migración .
- Haga clic en Crear trabajo de migración .
Se abre la página del Asistente de configuración del trabajo de migración. Este asistente contiene múltiples paneles que lo guían a través de cada paso de configuración.
Puede pausar la creación de un trabajo de migración en cualquier momento haciendo clic en Guardar y Salir . Todos los datos que ingresa hasta ese punto se guardan en un proyecto de trabajo de migración. Puede finalizar su borrador del trabajo de migración más tarde.
- En la página de inicio , ingrese la siguiente información:
- Nombre del trabajo de migración
Este es un nombre legible por humanos para su trabajo de migración. Este valor se muestra en el Google Cloud consola.
- ID de trabajo de migración
Este es un identificador legible por máquina para su trabajo de migración. Utiliza este valor para trabajar con los trabajos de migración utilizando el servicio de migración de bases de datos Google Cloud CLI Commands o API.
- Desde la lista de motores de base de datos de origen , seleccione MySQL .
El campo de motor de la base de datos de destino se llena automáticamente y no se puede cambiar.
- Seleccione la región donde guarde el trabajo de migración.
El servicio de migración de bases de datos es un producto totalmente regional, lo que significa que todas las entidades relacionadas con su migración (perfiles de conexión de origen y destino, trabajos de migración, bases de datos de destino) deben guardar en una sola región. Seleccione la región en función de la ubicación de los servicios que necesitan sus datos, como instancias de motor de cálculo o aplicaciones de motor y otros servicios. Después de elegir la región de destino, esta selección no se puede cambiar.
- Nombre del trabajo de migración
- Haga clic en Guardar y continuar .
Especificar información sobre el perfil de conexión de origen
- En la página Definir una fuente , realice los siguientes pasos:
- En el menú desplegable del perfil de conexión de origen , seleccione el perfil de conexión para su base de datos de origen.
- En la sección de configuración de volcado completa de personalización , haga clic en Editar configuración .
- En el panel de configuración de volcado de edición completo , en el menú desplegable del método de volcado completo , seleccione basado en el físico .
- En el Proporcionar su carpeta, haga clic en Examinar , y luego seleccione la carpeta donde cargó su archivo de volcado completo (Paso 4 en la sección Prepare su fuente de datos ).
- Haga clic en Guardar .
- Haga clic en Guardar y continuar .
Seleccione la instancia de Cloud SQL de destino
- Desde el tipo de menú de instancia de destino , seleccione la instancia existente .
- En la sección Seleccionar instancia de destino , seleccione su instancia de destino.
- Revise la información en la sección Detalles de la instancia y haga clic en Seleccionar y continuar .
- Para migrar a una base de datos de destino existente, el servicio de migración de la base de datos degradece la instancia de destino y la convierte en una réplica. Para indicar que la degradación se puede realizar de manera segura, en la ventana de confirmación, ingrese el identificador de instancia de destino.
- Haga clic en Confirmar y continuar .
Configurar la conectividad entre las instancias de la base de datos de origen y de destino
En el menú desplegable del método de conectividad , seleccione un método de conectividad de red. Este método define cómo la instancia SQL de nube recién creada se conectará a la base de datos de origen. Los métodos actuales de conectividad de red incluyen la lista de IP, el túnel SSH inverso y la presentación VPC .
Si quieres usar ... Entonces... El método de conectividad de red de la línea de conexión IP, Debe especificar la dirección IP saliente de su instancia de destino. Si la instancia de Cloud SQL que creó es una instancia de alta disponibilidad, incluya las direcciones IP salientes para la instancia primaria y secundaria. El método de conectividad de red de túnel SSH inversa, Debe seleccionar la instancia de VM de Motor Compute que aloje el túnel. Después de especificar la instancia, Google proporcionará un script que realiza los pasos para configurar el túnel entre las bases de datos de origen y destino. Tendrá que ejecutar el script en Google Cloud CLI .
Ejecute los comandos desde una máquina que tiene conectividad tanto a la base de datos de origen como a Google Cloud.
El método de conectividad de red de red VPC, Debe seleccionar la red VPC donde reside la base de datos de origen. La instancia de Cloud SQL se actualizará para conectarse a esta red. Después de seleccionar y configurar la conectividad de red, haga clic en Configurar y continuar .
Probar, crear y ejecutar el trabajo de migración
En este paso final, revise el resumen de la configuración del trabajo de migración, la fuente, el destino y el método de conectividad, y luego pruebe la validez de la configuración del trabajo de migración. Si se encuentran algún problema, puede modificar la configuración del trabajo de migración. No todas las configuraciones son editables.
- En la prueba de prueba y cree la página de trabajo de migración , haga clic en el trabajo de prueba .
Si la prueba falla, puede abordar el problema en la parte apropiada del flujo y volver a la prueba. Para la resolución de problemas de información de una prueba de trabajo de migración en defecto, consulte los problemas de diagnóstico para MySQL .
- Cuando finalice la prueba de trabajo de migración, haga clic en Crear e iniciar trabajo .
Su migración está ahora en progreso. Cuando comienza el trabajo de migración, el servicio de migración de la base de datos comienza el volcado completo, bloqueando brevemente la base de datos de origen.
nube de gcloud
Para configurar y ejecutar su migración, realice los siguientes pasos:
Crea el trabajo de migración.
Ejecute el siguiente comando (haga clic en el enlace para expandir):gcloud database-migration migration-jobs create
Esta muestra utiliza el indicador opcional
--no-async
para que todas las operaciones se realicen sincrónicamente. Esto significa que algunos comandos pueden tardar un tiempo en completarse. Puede omitir la bandera--no-async
para ejecutar los comandos de forma asincrónica. Si lo hace, debe utilizar lasgcloud database-migration operations describe
el comando para verificar si su operación es exitosa.Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- MIGRATION_JOB_ID con un identificador legible por máquina para su trabajo de migración. Utiliza este valor para trabajar con los trabajos de migración utilizando el servicio de migración de bases de datos Google Cloud CLI Commands o API.
- REGION con el identificador de región donde desea guardar el trabajo de migración.
- MIGRATION_JOB_NAME con un nombre legible para humanos para su trabajo de migración. Este valor se muestra en el servicio de migración de bases de datos en el Google Cloud consola.
- SOURCE_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de origen.
- DESTINATION_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de destino.
- MIGRATION_JOB_TYPE con el tipo de trabajo de migración. Se permiten dos valores:
ONE_TIME
oCONTINUOUS
. Para obtener más información, consulte los tipos de migración . - PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES con la ruta a sus archivos de copia de seguridad físicos almacenados en una carpeta en un cubo de almacenamiento en la nube. Use el siguiente formato:
gs://< bucket_name >/< path_to_backup_file_folder>
. - Configuración de redes
Si usa conectividad IP privada con la red de red VPC o un túnel de SSH inverso, agregue los siguientes indicadores a su comando:
- Conectividad IP privada con la red de red VPC
- Use el indicador
--peer-vpc
para especificar el nombre de la red con la que desea igual. - Túnel de SSH inverso en una VM de motor de cómputo
- Use las siguientes banderas para proporcionar detalles de red para el motor de cómputo:
--vm-ip
,--vm-port
,--vpc
. También puede usar el indicador Opcional--vm
para especificar el nombre de la VM.
Para más ejemplos de uso, consulte los ejemplos de CLI de Google Cloud .
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE --dump-type=PHYSICAL --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES
Debería recibir una respuesta similar a la siguiente:
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]
Degradar su instancia de destino SQL en la nube.
Ejecute el siguiente comando (haga clic en el enlace para expandir):gcloud database-migration migration-jobs demote-destination
Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- MIGRATION_JOB_ID con su identificador de trabajo de migración.
Si no conoce el identificador, puede usar el comando de la
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en una región determinada y ver sus identificadores. - REGION con el identificador de la región donde se guarda su perfil de conexión.
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de manera asincrónica. Como tal, este comando devuelve una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: demote-destination name: OPERATION_ID
Para ver si su operación es exitosa, puede consultar el objeto de operación devuelto o verificar el estado del trabajo de migración:
- Utilice los
gcloud database-migration migration-jobs describe
el comando para ver el estado del trabajo de migración. - Use las
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación misma.
- MIGRATION_JOB_ID con su identificador de trabajo de migración.
(Opcional) Realice una prueba de trabajo de migración
Puede ejecutar un cheque para verificar si el servicio de migración de bases de datos puede llegar a todas las entidades de origen y destino necesarias. Ejecute el siguiente comando (haga clic en el enlace para expandir):GcLoud database-migration migration-wobs verifique
Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- MIGRATION_JOB_ID con su identificador de trabajo de migración.
Si no conoce el identificador, puede usar el comando de la
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en una región determinada y ver sus identificadores. - REGION con el identificador de la región donde se guarda su perfil de conexión.
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de manera asincrónica. Como tal, este comando devuelve una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Para ver si su operación es exitosa, puede consultar el objeto de operación devuelto o verificar el estado del trabajo de migración:
- Use el
gcloud database-migration migration-jobs describe
el comando con el MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Use las
gcloud database-migration operations describe
el comando con OPERATION_ID para ver el estado de la operación misma.
- MIGRATION_JOB_ID con su identificador de trabajo de migración.
Comience el trabajo de migración.
Ejecute el siguiente comando (haga clic en el enlace para expandir):Inicio de migración de bases de datos de GcLoud-Migration-Jobs
Antes de utilizar cualquiera de los datos de comando siguientes, realice los siguientes reemplazos:
- MIGRATION_JOB_ID con su identificador de trabajo de migración.
Si no conoce el identificador, puede usar el comando de la
gcloud database-migration migration-jobs list
para enumerar todos los trabajos de migración en una región determinada y ver sus identificadores. - REGION con el identificador de la región donde se guarda su perfil de conexión.
Ejecute el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de manera asincrónica. Como tal, este comando devuelve una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Para ver si su operación es exitosa, puede consultar el objeto de operación devuelto o verificar el estado del trabajo de migración:
- Use el
gcloud database-migration migration-jobs describe
el comando con el MIGRATION_JOB_ID para ver el estado del trabajo de migración. - Use las
gcloud database-migration operations describe
el comando con OPERATION_ID para ver el estado de la operación misma.
Cuando comienza el trabajo de migración, su instancia de Destination Cloud SQL se coloca en un modo de solo lectura donde el servicio de migración de bases de datos lo administra completamente. Puede promoverlo a una instancia independiente cuando sus datos se migren por completo.
Nota: Puede monitorear el progreso de la migración, así como la salud de su instancia de destino con las características de observabilidad del servicio de migración de bases de datos. Consulte [Métricas de trabajo de migración] (/Database-Migration/Docs/MySQL/Migration-Job-Metrics).
- MIGRATION_JOB_ID con su identificador de trabajo de migración.
- Cree su Cloud SQL para la instancia de destino MySQL. Asegúrese de usar suficientes recursos de cómputo y memoria para cubrir sus necesidades de migración. Consulte Crear una instancia en la documentación de Cloud SQL.
Paso 4. (Opcional) Detener la migración
Puede detener y eliminar su trabajo de migración en cualquier momento si desea cancelar el proceso de migración de datos. Puede administrar el trabajo de migración en el Google Cloud Consola o con Google Cloud CLI.
Para obtener información sobre la gestión de trabajos de migración en el Google Cloud Consola, ver gestionar los trabajos de migración .
Para obtener información sobre la gestión de trabajos de migración con Google Cloud CLI, consulte la referencia de
gcloud database-migration migration-jobs
.
Paso 5. Finalizar la migración
Cuando el trabajo de migración se complete con éxito, finalice el trabajo de migración realizando uno de los siguientes pasos:
Para migraciones únicas : el estado del trabajo de migración se complementa . No se requieren más acciones, puede limpiar el trabajo de migración y los recursos del perfil de conexión.
Para migraciones continuas : promueva el trabajo de migración para cambiar su aplicación a la nueva instancia de base de datos.