Cloud SQL Auth Proxy を使用して Cloud SQL for PostgreSQL に接続する

このページでは、Cloud SQL Auth Proxy を使用して、ローカルテスト環境から Cloud SQL に接続する方法を示します。Cloud SQL Auth Proxy を使用すると、承認済みネットワークや SSL の構成を必要とせずに、安全に Cloud SQL インスタンスへアクセスできます。Cloud SQL Auth Proxy を使用すると、Cloud SQL インスタンスに安全に接続できます。

このページの手順はテスト環境専用です。本番環境では使用しないでください。本番環境に必要な構成の詳細については、本番環境で Cloud SQL Auth Proxy を使用するCloud SQL Auth Proxy を使用して接続するをご覧ください。

始める前に

  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.

    Go to project selector

  3. Make sure 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.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. 必要な Google Cloud APIs を有効にします。

    Console

    Google Cloud コンソールの [API] ページに移動します。

    [API] に移動

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

    gcloud

    次のボタンをクリックして Cloud Shell を開きます。これにより、ブラウザから Google Cloud リソースにコマンドラインで直接アクセスできます。Cloud Shell を使用して、このクイックスタートで紹介する gcloud コマンドを実行できます。

    Cloud Shell を開く

    Cloud Shell を使用して、次のように gcloud services enable コマンドを実行し、このクイックスタートに必要な API を有効にします。

    gcloud services enable sqladmin.googleapis.com

    このコマンドにより、次の API が有効になります。

    • Cloud SQL Admin API

Cloud SQL インスタンスを作成する

このクイックスタートでは、Google Cloud コンソールを使用します。gcloud CLI、cURL、PowerShell を使用するには、インスタンスの作成をご覧ください。

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. [インスタンスを作成] をクリックします。
  3. [PostgreSQL を選択] をクリックします。
  4. [インスタンス ID] に「myinstance」と入力します。
  5. postgres ユーザーのパスワードを入力します。
  6. [作成] をクリックします。

    インスタンスのリストに戻ります。新しいインスタンスをすぐにクリックして詳細を表示できますが、初期化と起動が完了するまで他のオペレーションには使用できません。

Debian、Ubuntu

PSQL クライアントをパッケージ管理システムから次のようにインストールします。

sudo apt-get update
sudo apt-get install postgresql-client

CentOS / RHEL

PSQL クライアントをパッケージ管理システムから次のようにインストールします。

sudo yum install postgresql

openSUSE

PSQL クライアントをパッケージ管理システムから次のようにインストールします。

sudo zypper install postgresql

他のプラットフォーム

  1. ご使用のプラットフォームに対応する PostgreSQL Core Distribution を、PostgreSQL のダウンロード ページからダウンロードします。
    Core Distribution には、PSQL クライアントが含まれています。
  2. ダウンロード ページの指示に沿って、PostgreSQL データベースをインストールします。

Cloud SQL Auth Proxy クライアントをインストールする

ダウンロードする Cloud SQL Auth Proxy バイナリは、使用しているオペレーティング システムと、オペレーティング システムが 32 ビットと 64 ビットのいずれのカーネルを使用しているかによって異なります。新しいハードウェアのほとんどは 64 ビットのカーネルを使用しています。お使いのマシンが 32 ビットと 64 ビットのどちらのカーネルを実行しているかわからない場合は、Linux または macOS で uname -a コマンドを使用します。Windows の場合は、Windows のドキュメントをご覧ください。

Linux 64 ビット

  1. Cloud SQL Auth Proxy をダウンロードします。
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.linux.amd64
    
  2. Cloud SQL Auth Proxy を実行可能にします。
    chmod +x cloud-sql-proxy
    

Linux 32 ビット

  1. Cloud SQL Auth Proxy をダウンロードします。
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.linux.386
    
  2. curl コマンドが見つからない場合は、sudo apt install curl を実行してダウンロード コマンドを繰り返します。
  3. Cloud SQL Auth Proxy を実行可能にします。
    chmod +x cloud-sql-proxy
    

