Conéctate a Cloud SQL desde aplicaciones externas

En esta página, se describe cómo establecer una conexión con Cloud SQL desde una aplicación que se ejecuta fuera de Google Cloud.

Para obtener información sobre las diversas opciones de conexión con Cloud SQL, consulta Opciones de conexión para aplicaciones externas. Para obtener información sobre la configuración de la IP pública, consulta Configura una IP pública.

Las conexiones de bases de datos consumen recursos en el servidor y en la aplicación que se conecta. Usa siempre prácticas adecuadas de administración de conexiones para minimizar el impacto de tu aplicación y reducir la posibilidad de superar los límites de conexión de Cloud SQL. Para obtener más información, consulta Administra conexiones de bases de datos.

Antes de comenzar

Cuando se otorga acceso a una aplicación, no se habilita de forma automática una cuenta de usuario de base de datos para conectarse a la instancia. Antes de que puedas conectarte a una instancia, debes tener una cuenta de usuario de base de datos con la que te puedas conectar. En el caso de instancias nuevas, debes tener configurada la cuenta de usuario predeterminada. Obtén más información.

Puedes conectarte a una instancia de Cloud SQL con los siguientes métodos:

Conéctate desde una aplicación externa mediante el proxy

Si configuras el proxy de Cloud SQL para un entorno de prueba local (no de producción), puedes usar la Guía de inicio rápido del proxy, en lugar de estas instrucciones.

Si usas los lenguajes de programación Java o Go, tienes algunas alternativas además del proxy de Cloud SQL. Obtén más información.

1. Habilita la API

Habilita la API de Cloud SQL Admin.

Habilita la API

2. Instala el cliente del proxy en tu máquina local

Linux de 64 bits

  1. Descarga el proxy con el siguiente comando:
        wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
        
  2. Haz que el proxy sea ejecutable con el siguiente comando:
        chmod +x cloud_sql_proxy
        

Linux de 32 bits

  1. Descarga el proxy con el siguiente comando:
        wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy
        
  2. Haz que el proxy sea ejecutable con el siguiente comando:
        chmod +x cloud_sql_proxy
        

macOS de 64 bits

  1. Descarga el proxy con el siguiente comando:
        curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
        
  2. Haz que el proxy sea ejecutable con el siguiente comando:
        chmod +x cloud_sql_proxy
        

macOS de 32 bits

  1. Descarga el proxy con el siguiente comando:
        curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.386
        
  2. Haz que el proxy sea ejecutable con el siguiente comando:
        chmod +x cloud_sql_proxy
        

Windows de 64 bits

Para descargar el proxy, haz clic con el botón derecho en https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe y selecciona Guardar vínculo como. Cambia el nombre del archivo por cloud_sql_proxy.exe.

Windows de 32 bits

Para descargar el proxy, haz clic derecho en https://dl.google.com/cloudsql/cloud_sql_proxy_x86.exe y selecciona Guardar vínculo como. Cambia el nombre del archivo por cloud_sql_proxy.exe.
Si tu sistema operativo no se incluye aquí, también puedes compilar el proxy desde la fuente.

3. Determina cómo autenticar el proxy

Obtén más información sobre las opciones de autenticación del proxy.

4. Si tu método de autenticación lo requiere, crea una cuenta de servicio

Cuando usas una cuenta de servicio a fin de proporcionar credenciales para el proxy, debes crearla con los permisos necesarios. Si usas las funciones más específicas de Identity Access and Management (IAM) para administrar los permisos de Cloud SQL, debes asignar a la cuenta de servicio una función que incluya el permiso cloudsql.instances.connect. A continuación, se enumeran las funciones predefinidas de Cloud SQL que incluyen este permiso:

  • Cliente de Cloud SQL
  • Editor de Cloud SQL
  • Administrador de Cloud SQL

