Crea una instancia en una red privada y, luego, importa una base de datos

La migración de una carga de trabajo de otra plataforma a Cloud SQL para MySQL suele implicar el uso de la consola de Google Cloud para importar datos desde un archivo de volcado de SQL que exportas desde tu entorno anterior.

En este instructivo, se muestra cómo crear los recursos Google Cloud que necesitas y, luego, importar una base de datos SQL a una instancia de Cloud SQL para MySQL. En el instructivo, se demuestran las prácticas recomendadas para migrar a Cloud SQL para MySQL, incluido el uso de una red de nube privada virtual (VPC) con acceso a servicios privados y la habilitación de la IP privada para tu instancia de Cloud SQL.

A medida que sigas los pasos, conserva los valores predeterminados de la configuración, a menos que se especifique lo contrario.

Objetivos

  1. Descarga un archivo de volcado de SQL de muestra.
  2. Crea una nueva red de nube privada virtual con acceso privado a los servicios.
  3. Crea un bucket de Cloud Storage y sube a él un archivo de volcado de SQL.
  4. Crea una instancia de Cloud SQL para MySQL configurada para IP privada.
  5. Crear un usuario
  6. Importa desde el archivo de volcado a una base de datos nueva.
  7. Para verificar que la base de datos se importó correctamente, consulta la estructura y ejecuta una consulta.

Costos

En este documento, usarás los siguientes componentes facturables de Google Cloud:

Para obtener una estimación de costos en función del uso previsto, usa la calculadora de precios.

