このページでは、パブリック IP アドレス経由で AlloyDB Auth Proxy を使用して、ノートパソコンまたはローカルマシンから AlloyDB for PostgreSQL インスタンスへの安全な接続を確立する方法について説明します。
ノートパソコンから接続すると、AlloyDB を試す場合や開発環境を設定する場合に便利です。
始める前に
ノートパソコンから接続する前に、次のことを確認してください。
- gcloud CLI をインストールして初期化します。gcloud CLI を使用してコマンドを認証し、インスタンスの詳細を取得します。
psqlコマンドライン ツールをインストールします。PostgreSQL ターミナル データベース クライアントとしてpsqlクライアント ツールを使用します。- Auth Proxy クライアントをダウンロードします。Auth Proxy クライアントを使用して、AlloyDB インスタンスへの安全なトンネルを作成します。
- 必要なロールを構成する。
必要なロール
ノートパソコンから接続するには、Identity and Access Management(IAM)プリンシパル(ユーザー アカウントまたはサービス アカウント)に必要な事前定義ロールがあることを確認します。
- AlloyDB クライアント(
roles/alloydb.client) - Service Usage ユーザー(
roles/serviceusage.serviceUsageConsumer)
AlloyDB インスタンスでパブリック IP を有効にする
ノートパソコンから接続する最も簡単な方法は、AlloyDB インスタンスでパブリック IP を有効にすることです。パブリック IP は、インスタンスの作成時に有効にするか、既存のインスタンスを更新して有効にできます。
コンソール
Google Cloud コンソールの [クラスタ] ページに移動します。
クラスタの詳細を表示するには、[リソース名] でクラスタをクリックします。
[クラスタ内のインスタンス] で、接続するインスタンスを見つけます。
[ インスタンス アクション] をクリックしてから、[編集] をクリックします。
[接続] で、[パブリック IP を有効にする] を選択します。
変更を保存するには、[インスタンスを更新] をクリックします。
gcloud
gcloud alloydb instances
update コマンドを使用して、インスタンスでパブリック IP を有効にします。
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--assign-inbound-public-ip=ASSIGN_IPV4
次のように置き換えます。
INSTANCE_ID: AlloyDB インスタンスの ID。CLUSTER_ID: クラスタの ID。REGION_ID: クラスタが配置されているリージョン。
インスタンス接続 URI を取得する
Auth Proxy クライアントを起動するときに、一意の接続 URI を使用してインスタンスを識別する必要があります。ノートパソコンのターミナルで gcloud CLI の alloydb instances describe コマンドを使用して、接続 URI を取得します。
gcloud alloydb instances describe INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--format="value(name)"
このコマンドは、次のような形式の接続 URI を返します。
projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary
パブリック IP で AlloyDB Auth Proxy を起動する
インスタンス接続 URI を取得したら、ノートパソコンのターミナルを使用して Auth Proxy クライアントを起動します。--public-ip フラグを使用して、パブリック IP ネットワーク パス経由で接続するように AlloyDB Auth Proxy に指示します。
./alloydb-auth-proxy CONNECTION_URI --public-ip
CONNECTION_URI は、インスタンス接続 URI を取得するで取得したインスタンス接続 URI に置き換えます。
AlloyDB Auth Proxy が正常に起動すると、AlloyDB Auth Proxy がポート 5432 でローカル TCP 接続をリッスンしていることがターミナルに表示されます。
Authorizing with Application Default Credentials
Listening on 127.0.0.1:5432
The proxy has started successfully and is ready for new connections!
psql を使用してデータベースに接続する
AlloyDB Auth Proxy が実行されている間に、ノートパソコンで別のターミナル ウィンドウを開いてデータベースに接続します。
ローカル リスナー アドレス 127.0.0.1 とポート 5432 をターゲットにして、psql クライアント ツールを実行します。
psql -h 127.0.0.1 -U postgres -d postgres
プロンプトが表示されたら、postgres データベース ユーザーのパスワードを入力します。
psql コマンドは Auth Proxy クライアントに接続し、安全なトンネルを介して AlloyDB インスタンスに接続を転送します。psql コマンドを実行すると、ノートパソコンが AlloyDB インスタンスに安全に接続されていることを確認するプロンプトが表示されます。
psql (18.2 (Debian 18.2-1), server 16.11)
Type "help" for help.
postgres=>