Si usas las funciones de proyecto heredadas (visualizador, editor, propietario), la cuenta de servicio debe tener, al menos, la función de editor.

  1. Ve a la página Cuentas de servicio de Google Cloud Console.

    Ir a la página Cuentas de servicio

  2. Selecciona el proyecto que contiene la instancia de Cloud SQL.
  3. Haz clic en Crear cuenta de servicio.
  4. En el cuadro de diálogo Crear cuenta de servicio, ingresa un nombre descriptivo para la cuenta de servicio.
  5. En Función, selecciona una de las siguientes funciones:
    • Cloud SQL > Cliente de Cloud SQL
    • Cloud SQL > Editor de Cloud SQL
    • Cloud SQL > Administrador de Cloud SQL

    O bien, puedes seleccionar Proyecto > Editor a fin de usar la función básica de editor, pero esta incluye permisos para todo Google Cloud.

    Si no ves estas funciones, es posible que tu usuario de Google Cloud no tenga el permiso resourcemanager.projects.setIamPolicy. Para comprobar tus permisos, accede a la página de IAM en Google Cloud Console y busca tu ID de usuario.

  6. Reemplaza el ID de la cuenta de servicio por un valor único y fácil de reconocer.
  7. Haz clic en Proporcionar una clave privada nueva y confirma que el tipo de clave sea JSON.
  8. Haz clic en Crear.

    El archivo de claves privadas se descargará en tu equipo. Puedes cambiarlo de ubicación. Asegúrate de mantenerlo a salvo.

5. Define cómo especificar tus instancias para el proxy

Obtén más información sobre las opciones de especificación de instancias del proxy.

6. Inicia el proxy

Las opciones que pasas al proxy dependen de las opciones de especificación de la instancia y la autenticación que elegiste con anterioridad.

Según el lenguaje y el entorno, puedes iniciar el proxy con sockets TCP o con sockets Unix.

Sockets TCP

  1. Copia el nombre de la conexión de la instancia desde la página Detalles de la instancia.

    Por ejemplo: myproject:myregion:myinstance.

  2. Si usas una cuenta de servicio para autenticar el proxy, anota en qué ubicación de la máquina cliente se encuentra el archivo de claves privadas que se generó cuando creaste la cuenta de servicio.
  3. Inicia el proxy.

    Estas son algunas strings posibles para invocar al proxy:

    • Si usas la autenticación del SDK de Cloud:
          ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
          
      El puerto especificado no debe estar en uso, por ejemplo, por un servidor de base de datos local.
    • Si usas una cuenta de servicio y una especificación de instancia explícita (se recomienda para entornos de producción):
          ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 \
                            -credential_file=<PATH_TO_KEY_FILE> &
          

    Si deseas obtener más información sobre las opciones del proxy, consulta Opciones para autenticar el proxy y Opciones para especificar las instancias.

Sockets Unix

  1. Si usas una especificación de instancia explícita, copia el nombre de la conexión de la instancia que aparece en la página Detalles de la instancia.
  2. Crea el directorio en el que se alojarán los sockets del proxy:
    sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
  3. Si usas una cuenta de servicio para autenticar el proxy, anota en qué ubicación de la máquina cliente se encuentra el archivo de claves privadas que se generó cuando creaste la cuenta de servicio.
  4. Abre una nueva ventana de la terminal y, luego, inicia el proxy.

    Estas son algunas strings posibles para invocar al proxy:

    • Si usas una cuenta de servicio y una especificación de instancia explícita (se recomienda para entornos de producción):
          ./cloud_sql_proxy -dir=/cloudsql -instances=<INSTANCE_CONNECTION_NAME> \
                            -credential_file=<PATH_TO_KEY_FILE> &
    • Si usas la autenticación del SDK de Cloud y la detección automática de instancias:
      ./cloud_sql_proxy -dir=/cloudsql &

    Se recomienda que inicies el proxy en su propia terminal para que puedas supervisar los resultados sin que se mezclen con los de otros programas.

    Si deseas obtener más información sobre las opciones del proxy, consulta Opciones para autenticar el proxy y Opciones para especificar las instancias.

  5. Cuando uses un socket Unix para conectarte a Cloud SQL mediante el proxy de Cloud SQL, asegúrate de que la longitud del nombre del socket no supere el límite del sistema. Este límite depende del sistema, pero suele ser de entre 91 y 108 caracteres. En Linux, la longitud se suele definir como 108, y puedes usar el siguiente comando para verificarlo:
    cat /usr/include/linux/un.h | grep "define UNIX_PATH_MAX"

