Auth Proxy を使用して Cloud Shell から AlloyDB に接続する

AlloyDB Auth Proxy を使用して、Cloud Shell ターミナルから AlloyDB for PostgreSQL インスタンスへの安全な接続を確立する方法について説明します。このクイックスタートは、インスタンスに接続して基本的な SQL クエリをテストするための、シンプルな事前構成済みの環境を必要とする新規ユーザーに適しています。

始める前に

  1. Google Cloud コンソールのプロジェクト選択ページで、 Google Cloud プロジェクトを選択または作成します。

    プロジェクト選択ページに移動

  2. Google Cloud プロジェクトで課金が有効になっていることを確認します。課金を確認すると、必要なサービスがすべて有効になります。

  3. AlloyDB インスタンスをパブリック IP 用に構成していることを確認します。Cloud Shell はプライベート IP アドレスには接続できません。

必要なロール

Auth Proxy を使用するには、ユーザー アカウントに次の Identity and Access Management(IAM)ロールが必要です。

必要なロールがない場合は、管理者にロールの付与を依頼するか、次の手順に沿ってユーザー アカウントにロールを付与します。

  1. Google Cloud コンソールで、[IAM] ページに移動します。

    [IAM] に移動

  2. プリンシパルのリストで目的のユーザー アカウントを探します。

  3. [プリンシパルを編集します] をクリックします。

  4. [別のロールを追加] をクリックします。

  5. [AlloyDB クライアント] ロールを検索して選択します。

  6. [適用] をクリックします。

  7. [別のロールを追加] をクリックします。

  8. [Service Usage ユーザー] ロールを検索して選択します。

  9. [適用] をクリックします。

  10. [保存] をクリックします。

AlloyDB インスタンスに接続する

Cloud Shell 環境には、Auth Proxy(alloydb-auth-proxy)と PostgreSQL のインタラクティブ ターミナルである psql が含まれています。

  1. Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

  2. Cloud Shell の [承認] をクリックします。この操作は、Cloud Shell を初めて使用する場合にのみ必要です。

  3. Cloud Shell エディタでユーザー ID を確認します。必要な IAM ロールを持つユーザー アカウントでログインしていることを確認します。

    gcloud config list
    
  4. インスタンスの接続 URI を取得します。

    1. Google Cloud コンソールで、[クラスタ] ページに移動します。

      [クラスタ] に移動

    2. クラスタを選択し、プライマリ インスタンスを見つけます。

    3. [接続構成を表示] をクリックします。

    4. 接続 URI をコピーします。

  5. Auth Proxy を起動します。Cloud Shell ターミナルで、コピーした URI を使用して --public-ip フラグを指定します。

    alloydb-auth-proxy CONNECTION_URI --public-ip
    

    次のように置き換えます。

    • CONNECTION_URI: Google Cloud コンソールからコピーした接続 URI

    Auth Proxy が起動し、127.0.0.1:5432 でリッスンしていることを確認するメッセージが表示されます。

  6. 新しい Cloud Shell タブを開き、psql を使用してデータベースに接続します。

    psql "host=localhost user=POSTGRES_USERNAME dbname=POSTGRES_DATABASE port=5432"
    

    既存の Cloud Shell ウィンドウで新しいターミナル ペインを開くには、Ctrl+B+" キーを押すか、[追加] をクリックします。これにより、Auth Proxy を 1 つ目のペインで実行したまま、2 つ目のペインで接続コマンドを実行できます。

    ペインを切り替えるには、Ctrl+B+ キーまたは Ctrl+B+ キーを押します。

    次のように置き換えます。

    • POSTGRES_USERNAME: AlloyDB ユーザー(通常は postgres)。
    • POSTGRES_DATABASE: AlloyDB データベース名(通常は postgres)。
  7. プロンプトが表示されたら、PostgreSQL ユーザーのパスワードを入力します。

  8. SQL クエリを実行して接続を確認します。

    SELECT now();
    
  9. psql を停止するには、「\q」と入力します。

  10. Cloud Shell を停止するには、「exit」と入力します。

  11. Auth Proxy を停止するには、Ctrl+C キーを押します。

クリーンアップ

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

  1. Google Cloud コンソールで、[クラスタ] ページに移動します。

    [クラスタ] に移動

  2. 作成したクラスタをクリックします。

  3. [クラスタを削除] をクリックします。

  4. 確認ダイアログでクラスタの ID を入力し、[削除] をクリックして、クラスタとそのインスタンスを削除します。

次のステップ