外部アプリケーションから Cloud SQL に接続する

このページでは、Google Cloud の外部で実行されるアプリケーションから Cloud SQL への接続を確立する方法について説明します。

データベース接続は、サーバーと接続元アプリケーションのリソースを消費します。アプリケーションのフットプリントを最小限に抑え、Cloud SQL の接続制限を超える可能性を少なくするには、常に適切な接続管理方法を採用してください。詳細については、データベース接続の管理をご覧ください。

始める前に

アプリケーションへのアクセスを付与しても、データベース ユーザー アカウントがインスタンスに自動的に接続できるようになるわけではありません。インスタンスに接続するには、接続に使用できるデータベース ユーザー アカウントが必要です。新しいインスタンスの場合、デフォルトのユーザー アカウントを構成しておく必要があります。詳細についてはこちらをご覧ください。

接続オプション

次の表は、外部アプリケーションから Cloud SQL インスタンスに接続するためのオプションを比較したものです。

接続オプション セキュリティ、暗号化 詳細
パブリック IP アドレス、SSL あり SSL 証明書管理が必要。
パブリック IP アドレス、SSL なし × 本番インスタンスには推奨されません。
Cloud SQL Proxy
Cloud SQL Proxy Docker イメージ
JDBC ソケット ライブラリ Java プログラミング言語のみ。
Go Proxy ライブラリ Go プログラミング言語のみ。
Cloud Shell × Cloud SQL Proxy を使用して Google Cloud Console から接続します。mysql コマンドライン ツールを必要とする管理タスクに最適です。
Apps Script Apps Script は、標準の Java データベース接続テクノロジーのラッパーである JDBC サービスを介して外部データベースに接続できます。

プロキシを使用して外部アプリケーションから接続する

ローカルテスト環境用(本番環境用ではなく)に Cloud SQL Proxy を設定する場合は、これらの手順の代わりにプロキシ クイックスタートを使用してください。

Java または Go プログラミング言語を使用している場合、Cloud SQL Proxy を使用する以外の代替手段がいくつかあります。詳細についてはこちらをご覧ください。

1. API を有効化する

Cloud SQL Admin API を有効にします。

API を有効にする

2. ローカルマシンにプロキシ クライアントをインストールする

Linux 64 ビット

  1. プロキシをダウンロードします。
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  2. プロキシを実行できるようにします。
    chmod +x cloud_sql_proxy
    

Linux 32 ビット

  1. プロキシをダウンロードします。
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy
    
  2. プロキシを実行できるようにします。
    chmod +x cloud_sql_proxy
    

macOS 64 ビット

  1. プロキシをダウンロードします。
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
    
  2. プロキシを実行できるようにします。
    chmod +x cloud_sql_proxy
    

macOS 32 ビット

  1. プロキシをダウンロードします。
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.386
    
  2. プロキシを実行できるようにします。
    chmod +x cloud_sql_proxy
    

Windows 64 ビット

https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe を右クリックして [名前を付けてリンク先を保存] を選択し、プロキシをダウンロードします。ファイル名を cloud_sql_proxy.exe に変更します。

Windows 32 ビット

https://dl.google.com/cloudsql/cloud_sql_proxy_x86.exe を右クリックして [名前を付けてリンク先を保存] を選択し、プロキシをダウンロードします。ファイル名を cloud_sql_proxy.exe に変更します。
お使いのオペレーティング システムがここに記載されていない場合は、ソースからプロキシをコンパイルすることもできます。

3. プロキシを認証する方法を決定する

プロキシ認証オプションの詳細については、こちらをご覧ください

4. 認証方法で必要な場合は、サービス アカウントを作成する

サービス アカウントを使用してプロキシの認証情報を提示する場合は、十分な権限が付与されたサービス アカウントを作成する必要があります。よりきめ細かい Identity Access and Management(IAM)のロールを使用して Cloud SQL 権限を管理する場合は、サービス アカウントに cloudsql.instances.connect 権限を含むロールを付与する必要があります。この権限を含む事前定義された Cloud SQL のロールは次のとおりです。

  • Cloud SQL クライアント
  • Cloud SQL 編集者
  • Cloud SQL 管理者

