gcloud CLI を使用して接続する

gcloud beta alloydb connect コマンドを使用すると、AlloyDB インスタンスに対して承認済みの暗号化された接続を確立できます。AlloyDB Auth Proxy の起動と psql クライアント ツールの実行を自動化します。

このコマンドは、ローカルマシンや Cloud Shell などの環境からデータベースを手動で管理および開発する場合に使用します。

詳細については、接続の概要をご覧ください。

始める前に

  1. gcloud CLI をインストールします
  2. psql クライアント ツールをインストールします
  3. IAM プリンシパルに roles/alloydb.client ロールがあることを確認します。詳細については、IAM 認証を管理するをご覧ください。

インスタンスに接続する

デフォルトの postgres ユーザーとデータベースを使用してプライベート IP 経由でインスタンスに接続するには、次のコマンドを実行します。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID

パブリック IP 経由で接続する

インスタンスでパブリック IP アドレスが有効になっている場合は、--public-ip フラグを追加して接続できます。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --public-ip

IAM を使用して認証する

gcloud beta alloydb connect コマンドは、IAM の自動認証をサポートしています。--auto-iam-authn フラグを使用して、ログインした gcloud ユーザーまたはサービス アカウントとして認証します。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --auto-iam-authn

IAM 認証の詳細については、IAM データベース認証をご覧ください。

Private Service Connect 経由で接続する

Private Service Connect を使用している場合は、--psc フラグを追加します。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --psc

特定のユーザーとデータベースに接続する

特定のデータベース ユーザーとして特定のデータベースに接続するには、--user フラグと --database フラグを使用します。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --user=USER_NAME \
    --database=DATABASE_NAME

サービス アカウントの権限借用

権限借用されたサービス アカウントを使用して、接続を承認できます。権限借用を使用すると、AlloyDB Auth Proxy は指定されたサービス アカウントの認証情報を使用して接続情報を取得します。

権限借用されたサービス アカウントを使用して接続するには、--impersonate-service-account フラグを追加します。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

Auth Proxy は、権限を借用したサービス アカウントを使用して接続情報を取得します。ただし、データベースに対する認証は自動的に行われません。権限を借用したサービス アカウントとしてデータベースに対する認証も行うには、--auto-iam-authn フラグを追加します。権限を借用するサービス アカウントは、データベースのユーザーである必要があります。

gcloud beta alloydb connect INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
    --auto-iam-authn

次のステップ