7. Actualiza la aplicación para que pueda conectarse a Cloud SQL mediante el proxy

La instrucción exacta del código que se requiere para usar el proxy a fin de conectarse a la instancia de Cloud SQL depende del lenguaje y del marco de trabajo que uses.

Debes conectarte al proxy de la misma manera en la que te conectarías a un socket TCP o Unix (según cómo invocaste el proxy):

Sockets TCP

Con sockets TCP, el proxy está disponible como un host local:

    127.0.0.1:3306
    

Sockets Unix

Con los sockets Unix, puedes acceder al proxy mediante la siguiente ruta de acceso:

    PROXY_PATH/INSTANCE_CONNECTION_NAME;
    
En la ruta anterior, PROXY_PATH es la ruta al directorio que estableciste con la opción -dir cuando iniciaste el proxy. En los ejemplos en esta documentación, se usa /cloudsql. Puedes encontrar el nombre de la conexión de la instancia en la página Detalles de la instancia en Google Cloud Console o usar PROJECT-ID:REGION:INSTANCE_NAME.

¿Necesitas ayuda? Para solucionar problemas del proxy, consulta Soluciona problemas de conexión del proxy de Cloud SQL. También puedes consultar nuestra página de asistencia de Cloud SQL.

Información y ejemplos específicos del lenguaje

Puedes conectarte al proxy desde cualquier lenguaje que te permita establecer una conexión con un socket Unix o TCP. A continuación, se muestran algunas instrucciones de invocación y conexión de ejemplo que te ayudarán a comprender cómo funcionan en conjunto en la aplicación.

.NET

Después de iniciar el proxy, edita el archivo appsettings.json y define una string de conexión en CloudSql:ConnectionString. Por ejemplo:

{
      "CloudSQL" : {
         ConnectionString": "Host=127.0.0.1;Uid=DATABASE_USER;Pwd=PASSWORD;Database=DATABASE_NAME"
      }
    }

Luego, en el archivo Startup.cs, crea una conexión de base de datos:

var connectionString = new MySqlConnectionStringBuilder(
        Configuration["CloudSql:ConnectionString"])
    {
        // Connecting to a local proxy that does not support ssl.
        SslMode = MySqlSslMode.None,
    };
    DbConnection connection =
        new MySqlConnection(connectionString.ConnectionString);

Go

Puedes usar el proxy de Cloud SQL con el lenguaje de programación Go de estas dos maneras:

  1. Mediante la biblioteca del proxy de Go
  2. Mediante la ejecución del proxy como un proceso complementario

Biblioteca del proxy de Go

La biblioteca proporciona la forma más fácil de conectarse a Cloud SQL desde un programa de Go, ya que no necesitas iniciar de manera explícita el proxy como su propio proceso.

    import (
        "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql"
    )
    ...
    cfg := mysql.Cfg(INSTANCE_CONNECTION_NAME, DATABASE_USER, PASSWORD)
    cfg.DBName = DATABASE_NAME
    db, err := mysql.DialCfg(cfg)
    

Para obtener más información, consulta la página de GitHub del proxy de Cloud SQL.

Proceso complementario

También puedes ejecutar el proxy como un proceso complementario y conectarlo desde la aplicación.

En las instrucciones de invocación del proxy que se incluyen a continuación, se usa la autenticación del SDK de Cloud local para abreviar. La instrucción de invocación puede variar según cómo autentiques y especifiques las instancias. Si deseas obtener más información, consulta Opciones para autenticar el proxy de Cloud SQL.

Sockets TCP

Instrucción de invocación del proxy:

    ./cloud_sql_proxy -instances=[INSTANCE_CONNECTION_NAME]=tcp:3306 &
    

Instrucción de conexión:

    import (
           "database/sql"
            _ "github.com/go-sql-driver/mysql"
    )

    dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s",
           DATABASE_USER,
           PASSWORD,
           "127.0.0.1:3306",
           DATABASE_NAME)
    db, err := sql.Open("mysql", dsn)
    

Sockets Unix