以前のプロジェクトのロール(閲覧者、編集者、オーナー)を使用する場合、サービス アカウントには少なくとも編集者のロールが付与されている必要があります。

  1. Google Cloud Console の [サービス アカウント] ページに移動します。

    [サービス アカウント] ページに移動

  2. Cloud SQL インスタンスを含むプロジェクトを選択します。
  3. [サービス アカウントを作成] をクリックします。
  4. [サービス アカウントの作成] ダイアログで、わかりやすいサービス アカウント名を指定します。
  5. [役割] で、次のいずれかの役割を選択します。
    • [Cloud SQL] > [Cloud SQL クライアント]
    • [Cloud SQL] > [Cloud SQL 編集者]
    • [Cloud SQL] > [Cloud SQL 管理者]

    または、[プロジェクト] > [編集者] の順に選択して、ベーシック編集者のロールを使用することもできますが、編集者のロールには Google Cloud 全体に対する権限が含まれています。

    これらの役割が表示されない場合、Google Cloud ユーザーに resourcemanager.projects.setIamPolicy 権限がない可能性があります。権限を確認するには、Google Cloud Console の IAM ページにアクセスし、自分のユーザー ID を検索します。

  6. [サービス アカウント ID] を一意のわかりやすい値に変更します。
  7. [新しい秘密鍵の提供] をクリックし、キーのタイプが JSON であることを確認します。
  8. [作成] をクリックします。

    秘密鍵ファイルがマシンにダウンロードされます。秘密鍵ファイルは、別の場所に移動できます。安全な場所に鍵ファイルを保管してください。

5. プロキシに対するインスタンスの指定方法を決定する

プロキシ インスタンス指定オプションの詳細については、こちらをご覧ください

6. プロキシを開始する

プロキシに渡すオプションは、前に選択した認証とインスタンス指定のオプションによって異なります。

言語や環境に応じて、TCP ソケットまたは Unix ソケットのどちらかを使用してプロキシを開始できます。

TCP ソケット

  1. [インスタンスの詳細] ページからインスタンス接続名をコピーします。

    例: myproject:myregion:myinstance

  2. サービス アカウントを使用してプロキシを認証する場合は、サービス アカウントを作成したときに作成された秘密鍵ファイルのクライアント マシン上での場所を記録しておきます。
  3. プロキシを開始します。

    考えられるプロキシ呼び出し文字列を以下にいくつか示します。

    • Cloud SDK 認証を使用する場合
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
      
      指定されたポートは、ローカル データベース サーバーなどがまだ使用していないものにする必要があります。
    • サービス アカウントを使用して、インスタンス接続の名前を明示的に指定する場合(本番環境用に推奨):
      ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 \
                        -credential_file=<PATH_TO_KEY_FILE> &
      

    プロキシ オプションの詳細については、プロキシを認証するためのオプションインスタンスを指定するためのオプションをご覧ください。

Unix ソケット

  1. 明示的なインスタンス指定を使用する場合は、[インスタンスの詳細] ページからインスタンス接続名をコピーします。
  2. プロキシ ソケットを格納するディレクトリを作成します。
    sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
  3. サービス アカウントを使用してプロキシを認証する場合は、サービス アカウントを作成したときに作成された秘密鍵ファイルのクライアント マシン上での場所を記録しておきます。
  4. 新しいターミナル ウィンドウを開き、プロキシを開始します。

    考えられるプロキシ呼び出し文字列を以下にいくつか示します。

    • サービス アカウントを使用して、インスタンス接続の名前を明示的に指定する場合(本番環境用に推奨):
      ./cloud_sql_proxy -dir=/cloudsql -instances=<INSTANCE_CONNECTION_NAME> \
                        -credential_file=<PATH_TO_KEY_FILE> &
    • Cloud SDK 認証と自動インスタンス検出を使用する場合
      ./cloud_sql_proxy -dir=/cloudsql &

    専用のターミナルでプロキシを開始することが最善です。この場合、他のプログラムからの出力と混ざることなく出力をモニタリングできます。

    プロキシ オプションの詳細については、プロキシを認証するためのオプションインスタンスを指定するためのオプションをご覧ください。

  5. Unix ソケットを使用して Cloud SQL Proxy を使用する Cloud SQL に接続する場合、ソケットのファイル名の長さがシステムの上限を超えていないことを確認してください。システムによって異なりますが、通常は 91~108 文字です。Linux では、この長さが通常 108 文字と定義され、次のコマンドで確認できます。
    cat /usr/include/linux/un.h | grep "define UNIX_PATH_MAX"

7. プロキシを使用して Cloud SQL に接続するようにアプリケーションを更新する

プロキシを使用して Cloud SQL インスタンスに接続するために必要なコードの文の細部は、使用する言語とフレームワークによって異なります。

プロキシへの接続には、TCP や Unix ソケットの場合と同じ方法を使用します。ただし、プロキシの呼び出し方法によって異なります。

TCP ソケット

TCP ソケットでは、プロキシをローカルホストとして使用できます。

127.0.0.1:3306

Unix ソケット

Unix ソケットでは、次のパスを使用してプロキシを使用できます。

