Cloud SQL Proxy を使用して MySQL クライアントを接続する

このページでは、IP ではなく Cloud SQL Proxy を使用して、MySQL クライアントを Cloud SQL インスタンスに接続する方法を説明します。

IP を使用して MySQL クライアントを Cloud SQL インスタンスに接続する方法については、IP アドレスを使用して MySQL クライアントを接続するをご覧ください。

プロキシのしくみの詳細については、Cloud SQL Proxy についてをご覧ください。

注: Cloud SQL Proxy は、Cloud SQL の第 2 世代インスタンスに対してのみ使用できます。

始める前に

MySQL を Cloud SQL インスタンスに接続するには、以下を実行しておく必要があります。

MySQL クライアントの接続

プロキシで MySQL を Cloud SQL インスタンスに接続する手順には、次の作業が含まれます。

  1. Cloud SQL API を有効にする
  2. プロキシをインストールする
  3. サービス アカウントを作成する
  4. プロキシを開始する
  5. MySQL セッションを開始する

1. API を有効にする

Cloud SQL Admin API を有効にする。

Enable the 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. サービス アカウントを作成

プロキシを使用して接続する場合、プロキシは Google Cloud Platform で認証する必要があります。Cloud SDK 認証情報を使用するか、サービス アカウントを作成してそのアカウントのローカル鍵ファイルへのパスをプロキシに提供することができます(本番環境インスタンスで推奨)。Cloud SDK 認証情報を使用する場合は、この手順をスキップできます。

サービス アカウントの詳細については、Google Cloud Platform 認証ガイドをご覧ください。

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

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

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

    あるいは、[プロジェクト] > [編集者] の順に選択して、編集者の基本的な役割を使用できますが、編集者の役割には Google Cloud Platform 全体の権限が含まれます。

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

  6. 必要に応じて [サービス アカウントの ID] を一意のわかりやすい値に変更して、後でこのサービス アカウントを簡単に見つけられるようにします。
  7. [新しい秘密鍵の提供] をクリックします。
  8. デフォルトのキータイプは JSON であり、この値を使用するのが適切です。
  9. [作成] をクリックします。

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

4. プロキシを開始する

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

TCP ソケット

  1. [インスタンスの詳細] ページからインスタンス接続名をコピーします。
  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. クライアント セッションを開始する

プロキシをインストールして開始したので、このプロキシを使用して MySQL セッションを開始できます。MySQL クライアントで Cloud SQL インスタンスに接続するときは常に、このコマンドを使用できます。

使用する接続文字列は、プロキシの開始時に TCP ソケットを使用したか Unix ソケットを使用したかによって異なります。

TCP ソケット

  1. MySQL クライアントを開始します。
    mysql -u <USERNAME> -p --host 127.0.0.1
    

    TCP ソケットを使用して接続する場合、プロキシには 127.0.0.1 経由でアクセスします。

  2. パスワードを入力します。
  3. MySQL のプロンプトが表示されます。

Unix ソケット

  1. MySQL クライアントを開始します。
    mysql -u <USERNAME> -p -S /cloudsql/<INSTANCE_CONNECTION_NAME>
    
  2. パスワードを入力します。
  3. MySQL のプロンプトが表示されます。

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

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...