Instrucción de invocación del proxy:

    ./cloud_sql_proxy -instances=[INSTANCE_CONNECTION_NAME] -dir=/cloudsql &
    

Instrucción de conexión:

    import (
           "database/sql"
            _ "github.com/go-sql-driver/mysql"
    )

    dsn := fmt.Sprintf("%s:%s@unix(/cloudsql/%s)/%s",
           DATABASE_USER,
           PASSWORD,
           INSTANCE_CONNECTION_NAME,
           DATABASE_NAME)
    db, err := sql.Open("mysql", dsn)
    

Java

El lenguaje de programación Java no proporciona compatibilidad nativa con los sockets Unix. Puedes usar sockets TCP o una biblioteca que proporcione compatibilidad para sockets Unix con el proxy de Cloud SQL, pero la forma más fácil de conectarte a una instancia de segunda generación sin agregar direcciones de red autorizadas es usar la fábrica de sockets de JDBC.

La fábrica de sockets de JDBC proporciona una alternativa al software de proxy del cliente y requiere que habilites la API de Administrador de Cloud SQL, al igual que el proxy de Cloud SQL. La fábrica de sockets otorga el mismo nivel de encriptación que el proxy y se autentica con las credenciales del SDK de Cloud. Debes instalar y autenticar el SDK de Cloud antes de usar la fábrica de sockets.

Consulta Fábrica de sockets de Cloud SQL para los controladores JDBC a fin de obtener ejemplos de código. Revisa el README para obtener instrucciones.

PHP

PDO y TCP

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &
    

En los siguientes ejemplos, se establece una conexión con Cloud SQL mediante objetos de datos PHP (PDO):

    // Use a Data source name (DSN) to connect to Cloud SQL through the proxy
    $dsn = 'mysql:host=127.0.0.1;port=3306;dbname=DATABASE_NAME';
    // Instantiate your DB using the DSN, username, and password
    $dbUser = 'DATABASE_USER';
    $dbPass = 'PASSWORD';
    $db = new PDO($dsn, $dbUser, $dbPass);
    

Sockets Unix y PDO

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &
    