macOS 64 ビット

  1. Cloud SQL Auth Proxy をダウンロードします。
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.darwin.amd64
    
  2. Cloud SQL Auth Proxy を実行可能にします。
    chmod +x cloud-sql-proxy
    

Mac M1

  1. Cloud SQL Auth Proxy をダウンロードします。
      curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.darwin.arm64
      
  2. Cloud SQL Auth Proxy を実行可能にします。
      chmod +x cloud-sql-proxy
      

Windows 64 ビット

https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.x64.exe を右クリックして [名前を付けてリンクを保存] を選択し、Cloud SQL Auth Proxy をダウンロードします。ファイル名を cloud-sql-proxy.exe に変更します。

Windows 32 ビット

https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.x86.exe を右クリックして [名前を付けてリンクを保存] を選択し、Cloud SQL Auth Proxy をダウンロードします。ファイル名を cloud-sql-proxy.exe に変更します。

Cloud SQL Auth Proxy Docker イメージ

Cloud SQL Auth Proxy には、distrolessalpinebuster など、さまざまなコンテナ イメージがあります。デフォルトの Cloud SQL Auth Proxy コンテナ イメージでは、シェルを含まない distroless を使用します。シェルまたは関連ツールが必要な場合は、alpine または buster を基盤とするイメージをダウンロードします。詳細については、Cloud SQL Auth Proxy コンテナ イメージをご覧ください。

次のコマンドを使用して、ローカルマシンに最新のイメージを Docker で pull できます。

docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.13.0

その他の OS

ここに記載されていないその他のオペレーティング システムの場合は、ソースから Cloud SQL Auth Proxy をコンパイルできます。

インスタンス接続名を取得する

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. [このインスタンスと接続] セクションで接続名をコピーします。接続名の形式は projectID:region:instanceID です。

Cloud SQL Auth Proxy を起動する

専用のターミナルで Cloud SQL Auth Proxy を起動して、その出力をモニタリングできるようにします。INSTANCE_CONNECTION_NAME を、前のステップでコピーしたインスタンス接続名に置き換えます。

Linux 環境の場合は、次のコマンドを使用して Cloud SQL Auth Proxy を起動します。

./cloud-sql-proxy INSTANCE_CONNECTION_NAME

Windows の PowerShell では、次のコマンドを使用して Cloud SQL Auth Proxy を起動します。

.\cloud-sql-proxy.exe INSTANCE_CONNECTION_NAME

次のようなメッセージが表示されます。

Listening on 127.0.0.1:5432 for INSTANCE_CONNECTION_NAME
Ready for new connections

次のコマンドを実行します。DB_NAME は、Cloud SQL データベースの名前に置き換えます。

psql "host=127.0.0.1 port=5432 sslmode=disable dbname=DB_NAME user=postgres"

パスワード入力のプロンプトで、PostgreSQL アカウントのパスワードを入力します。

PostgreSQL のプロンプトが表示されることを確認します。psql クライアントを使用してデータベースに接続しています。

Cloud SQL Auth Proxy を起動したターミナル ウィンドウに戻ります。次のようなメッセージが表示されます。

New connection for myInstance

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. myinstance インスタンスを選択して [インスタンスの詳細] ページを開きます。
  3. ページ上部にあるアイコンバーで、[削除] をクリックします。
  4. インスタンスの削除ウィンドウでインスタンスの名前を入力し、[削除] をクリックします。

省略可能なクリーンアップ手順

このクイックスタートで有効にした API を使用しない場合は、無効にすることができます。

  • このクイックスタートで有効にした API:
    • Cloud SQL Admin API
  1. Google Cloud コンソールの [API] ページに移動します。

    [API] に移動

  2. Cloud SQL Admin API を選択し、[API を無効にする] ボタンをクリックします。

次のステップ