Conéctate a una instancia de Cloud SQL para SQL Server con una IP privada

En esta página, se muestra cómo crear una instancia de SQL Server y conectarse a ella mediante una IP privada. Los recursos creados en esta guía de inicio rápido suelen costar menos de un dólar, bajo la suposición de que completas los pasos, incluida la limpieza, de manera correcta.

Antes de comenzar

  1. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  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. Verify that billing is enabled for your Google Cloud project.

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

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

  6. Verifica que tengas los permisos necesarios para completar esta guía de inicio rápido.
  7. Habilita las Google Cloud APIs necesarias.

    Console

    En la Google Cloud consola, ve a la página APIs.

    Ir a las API

    Habilita la API de Cloud SQL Admin Cuando habilitas esta API, puedes ejecutar el proxy de Cloud SQL Auth.

    gcloud

    Haz clic en el siguiente botón para abrir Cloud Shell, que proporciona acceso de línea de comandos a tus Google Cloud recursos directamente desde el navegador. Cloud Shell se puede usar para ejecutar los comandos gcloud que se presentan en esta guía de inicio rápido.

    Abra Cloud Shell

    Ejecuta el comando gcloud services enable de la siguiente manera con Cloud Shell a fin de habilitar las API necesarias para esta guía de inicio rápido:

    gcloud services enable sqladmin.googleapis.com

    Este comando habilita las siguientes APIs:

    • API de Cloud SQL Admin Cuando habilitas esta API, puedes ejecutar el proxy de Cloud SQL Auth.

Roles obligatorios

Para obtener los permisos que necesitas para configurar Cloud SQL con una dirección IP privada, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto que deseas configurar y al que te quieres conectar:

  • Crear o borrar una instancia, una base de datos y un usuario: Rol de administrador de Cloud SQL (roles/cloudsql.admin).
  • Crear o borrar una cuenta de servicio de IAM: Rol de administrador de cuentas de servicio de IAM (roles/iam.serviceAccountAdmin).
  • Crear o borrar una instancia de Compute:
  • Crear una conexión:

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 mediante roles personalizados o cualquier otro rol predefinido.

Descripción general

Hay muchas formas de conectarte a una instancia de Cloud SQL con una dirección IP privada según la ubicación de la fuente. El factor clave es que la máquina de origen debe estar en la misma red de VPC que la instancia de Cloud SQL. Si la fuente no está en Google Cloud o no está en el mismo Google Cloud proyecto, debes configurar la conectividad de forma diferente a la que se muestra aquí.

En esta guía de inicio rápido, configuraremos la conectividad a través de la ruta más directa. La fuente y el destino están en el mismo Google Cloud proyecto y en la misma red de VPC. Creamos una instancia de Cloud SQL con una dirección IP privada (el destino) y una VM de Compute Engine (el origen). Usamos la VM para instalar las herramientas necesarias para conectarnos desde la VM hasta la instancia de Cloud SQL.

Realiza las siguientes acciones:

  1. Crear una base de datos de Cloud SQL con una dirección IP privada.

    Busca y guarda el connection name de la instancia para un uso posterior.

  2. Crea una VM de Compute Engine.
  3. Abre dos conexiones SSH a la VM de Compute Engine

    Usarás la primera ventana para instalar sqlcmd, además de instalar y, luego, iniciar el proxy de autenticación de Cloud SQL. Luego, usarás la segunda ventana para conectarte a la instancia de Cloud SQL mediante la conexión al proxy de autenticación de Cloud SQL.

  4. En la ventana de SSH 1, haz lo siguiente:
    1. Instala el cliente sqlcmd
    2. Instala el proxy de Cloud SQL Auth.

      El proxy de autenticación de Cloud SQL actúa como un conector entre el cliente sqlcmd y la instancia de Cloud SQL.

    3. Inicia el proxy de Cloud SQL Auth.

      Si se ejecuta de forma correcta, el proxy de autenticación de Cloud SQL escucha las solicitudes de conexión.

  5. En la ventana SSH n.° 2, conéctate a la instancia de Cloud SQL mediante la conexión del cliente sqlcmd al proxy de autenticación de Cloud SQL.

    Si se ejecuta de forma correcta, verás el mensaje de sqlcmd en esta ventana y un mensaje de conexión correcta en la ventana de SSH n.° 1, en la que se ejecuta el proxy de autenticación de Cloud SQL.

  6. Realiza una limpieza.