En los siguientes ejemplos, se establece una conexión con Cloud SQL mediante PDO:

    // Use a Data source name (DSN) to connect to Cloud SQL through the proxy
    $dsn = sprintf('mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=DATABASE_NAME';
    // Instantiate your DB using the DSN, username, and password
    $dbUser = 'DATABASE_USER';
    $dbPass = 'PASSWORD';
    $db = new PDO($dsn, $dbUser, $dbPass);
    

mysqli y TCP

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &
    

En los siguientes ejemplos, se establece una conexión con Cloud SQL mediante mysqli:

    // Instantiate your DB using the database host, port, name, username, and password
    $dbName = 'DATABASE_NAME';
    $dbUser = 'DATABASE_USER';
    $dbPass = 'PASSWORD';
    $mysqli = new mysqli('127.0.0.1', $dbUser, $dbPass, $dbName, 3306);
    

Sockets Unix y mysqli

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &
    

En los siguientes ejemplos, se establece una conexión con Cloud SQL mediante mysqli:

    // Instantiate your DB using the database name, socket, username, and password
    $dbName = 'DATABASE_NAME';
    $dbUser = 'DATABASE_USER';
    $dbPass = 'PASSWORD';
    $dbSocket = '/cloudsql/INSTANCE_CONNECTION_NAME';
    $mysqli = new mysqli(null, $dbUser, $dbPass, $dbName, null, $dbSocket);
    

Python

En las instrucciones de invocación del proxy que se incluyen a continuación, se usa la autenticación del SDK de Cloud local para abreviar. La instrucción de invocación puede variar según cómo autentiques y especifiques las instancias. Obtén más información.

PyMySQL y TCP

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &
    

Instrucción de conexión:

    import pymysql
    connection = pymysql.connect(host='127.0.0.1',
                                 user='DATABASE_USER',
                                 password='PASSWORD',
                                 db='DATABASE_NAME')
    

PyMySQL y Unix

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &
    

Instrucción de conexión:

    import pymysql
    connection = pymysql.connect(unix_socket='/cloudsql/' + INSTANCE_CONNECTION_NAME,
                                 user='DATABASE_USER',
                                 password='PASSWORD',
                                 db='DATABASE_NAME')
    

SQLAlchemy y TCP

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &
    

Instrucción de conexión:

    from sqlalchemy import create_engine
      engine = create_engine('mysql+pymysql://DATABASE_USER:PASSWORD@127.0.0.1/DATABASE_NAME')
    

SQLAlchemy y Unix

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &
    

Instrucción de conexión:

    from sqlalchemy import create_engine
    engine = create_engine('mysql+pymysql://DATABASE_USER:PASSWORD@/DATABASE_NAME?unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME')
    

Ruby

mysql2 y TCP

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &
    

En los siguientes ejemplos, se establece una conexión con Cloud SQL mediante la RubyGem mysql2:

    require "mysql2"
    client = Mysql2::Client.new host: "127.0.0.1", port: 3306,
        database: "DATABASE_NAME", username: "DATABASE_USER",
        password: "PASSWORD"
    

Sockets Unix y mysql2

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &
    

En los siguientes ejemplos, se establece una conexión con Cloud SQL mediante la RubyGem mysql2:

    require "mysql2"
    client = Mysql2::Client.new socket: "/cloudsql/CONNECTION_NAME",
        database: "DATABASE_NAME", username: "DATABASE_USER",
        password: "PASSWORD"
    

Rails y TCP

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &
    

En config/databases.yml, usa la siguiente configuración:

    mysql_settings: &mysql_settings
      adapter: mysql2
      encoding: utf8
      pool: 5
      username: DATABASE_USER
      password: PASSWORD
      database: DATABASE_NAME
      host: 127.0.0.1:3306
    

Rails y sockets Unix

Invoca el proxy:

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME -dir=/cloudsql &
    

En config/databases.yml, usa la siguiente configuración:

    mysql_settings: &mysql_settings
      adapter: mysql2
      encoding: utf8
      pool: 5
      username: DATABASE_USER
      password: PASSWORD
      database: DATABASE_NAME
      socket: /cloudsql/INSTANCE_CONNECTION_NAME
    

Configura el acceso para conexiones IP públicas

Puedes otorgarle a cualquier aplicación acceso a una instancia de Cloud SQL mediante la autorización de las direcciones IP públicas que la aplicación usa para conectarse.

No puedes especificar una red privada (por ejemplo, 10.x.x.x) como una red autorizada.

Direcciones IP públicas para instancias de segunda generación:

  • IPv6: Las instancias de segunda generación no admiten IPv6.
  • IPv4: Las instancias de segunda generación tienen una dirección IPv4 estática que se les asigna de forma automática. Se realiza un cobro menor por la dirección IP cada vez que se apaga la instancia (se desactiva).

Direcciones IP públicas para instancias de primera generación:

En cuanto a las instancias de primera generación, Cloud SQL admite conexiones de IP pública para la dirección IPv4 y la dirección IPv6. Te puedes conectar mediante uno de estos protocolos, o con ambos. Sin embargo, no puedes combinar las versiones de las direcciones IP en una misma conexión.

  • IPv6: Cada instancia de primera generación tiene una dirección IPv6 estática que se le asigna de forma automática; no tienes que asignarle una dirección IPv6 a la instancia.
  • IPv4: Si te conectas a una instancia de primera generación mediante IPv4, debes actualizar la instancia para que tenga asignada una dirección IPv4 pública. Esta dirección IP es estática. Se realiza un cobro menor por la dirección IPv4 cada vez que se apaga la instancia (se detiene).

Para configurar el acceso mediante conexiones IP públicas, sigue estos pasos:

Console

  1. Define la dirección IP de tu aplicación. Obtén más información.
  2. Autoriza la dirección IP de la aplicación para que se conecte a la instancia.

    Para obtener más información, consulta Agrega una dirección autorizada.

  3. Si te conectas a una instancia de primera generación mediante IPv4, asigna una dirección IPv4 a la instancia si aún no lo hiciste:
    1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

      Ir a la página de instancias de Cloud SQL

    2. Haz clic en el nombre de la instancia para abrir la página Descripción general que le corresponde.
    3. Selecciona la pestaña Dirección IP.
    4. Haz clic en Solicitar dirección IPv4.

      Ten en cuenta que se te cobra por una dirección IPv4 cuando la instancia está apagada. Para obtener más información, consulta la página de precios.

  4. Puedes encontrar la dirección IP que se le asignó a la instancia en su página Detalles de la instancia. Este es el valor que necesitas para la string de conexión de la aplicación.

gcloud

  1. Define la dirección IP de tu máquina cliente. Obtén más información.
  2. Autoriza la dirección IP de la aplicación para que se conecte a la instancia.

    Para obtener más información, consulta Agrega una dirección autorizada.

  3. Si te conectas a una instancia de primera generación y quieres usar IPv4, debes asignarle una dirección IPv4 a la instancia:
        gcloud sql instances patch [INSTANCE_NAME] --assign-ip
        
  4. Recupera la dirección IP de la instancia:
        gcloud sql instances describe [INSTANCE_NAME]
        

    En el resultado, busca el campo ipAddress. Este es el valor que necesitas para la string de conexión de la aplicación.

cURL

  1. Define la dirección IP de tu aplicación. Obtén más información.
  2. Autoriza la dirección IP de la aplicación para que se conecte a la instancia.

    Para obtener más información, consulta Agrega una dirección autorizada.

  3. Si te conectas a una instancia de primera generación y quieres usar IPv4, debes asignarle una dirección IPv4 a la instancia:
        curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
               --header 'Content-Type: application/json' \
               --data '{"settings" : {"ipConfiguration" :
                                      {"ipv4Enabled" : "true"}}}' \
               -X PATCH \
               https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]
        
  4. Recupera la dirección IP de la instancia:
        gcloud auth login
        ACCESS_TOKEN="$(gcloud auth print-access-token)"
        curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
               -X GET \
               https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]
        

    Toma nota del valor de ipv6Address (solo instancias de primera generación) o ipAddresses.ipAddress para IPv4. Este es el valor que necesitas para la string de conexión de la aplicación.

