Crear una instancia en una red privada e importar una base de datos

Para migrar una carga de trabajo de otra plataforma a Cloud SQL para PostgreSQL, a menudo es necesario usar la Google Cloud consola para importar datos de un archivo de volcado de SQL que hayas exportado de tu entorno anterior.

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

A medida que sigas los pasos, mantén los valores predeterminados de los ajustes, a menos que se indique lo contrario.

Objetivos

  1. Descarga un archivo de volcado de SQL de ejemplo.
  2. Crea una red de nube privada virtual con acceso a servicios privados.
  3. Crea un segmento de Cloud Storage y sube un archivo de volcado de SQL.
  4. Crea una instancia de Cloud SQL para PostgreSQL configurada para usar una IP privada.
  5. Crea un usuario.
  6. Crea una base de datos de destino.
  7. Importa el archivo de volcado a una base de datos nueva.
  8. Para comprobar que la base de datos se ha importado correctamente, consulta la estructura y ejecuta una consulta.

Costes

En este documento, se utilizan los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.

Los usuarios nuevos pueden disfrutar de una prueba gratuita. Google Cloud

Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.

Antes de empezar

  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 vas a usar un proyecto que ya tengas para seguir esta guía, verifica que tienes los permisos necesarios para completarla. Si has creado un proyecto, 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 vas a usar un proyecto que ya tengas para seguir esta guía, verifica que tienes los permisos necesarios para completarla. Si has creado un proyecto, 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

    Para obtener los permisos que necesitas para completar este tutorial, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:

    Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

    También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

    Obtener un archivo de volcado de una base de datos de muestra

    En este tutorial, 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-postgres.sql.

    Crear una red con acceso privado a servicios

    Antes de crear el resto de los 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 PostgreSQL mediante direcciones IPv4 internas.

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

      Ir a la página Redes de VPC

    2. Haz clic en Crear red VPC.

    3. En el campo de nombre, introduce tutorial-network.

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

    5. En el campo de nombre, introduce tutorial-subnet.

    6. Selecciona una región cercana.

    7. En Intervalo de IPv4, introduce 10.0.0.0/24.

    8. En Acceso privado de Google, selecciona Activado.

    9. Haz clic en Listo.

    10. En la parte inferior de la página, haz clic en Crear.

    Una vez que se haya completado el proceso de creación de la red VPC, puedes configurar el acceso a servicios privados 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 Intervalos de direcciones IP asignados para los servicios.
    4. Haz clic en Asignar intervalo de IPs.
    5. En Nombre, introduce tutorial-range.
    6. En Intervalo de direcciones IP, selecciona Personalizado.
    7. En el campo Intervalo, introduce 192.168.0.0/20.
    8. Haz clic en Asignar.
    9. En el submenú, haz clic en Conexiones privadas a servicios.
    10. Haga clic en Crear conexión.
    11. En el desplegable Asignación asignada, selecciona tutorial-range.
    12. Haz clic en Conectar. En un minuto o dos, la consola mostrará un mensaje que te indicará que has creado una conexión privada correctamente. Google Cloud

    Crea un segmento de Cloud Storage

    A continuación, crea un segmento de Cloud Storage para almacenar el archivo de volcado SQL que has descargado anteriormente. La herramienta de importación de Cloud SQL espera que el archivo de volcado se encuentre en un segmento. Un segmento de Cloud Storage debe tener un nombre único a nivel global.

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

      Ir a Contenedores

    2. Haz clic en Crear.
    3. En el campo Nombre del segmento, 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. Anota el nombre que elijas.
    4. Haz clic en Continuar.
    5. En Tipo de ubicación, selecciona Región. Esta es la opción más económica.
    6. Elige la misma región que elegiste para tu subred. Si colocas tus recursos en la misma región, se reduce la latencia, se mejora la velocidad, se disminuyen los costes de transferencia de datos y se simplifica la red.Google Cloud
    7. Haz clic en Continuar.
    8. Haz clic en Crear.
    9. Si aparece un cuadro de diálogo, deja seleccionada la opción Impedir el acceso público a este segmento y haz clic en Confirmar.

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

    Subir el archivo de volcado al segmento

    Sube al segmento el archivo de volcado de SQL de muestra que has descargado antes.

    1. En la pestaña Objetos, haga clic en Subir y, a continuación, en Subir archivos.
    2. Ve al archivo countries-postgres.sql y selecciónalo.
    3. Haz clic en Abrir. Cloud Storage sube el archivo de volcado al segmento.

    Crear una instancia de Cloud SQL

    Crea una instancia de Cloud SQL en la Google Cloud consola con los siguientes ajustes. En el resto de los ajustes, mantén los valores predeterminados. Aunque no es necesario habilitar la IP privada para el proceso de importación, se recomienda usarla en cargas de trabajo de producción.

    1. Ve a la página Instancias de Cloud SQL de la Google Cloud consola.
      Ve a la página Instancias de Cloud SQL
    2. Haz clic en Crear instancia.
    3. Haz clic en Elegir PostgreSQL.
    4. En Elige una edición de Cloud SQL, selecciona Enterprise.
    5. En Preajuste de edición, selecciona Sandbox.
    6. En Instance ID (ID de instancia), introduce tutorial-instance.
    7. Elige e introduce 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 la subred y el segmento.
    9. En Disponibilidad por zona, selecciona Una sola zona.
    10. Despliega Mostrar opciones de configuración.
    11. Despliega Conexiones.
    12. Borra IP pública.
    13. Selecciona IP privada.
    14. En el menú desplegable Red, selecciona tutorial-network. De esta forma, la nueva instancia de Cloud SQL se colocará en la red privada que has creado anteriormente.
    15. Haz clic en Crear instancia y espera a que se inicialice y se inicie. El proceso de inicialización puede tardar más de cinco minutos.
    Google Cloud

    Añadir un usuario

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

    1. En el menú de navegación de SQL, haz clic en Usuarios.
    2. Haz clic en Añadir cuenta de usuario.
    3. En el panel que se abre, selecciona Autenticación integrada.
    4. En el campo User name (Nombre de usuario), introduce tutorial-user.
    5. Introduce una contraseña para el nuevo usuario. Guarda esta contraseña para usarla en el futuro.
    6. Haz clic en Añadir.

    Crear una base de datos de destino

    El flujo de trabajo de importación requiere que selecciones una base de datos de destino a la que importar los datos, por lo que debes crear una base de datos vacía.

    1. En el menú de navegación de SQL, haga clic en Bases de datos.
    2. Haz clic en Crear base de datos.
    3. En Nombre de la base de datos, escribe countries.
    4. Haz clic en Crear.

    Importar desde el archivo de volcado

    Ahora puedes importar la base de datos countries con el archivo de volcado countries-postgres.sql que has subido a tu segmento de Cloud Storage.

    1. En el menú de navegación de SQL, haz clic en Vista general.
    2. En la página de resumen, haz clic en Importar.
    3. En Formato de archivo, selecciona SQL.
    4. En Seleccionar archivo de origen, elija Seleccionar archivo de Google Cloud Storage.
    5. Haz clic en Explorar.
    6. Expande el segmento de almacenamiento que has creado anteriormente.
    7. Haz clic en countries-postgres.sql.
    8. Haz clic en Seleccionar.
    9. En la sección Destino, haga clic en el desplegable Base de datos y, a continuación, seleccione países.
    10. Haz clic en Importar.

    Cuando se haya completado el proceso de importación y la base de datos countries se haya importado a Cloud SQL para PostgreSQL, se mostrará un mensaje de confirmación.

    Validar los datos importados en Cloud SQL para PostgreSQL

    Una vez completada la operación de importación, puede verificar que la base de datos se ha importado conectándose a ella mediante Cloud SQL Studio, inspeccionando la lista de tablas y ejecutando una consulta de prueba en los datos.

    Autenticarse en Cloud SQL Studio

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

    1. En el menú de navegación de SQL, haz clic en Cloud SQL Studio. Se muestra un cuadro de diálogo de inicio de sesión.
    2. En el desplegable Base de datos, elige countries.
    3. Selecciona Autenticación de bases de datos integrada.
    4. En el menú desplegable Usuario, selecciona tutorial-user.
    5. En el campo Contraseña, introduce la contraseña que hayas elegido para el usuario en la sección Añadir un usuario.
    6. Haz clic en Autenticar. Se abre Cloud SQL Studio.

    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.

    Limpieza

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

    • Elimina el proyecto que contiene los recursos
    • Conservar el proyecto y eliminar los recursos concretos.

    Eliminar 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.

    Eliminar recursos concretos

    Si quieres conservar el proyecto, pero evitar que se te apliquen cargos, elimina la instancia de Cloud SQL, el segmento de Cloud Storage y la red de VPC que has creado durante el tutorial.

    Eliminar la instancia de Cloud SQL

    Primero, inhabilita la protección contra la eliminación y, a continuación, elimina la instancia de Cloud SQL del tutorial:

    1. En el menú de navegación de SQL, haz clic en Vista general.
    2. Haz clic en Editar.
    3. Despliegue la sección Protección de datos.
    4. En Protección contra la eliminación de instancias, desmarca todas las opciones.
    5. Haz clic en Guardar. Cuando se haya completado la operación, podrás seleccionar Eliminar.
    6. Haz clic en Eliminar. Aparecerá un cuadro de diálogo.
    7. En el campo ID de instancia, introduce tutorial-instance.
    8. Haz clic en Eliminar.

    Eliminar el segmento de Cloud Storage

    A continuación, elimina el segmento de almacenamiento y su contenido.

    1. En el menú de navegación principal de la consola, ve a Cloud Storage > Buckets. Google Cloud
    2. Selecciona la casilla situada junto al nombre del segmento que has creado anteriormente.
    3. Haz clic en Eliminar.
    4. En el cuadro de diálogo, confirma la eliminación escribiendo DELETE y, a continuación, haz clic en Eliminar.

    Eliminar la red de VPC

    Ahora que has eliminado los recursos de tu red de VPC, puedes eliminar la red. Antes de eliminar la red de VPC, debes eliminar la conexión de peering que se creó automáticamente al crear la red de VPC.

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

    Ahora que se ha eliminado la conexión de intercambio de tráfico entre redes, puedes eliminar la red 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 Eliminar red de VPC.
    4. En el cuadro de diálogo, confirma la eliminación escribiendo tutorial-network y, a continuación, haz clic en Eliminar.

    Siguientes pasos