PROXY_PATH/INSTANCE_CONNECTION_NAME;
PROXY_PATH は、プロキシを開始するときに -dir オプションで設定したディレクトリへのパスです。このドキュメントの例では、/cloudsql を使用します。インスタンスの接続名を見つけるには、Google Cloud Console のその [インスタンスの詳細] ページで、または PROJECT-ID:REGION:INSTANCE_NAME を使用します。

お困りの場合、プロキシのトラブルシューティングについては、Cloud SQL Proxy 接続のトラブルシューティングをご覧ください。または、Cloud SQL のサポートページをご覧ください。

言語固有の情報と例

Unix または TCP ソケットに接続できる任意の言語を使用して、プロキシに接続できます。アプリケーションでどのように連携するのかを把握できるように、プロキシの呼び出しと接続ステートメントの例をいくつか次に紹介します。

.NET

プロキシを開始したら、appsettings.json ファイルを作成し、CloudSql:ConnectionString で接続文字列を定義します。例:

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

次に、Startup.cs で、データベース接続を作成します。

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

Go プログラミング言語では、次の 2 通りの方法で Cloud SQL Proxy を使用できます。

  1. Go Proxy ライブラリを使用する
  2. Proxy をコンパニオン プロセスとして実行する

Go Proxy ライブラリ

ライブラリを使用する場合、プロキシを独自のプロセスとして明示的に開始する必要がないため、Go プログラムから Cloud SQL に接続するにはこれが最も簡単な方法です。

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)

詳しくは、Cloud SQL Proxy の GitHub ページをご覧ください。

コンパニオン プロセス

また、プロキシをコンパニオン プロセスとして実行し、アプリケーションから接続することもできます。

簡潔にするため、このプロキシ呼び出しステートメントではローカル Cloud SDK 認証を使用しています。実際の呼び出しステートメントは、認証方法やインスタンスの指定方法によって異なる場合があります。Cloud SQL Proxy を認証するためのオプションをご覧ください。

TCP ソケット

プロキシ呼び出しステートメント:

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

接続ステートメント:

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)

Unix ソケット

プロキシ呼び出しステートメント:

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

接続ステートメント:

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

Java プログラミング言語では、Unix ソケットの組み込みサポートは提供されていません。TCP ソケット、または Cloud SQL Proxy との UNIX ソケット サポートを提供するライブラリを使用できますが、承認済みネットワーク アドレスを追加することなく PostgreSQL インスタンスに接続する最も簡単な方法は、JDBC ソケット ファクトリを使用することです。

JDBC ソケット ファクトリは、クライアント側プロキシ ソフトウェアの代わりとなるもので、Cloud SQL Proxy と同様に、Cloud SQL Admin API を有効にする必要があります。ソケット ファクトリは、プロキシと同じレベルの暗号化を提供し、Cloud SDK 認証情報を使用して認証します。ソケット ファクトリを使用する前に、Cloud SDK をインストールして認証する必要があります。

コードのサンプルについては、JDBC ドライバ用の Cloud SQL ソケット ファクトリをご覧ください。手順については、README をご覧ください。

PHP

PDO と TCP

プロキシを呼び出します。

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

次の例では、PHP Data Objects(PDO)を使用して Cloud SQL に接続します。

// 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);

PDO と Unix ソケット

プロキシを呼び出します。

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

次の例では、PDO を使用して Cloud SQL に接続します。

// 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 と TCP

プロキシを呼び出します。

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

次の例では、mysqli を使用して Cloud SQL に接続します。

// 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);

mysqli と Unix ソケット

プロキシを呼び出します。

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

次の例では、mysqli を使用して Cloud SQL に接続します。

// 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

簡潔にするため、このプロキシ呼び出しステートメントではローカル Cloud SDK 認証を使用しています。実際の呼び出しステートメントは、認証方法やインスタンスの指定方法によって異なる場合があります。詳細

PyMySQL と TCP

プロキシを呼び出します。

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

接続ステートメント:

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

PyMySQL と UNIX

プロキシを呼び出します。

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

接続ステートメント:

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

SQLAlchemy と TCP

プロキシを呼び出します。

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

接続ステートメント:

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

SQLAlchemy と Unix

プロキシを呼び出します。

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

接続ステートメント:

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

Ruby

mysql2 と TCP

プロキシを呼び出します。

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

次の例では、mysql2 RubyGem を使用して Cloud SQL に接続します。

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

>mysql2 と Unix ソケット

プロキシを呼び出します。

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

次の例では、mysql2 RubyGem を使用して Cloud SQL に接続します。

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

Rails と TCP

プロキシを呼び出します。

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

config/databases.yml では、次の構成を使用します。

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 と Unix ソケット

プロキシを呼び出します。

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

config/databases.yml では、次の構成を使用します。

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

パブリック IP 接続のアクセスを構成する