Es posible que los usuarios de Google Cloud nuevos cumplan con los requisitos para acceder a una prueba gratuita.

Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  10. Roles obligatorios

    Si quieres obtener los permisos que necesitas para completar este instructivo, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

    Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

    Obtén un archivo de volcado de base de datos de muestra

    En este instructivo, usarás una pequeña base de datos de muestra que contiene códigos de países y capitales del mundo.

    Descarga el archivo SQL de la base de datos countries en tu entorno local: countries-mysql.sql.

    Crea una red con acceso a servicios privados

    Antes de crear el resto de tus recursos, crea una red de VPC para ejecutar tus servicios. El acceso a servicios privados te permite restringir el acceso a tu base de datos de Cloud SQL estableciendo una conexión privada entre tu red externa y Cloud SQL para MySQL con direcciones IPv4 internas.

    1. En la consola de Google Cloud , ve a la página Redes de VPC.

      Ir a la página Redes de VPC

    2. Haz clic en Crear red de VPC.

    3. En el campo Nombre, ingresa tutorial-network.

    4. En Modo de creación de subred, selecciona Personalizado.

    5. En el campo Nombre, ingresa tutorial-subnet.

    6. Selecciona una región cercana.

    7. En el Rango de IPv4, ingresa 10.0.0.0/24.

    8. En Acceso privado a Google, selecciona Activado.

    9. Haz clic en Listo.

    10. Al final de la página, haz clic en Crear.

    Una vez que finalice el proceso de creación de la red de VPC, podrás configurar el acceso privado a los servicios para la red.

    1. En la pantalla de redes de VPC, haz clic en tutorial-network.
    2. En la barra de menú de tutorial-network, haz clic en Acceso a servicios privados.
    3. Haz clic en Rangos de IP asignados para servicios.
    4. Haz clic en Asigna rangos de IP.
    5. En Nombre, ingresa tutorial-range.
    6. En Rango de direcciones IP, selecciona Personalizado.
    7. En el campo Rango, ingresa 192.168.0.0/20.
    8. Haz clic en Allocate.
    9. En el submenú, haz clic en Conexiones privadas a servicios.
    10. Haz clic en Crear conexión.
    11. En el menú desplegable Asignación designada, selecciona tutorial-range.
    12. Haz clic en Conectar. En uno o dos minutos, la consola de Google Cloud mostrará un mensaje que te indicará que creaste correctamente una conexión privada.

    Cree un bucket de Cloud Storage

    A continuación, crea un bucket de Cloud Storage para almacenar el archivo de volcado de SQL que descargaste anteriormente. La herramienta de importación de Cloud SQL espera que el archivo de volcado se encuentre en un bucket. Los nombres de los bucket de Cloud Storage deben ser únicos a nivel global.

    1. En la consola de Google Cloud , ve a la página Buckets de Cloud Storage.

      Ir a Buckets

    2. Haz clic en Crear.
    3. Para el nombre del bucket, crea un nombre único a nivel global que incluya letras minúsculas, números y guiones. Puedes usar un generador de cadenas aleatorias, como random.org/strings, para generar el nombre. Toma nota del nombre que elijas.
    4. Haz clic en Continuar.
    5. En Tipo de ubicación, selecciona Región. Esta es la opción de menor costo.
    6. Elige la misma región que elegiste para tu subred. Ubicar tus recursos deGoogle Cloud en la misma región reduce la latencia, mejora la velocidad, disminuye los costos de transferencia de datos y simplifica las redes.
    7. Haz clic en Continuar.
    8. Haz clic en Crear.
    9. Si aparece un diálogo, deja seleccionada la opción Aplicar la prevención de acceso público a este bucket y haz clic en Confirmar.

    Se abrirá la página Detalles del bucket para el bucket nuevo con el panel Objetos seleccionado.

    Sube tu archivo de volcado al bucket

    Sube al bucket el archivo de volcado de SQL de muestra que descargaste antes.

    1. En la pestaña Objetos, haz clic en Subir y, luego, en Subir archivos.
    2. Navega hasta el archivo countries-mysql.sql y selecciónalo.
    3. Haz clic en Abrir. Cloud Storage sube el archivo de volcado al bucket.

    Cree una instancia de Cloud SQL

    Crea una instancia de Cloud SQL en la consola de Google Cloud con la siguiente configuración. Para todos los demás parámetros de configuración, mantén los valores predeterminados. Si bien no es necesario que habilites la IP privada para el proceso de importación, se recomienda usarla para una carga de trabajo de producción.

    1. Ve a la página Instancias de Cloud SQL en la Google Cloud consola.
      Ir a la página Instancias de Cloud SQL
    2. Haz clic en Crear instancia.
    3. Haz clic en Elegir MySQL.
    4. En Elige una edición de Cloud SQL, selecciona Enterprise.
    5. En Ajuste predeterminado de edición, selecciona Zona de pruebas.
    6. En ID de instancia (Instance ID), ingresa tutorial-instance.
    7. Elige e ingresa una contraseña para la cuenta de usuario predeterminada y guárdala para usarla en el futuro.
    8. Elige la misma región que elegiste para tu subred y bucket.
    9. En Disponibilidad zonal, selecciona Zona única.
    10. Expanda Mostrar opciones de configuración.
    11. Expande Conexiones.
    12. Borra la IP pública.
    13. Seleccione IP privada.
    14. En el menú desplegable Red, selecciona tutorial-network. Esto coloca la nueva instancia de Cloud SQL en la red privada que creaste anteriormente.
    15. Haz clic en Crear instancia y espera a que la instancia se inicialice y se inicie. El proceso de inicialización puede tardar más de cinco minutos.

    Agregar un usuario

    Antes de poder leer o escribir en una base de datos, debes crear un usuario de base de datos diferente del usuario raíz.

    1. En el menú de navegación de SQL, haz clic en Usuarios.
    2. Haz clic en Agregar cuenta de usuario.
    3. En el panel que se abre, selecciona Autenticación integrada.
    4. En el campo Nombre de usuario, ingresa tutorial-user.
    5. Ingresa una contraseña para el usuario nuevo. Guarda esta contraseña para usarla más adelante.
    6. Selecciona Permitir cualquier host.
    7. Haz clic en Agregar.

    Importa desde el archivo de volcado

    Ahora puedes importar la base de datos countries con el archivo de volcado countries-mysql.sql que subiste a tu bucket de Cloud Storage.

    1. En el menú de navegación de SQL, haz clic en Descripción general.
    2. En la página de descripción general, haz clic en Importar.
    3. En Formato de archivo, selecciona SQL.
    4. En Seleccionar archivo fuente, elige Seleccionar archivo de Google Cloud Storage.
    5. Haz clic en Explorar.
    6. Expande el bucket de almacenamiento que creaste antes.
    7. Haz clic en countries-mysql.sql.
    8. Haz clic en Seleccionar.
    9. Confirma que, en el campo Base de datos de la sección Destino, esté seleccionada la opción Especificado en el archivo SQL.
    10. Haz clic en Importar.

    Cuando se complete el proceso de importación y se haya importado la base de datos countries a Cloud SQL para MySQL, se mostrará un mensaje de éxito.

    Valida los datos importados en Cloud SQL para MySQL

    Una vez que se complete la operación de importación, puedes verificar que se importó la base de datos conectándote a ella con Cloud SQL Studio, inspeccionando la lista de tablas y ejecutando una consulta de prueba en los datos.

    Autentícate en Cloud SQL Studio

    Con la cuenta de usuario que creaste antes, conéctate a la nueva base de datos con Cloud SQL Studio.

    1. En el menú de navegación de SQL, haz clic en Cloud SQL Studio. Se muestra un diálogo de acceso.
    2. En el menú desplegable Base de datos, elige countries.
    3. Selecciona Autenticación de bases de datos integradas.
    4. En el menú desplegable User, selecciona tutorial-user.
    5. En el campo Contraseña, ingresa la contraseña que elegiste para el usuario en la sección Agregar un usuario.
    6. Haz clic en Autenticar. Se abrirá Cloud SQL Studio.

    Cómo ver y consultar las tablas

    1. En el panel Explorador, examina la base de datos countries y confirma que tiene dos tablas: capitals y country_codes.
    2. Haz clic en Consulta sin título para abrir el editor de consultas.
    3. Pega el siguiente código en el editor de consultas:

      SELECT
        `capitals`.`country_capital`,
        `country_codes`.`country_name`
      FROM
        `capitals`
      JOIN
        `country_codes`
      ON
        `capitals`.`alpha_2_code` = `country_codes`.`alpha_2_code`
      ORDER BY
        `capitals`.`country_capital`;
      
    4. Haz clic en Ejecutar.

    En el panel de resultados, se muestra una lista alfabética de las capitales del mundo y sus países.

    Realiza una limpieza

    Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en este instructivo, haz una de las siguientes acciones:

    • Borra el proyecto que contiene los recursos
    • Conserva el proyecto y borra los recursos individuales.

    Borra el proyecto

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Borra los recursos individuales

    Si deseas conservar el proyecto, pero evitar que se generen cargos, borra la instancia de Cloud SQL, el bucket de Cloud Storage y la red de VPC que creaste durante el instructivo.

    Borra la instancia de Cloud SQL

    Primero, inhabilita la protección contra la eliminación y, luego, borra la instancia de Cloud SQL del instructivo:

    1. En el menú de navegación de SQL, haz clic en Descripción general.
    2. Haz clic en Editar.
    3. Expande la sección Protección de datos.
    4. En Protección contra la eliminación de instancias, anula la selección de todas las opciones.
    5. Haz clic en Guardar. Cuando se complete la operación, podrás seleccionar Borrar.
    6. Haz clic en Borrar. Aparecerá un diálogo.
    7. En el campo ID de instancia, ingresa tutorial-instance.
    8. Haz clic en Borrar.

    Borra el bucket de Cloud Storage

    A continuación, borra el bucket de almacenamiento y su contenido.

    1. En el menú de navegación principal de la consola de Google Cloud , ve a Cloud Storage > Buckets.
    2. Selecciona la casilla junto al nombre del bucket que creaste antes.
    3. Haz clic en Borrar.
    4. En el diálogo, escribe DELETE para confirmar la eliminación y, luego, haz clic en Borrar.

    Borra la red de VPC

    Ahora que borraste los recursos de tu red de VPC, puedes borrar la red. Antes de borrar la red de VPC, debes borrar la conexión de intercambio de tráfico que se creó automáticamente cuando creaste la red de VPC.

    1. En el menú de navegación principal, ve a Redes de VPC > Intercambio de tráfico entre redes de VPC.
    2. Selecciona la casilla junto a la conexión de intercambio de tráfico con la red de VPC tutorial-network.
    3. Haz clic en Borrar.
    4. En el cuadro de diálogo, haz clic en Borrar para confirmar la acción.

    Ahora que se quitó la conexión de intercambio de tráfico, puedes borrar la red de VPC.

    1. En el menú Red de VPC, haz clic en Redes de VPC.
    2. Haz clic en tutorial-network para abrir la página de detalles.
    3. Haz clic en Borrar red de VPC.
    4. En el diálogo, escribe tutorial-network y, luego, haz clic en Borrar para confirmar la eliminación.

    ¿Qué sigue?