¿Necesitas ayuda? Para solucionar problemas del proxy, consulta Soluciona problemas de conexión del proxy de Cloud SQL. También puedes consultar nuestra página de asistencia de Cloud SQL.

Configura el acceso para las aplicaciones con direcciones IP asignadas de forma dinámica

Algunas aplicaciones necesitan conectarse a la instancia de Cloud SQL mediante una dirección IP efímera o asignada de forma dinámica. Este es el caso de las aplicaciones de plataforma como servicio (PaaS), por ejemplo.

La mejor solución para estas aplicaciones es usar una instancia de segunda generación de Cloud SQL y conectarse mediante el proxy de Cloud SQL. Esta solución proporciona el mejor control de acceso para la instancia.

Si no puedes usar una instancia de segunda generación, puedes instalar tu propio proxy ni abrir el firewall y aplicar SSL. Sin embargo, ninguno de estos métodos proporciona la seguridad y el control de las soluciones de conectividad que brindan las instancias de segunda generación.

Prueba la conexión

Puedes usar el cliente MySQL a fin de probar tu capacidad de conexión desde el entorno local. Si quieres obtener más información, consulta Conecta el cliente MySQL mediante una dirección IP pública y Conecta el cliente MySQL mediante el proxy de Cloud SQL.

¿Necesitas ayuda? Para solucionar problemas del proxy, consulta Soluciona problemas de conexión del proxy de Cloud SQL. También puedes consultar nuestra página de asistencia de Cloud SQL.

Define la dirección IP de la aplicación

Para definir la dirección IP de una computadora en la que se ejecuta tu aplicación a fin de que puedas autorizar el acceso a la instancia de Cloud SQL desde esa dirección, debes usar una de las siguientes opciones:

  • Si la computadora no se encuentra detrás de un proxy, accede a esta y usa este vínculo para definir su dirección IP.
  • Si la computadora se encuentra detrás de un proxy, accede a esta y usa una herramienta o un servicio como whatismyipaddress.com para definir su dirección IP verdadera.

Próximos pasos