アプリケーションが接続に使用するパブリック IP アドレスを承認することで、Cloud SQL インスタンスへのアクセスをアプリケーションに許可できます。

承認済みネットワークとしてプライベート ネットワーク(10.x.x.x など)を指定することはできません。

MySQL インスタンスのパブリック IP アドレス:

  • IPv6: インスタンスは IPv6 をサポートしていません。
  • IPv4: インスタンスには静的 IPv4 アドレスが自動的に割り当てられます。インスタンスがオフ(非アクティブ)の間も常に、IP アドレスにわずかな料金がかかります。

パブリック IP 接続によるアクセスを構成するには、次の手順を行います。

Console

  1. アプリケーションの IP アドレスを確認します。詳細
  2. アプリケーションの IP アドレスを承認して、インスタンスに接続します。

    詳しくは、承認されたアドレスを追加するをご覧ください。

  3. インスタンスに割り当てられた IP アドレスは [インスタンスの詳細] ページで確認できます。この値は、アプリケーションの接続文字列に必要となります。

gcloud

  1. クライアント マシンの IP アドレスを確認します。詳細
  2. アプリケーションの IP アドレスを承認して、インスタンスに接続します。

    詳しくは、承認されたアドレスを追加するをご覧ください。

  3. インスタンスの IP アドレスを取得します。
    gcloud sql instances describe [INSTANCE_NAME]
    

    出力の ipAddress フィールドを探します。この値は、アプリケーションの接続文字列に必要となります。

REST

  1. アプリケーションの IP アドレスを確認します。詳細
  2. アプリケーションの IP アドレスを承認して、インスタンスに接続します。

    詳しくは、承認されたアドレスを追加するをご覧ください。

  3. インスタンスの IP アドレスを取得します。

    後述のリクエスト データは、次のように置き換えてから使用します。

    • project-id: プロジェクト ID
    • instance-id: インスタンス ID

    HTTP メソッドと URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    リクエストを送信するには、次のいずれかのオプションを展開します。

    次のような JSON レスポンスが返されます。

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_5_7",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "db-f1-micro",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "asia-east1-a",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "08:00",
          "kind": "sql#backupConfiguration",
          "enabled": true,
          "binaryLogEnabled": true
        },
        "settingsVersion": "13",
        "storageAutoResizeLimit": "0",
        "storageAutoResize": true,
        "dataDiskSizeGb": "10"
      },
      "etag": "etag-id",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        "kind": "sql#sslCert",
        "certSerialNumber": "0",
        "cert": "certificate-id",
        "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
        "sha1Fingerprint": "sha-id",
        "instance": "instance-id",
        "createTime": "2019-06-28T22:46:35.052Z",
        "expirationTime": "2029-06-25T22:47:35.052Z"
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "project-id",
      "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
      "backendType": "SECOND_GEN",
      "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
      "connectionName": "project-id:region:instance-id",
      "name": "instance-id",
      "region": "asia-east1",
      "gceZone": "asia-east1-a"
    }
    

    ipAddresses.ipAddress の値をメモします(IPv4 の場合)。 この値は、アプリケーションの接続文字列に必要となります。

お困りの場合、プロキシのトラブルシューティングについては、Cloud SQL Proxy 接続のトラブルシューティングをご覧ください。または、Cloud SQL のサポートページをご覧ください。

IP アドレスが動的に割り当てられるアプリケーションのアクセスを構成する

一部のアプリケーションでは、動的に割り当てられる一時的な IP アドレスを使用して、Cloud SQL インスタンスに接続する必要があります。これは、特に Platform as a Service(Paas)アプリケーションの場合に該当します。

このようなアプリケーションのソリューションとして最適なのは、Cloud SQL Proxy を使用して接続する方法です。このソリューションでは、インスタンスに最善のアクセス制御が提供されます。

接続をテストする

mysql クライアントを使用して、ローカル環境からの接続状況をテストできます。詳細については、IP アドレスを使用して mysql クライアントを接続するCloud SQL Proxy を使用して mysql クライアントを接続するをご覧ください。

お困りの場合、プロキシのトラブルシューティングについては、Cloud SQL Proxy 接続のトラブルシューティングをご覧ください。または、Cloud SQL のサポートページをご覧ください。

アプリケーションの IP アドレスを確認する

アプリケーションを実行しているパソコンの IP アドレスから Cloud SQL インスタンスへのアクセスを承認できるようにするため、そのパソコンの IP アドレスを確認するには、次のいずれかのオプションを使用します。

  • パソコンがプロキシの背後にない場合は、パソコンにログインし、このリンクを使用して IP アドレスを確認します。
  • パソコンがプロキシの背後にある場合は、パソコンにログインし、whatismyipaddress.com などのサービスやツールを使用して実際の IP アドレスを確認します。

次のステップ