Crea una instancia de Cloud SQL con una dirección IP privada

Para crear una instancia que use conexiones de IP privadas, haz lo siguiente:

  1. En la Google Cloud consola de, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Selecciona la pestaña SQL Server y haz clic en Crear instancia de Sandbox en el Sandbox box. Como alternativa, puedes hacer clic enCrear instancia y hacer lo siguiente:
    1. Haz clic en Elegir SQL Server.
    2. Selecciona la edición Enterprise.
    3. Elige el ajuste preestablecido Sandbox.
  3. Si se te solicita que habilites la API de Compute, haz clic en el botón Habilitar API.
  4. En la sección Información de la instancia, ingresa un nombre para el ID de instancia.
  5. Ingresa una contraseña para el usuario de sqlserver. Toma nota de la contraseña que crees, ya que la necesitarás más adelante.
  6. En la sección Elige la región y la disponibilidad zonal, selecciona la opción Zona única.
  7. Expanda Mostrar opciones de configuración.
  8. Expande Conexiones.
  9. Borra la IP pública.
  10. Seleccione IP privada.
  11. Selecciona Acceso privado a servicios (PSA).
  12. En el menú desplegable Red de VPC, selecciona predeterminada.
  13. Si usas un proyecto nuevo, aparecerá el mensaje: No se configuró la conexión de red y un cuadro titulado Se requiere confirmación de configuración de red te dirigirá a la documentación de VPC para configurar PSA.
    1. En la Google Cloud consola de, ve a la página Redes de VPC:

      Ir a las redes de VPC

    2. Selecciona la red de VPC predeterminada.
    3. Establece una regla de firewall que permita el acceso al puerto TCP 22:
      1. Selecciona la pestaña Firewall.
      2. En Reglas de firewall de VPC, selecciona Crear regla de firewall de VPC.
      3. Asigna un nombre a la regla de firewall.
      4. En Destinos, selecciona Todas las instancias de la red.
      5. En Rangos de IPv4 de origen, ingresa 0.0.0.0/0.
      6. En Protocolos y puertos, marca TCP y, luego, en el cuadro Puertos que se encuentra directamente debajo, ingresa 22.
      7. Selecciona Crear.
    4. Asigna un rango de direcciones IP:
      1. Selecciona la pestaña Acceso privado a servicios.
      2. En la pestaña Acceso privado a servicios, selecciona la pestaña Rangos de IP asignados para servicios.
      3. Haz clic en Asigna rangos de IP.
      4. Ingresa un Nombre y, de manera opcional, una Descripción para el rango asignado.
      5. Para permitir que Google seleccione un rango disponible, selecciona Automático.
      6. Ingresa una longitud de prefijo entre 16 y 124 (la cantidad de direcciones asignadas es igual a 2 a la (32 - longitud del prefijo).
      7. Haz clic en Asignar para crear un rango asignado.
    5. Crea una conexión privada:
      1. En la pestaña Acceso privado a servicios, cambia a la pestaña Conexiones privadas a los servicios.
      2. Haz clic en el botón Crear conexión.
      3. En el menú desplegable Asignación asignada del cuadro Crear una conexión privada, selecciona el nombre del rango de direcciones IP que acabas de crear .
      4. Haz clic en Conectar.
    6. Cuando se cree la conexión, regresa al lugar donde estabas creando tu instancia de Cloud SQL y haz clic en Confirmar conexión.
  14. Cuando se cree correctamente la conexión de PSA, haz clic en Crear instancia.

Se te redireccionará a la página Resumen de la instancia mientras se crea la instancia nueva.

Una vez que se complete la creación de la instancia, desplázate hasta la sección Conéctate a esta instancia y guarda el Nombre de la conexión de la instancia. El connection name tiene el formato projectID:region:instanceID. Usarás este connection name más adelante cuando inicies el proxy de Cloud SQL Auth.

Crea una VM de Compute Engine

Sigue estos pasos para crear una VM:

  1. En la Google Cloud consola de, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Haga clic en Crear instancia.
  3. Ingresa un Nombre para la instancia.
  4. Selecciona Protección de datos en el panel de navegación y, luego, Sin copias de seguridad.
  5. Selecciona Seguridad en el panel de navegación y, en Permisos de acceso, selecciona Permitir el acceso total a todas las APIs de Cloud.
  6. Haz clic en Crear y espera a que se termine de crear la VM.

Abre dos conexiones SSH a la VM de Compute Engine

Usamos dos ventanas en la VM. La primera ventana se usa para instalar el cliente sqlcmd y el proxy de autenticación de Cloud SQL, obtener el nombre de la conexión de la instancia y usar el nombre para iniciar el proxy. La segunda ventana se usa para conectarse a la instancia de Cloud SQL a través del proxy.

  1. Expande el menú SSH en la columna Conectar para la instancia de VM de Compute Engine.
  2. Selecciona Abrir en otra ventana del navegador para abrir la ventana SSH 1.

    Es posible que el mensaje tarde unos segundos en estar disponible en la ventana.

  3. Cuando aparezca el mensaje, ingresa pwd para verificar que estés en el directorio /home/$USER.

    Instalarás el cliente sqlcmd y el proxy de autenticación de Cloud SQL y, luego, iniciarás el proxy de autenticación de Cloud SQL, en esta ventana.

  4. Vuelve a seleccionar Abrir en otra ventana del navegador para abrir la ventana SSH 2.

    Usarás esta ventana para conectarte a tu instancia de Cloud SQL.

Instala el cliente sqlcmd

Usa la ventana SSH n.° 1 para este paso.

Instala las herramientas de línea de comandos de SQL Server (mssql-tools) para Ubuntu con estas instrucciones.

Instala el proxy de Cloud SQL Auth

Usa la ventana SSH n.° 1 para este paso.

  1. Instala wget:
    sudo apt-get install wget
        
  2. Descarga el proxy de Cloud SQL Auth:
    wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \
    -O cloud-sql-proxy
      
  3. Haz que el proxy de Cloud SQL Auth sea ejecutable:
    chmod +x cloud-sql-proxy
      

Inicia el proxy de Cloud SQL Auth

Usa la ventana SSH n.° 1 para este paso.

Inicia el proxy de Cloud SQL Auth para que puedas supervisar el resultado. Reemplaza INSTANCE_CONNECTION_NAME por el connection name que copiaste cuando creaste la instancia de Cloud SQL.

./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME

Cuando el proxy de Cloud SQL Auth se inicia de forma correcta, aparece un mensaje similar al siguiente en la ventana de SSH:

Listening on 127.0.0.1:1433 for myInstance
Ready for new connections

Conéctate a tu instancia de Cloud SQL

Usa la ventana SSH n.° 2 para este paso.

Ejecuta el siguiente comando y reemplaza USER_NAME por tu nombre de usuario de SQL Server.

sqlcmd -S 127.0.0.1 -U USER_NAME

Regresa a la ventana de terminal en la que iniciaste el proxy de Cloud SQL Auth. Deberías ver un mensaje similar al siguiente:

New connection for myInstance

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página.

  1. En la Google Cloud consola de, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Selecciona la instancia myinstance para abrir la página de detalles de la instancia.
  3. En la barra de íconos en la parte superior de la página, haz clic en Borrar.
  4. En la ventana Borrar instancia, escribe el nombre de tu instancia y, luego, haz clic en Borrar.

Pasos opcionales de limpieza

Si no usas las API que se habilitaron como parte de esta guía de inicio rápido, puedes inhabilitarlas.

  • API que se habilitaron en esta guía de inicio rápido:
    • API de Cloud SQL Admin
  1. En la Google Cloud consola, ve a la página APIs.

    Ir a las API

  2. Selecciona la API de Cloud SQL Admin y, luego, haz clic en el botón Inhabilitar API.

  3. En la Google Cloud consola de, ve a la página Instancias de VM.

    Ir a Instancias de VM

  4. Selecciona el nombre de tu instancia.

  5. Selecciona Borrar en el menú Más acciones.

¿Qué sigue?

En función de tus necesidades, puedes obtener más información para crear instancias de Cloud SQL.

También puedes aprender a crear usuarios de SQL Server y bases de datos para la instancia de Cloud SQL.

Además, puedes obtener información para conectarte a una instancia de Cloud SQL desde otras Google Cloud aplicaciones: