デフォルトでは、データベース クラスタは、ユーザー クラスタ内および同じプロジェクトからの接続のみを許可します。
別のプロジェクトからプロジェクト内のすべてのデータベース クラスタへの接続を有効にするには、クロス プロジェクト接続を有効にするをご覧ください。
GDC 組織外の IP アドレスからデータベース クラスタへの接続を有効にするには、外部接続を有効にするをご覧ください。
Project DB 管理者ロールにバインドされたアカウントで GDC コンソールにログインし、データベース クラスタへの接続に必要な次の情報を確認します。この情報は、[データベース サービス] ページの [接続] セクションにあります。
これらの手順には、psql を使用してデータベースに接続する例が含まれています。具体的な手順は、選択したクライアント ソフトウェアによって異なります。
コンソール
データベース クラスタの [データベース サービス] ページの [接続] セクションに移動します。このページでは、以下について説明します。
- 管理者アカウントのパスワード(ユーザー名は
dbsadmin) - データベース クラスタのプライマリ エンドポイントのホスト名とポート番号
- データベース クラスタが組織外からの外部接続を許可している場合。
- クラスタに接続するための
psqlコマンド - データベース クラスタの認証局(CA)証明書をダウンロードするためのリンク
- 管理者アカウントのパスワード(ユーザー名は
データベース クラスタの [データベース サービス] ページの [接続] セクションで、GDC コンソールから CA 証明書をダウンロードします。
CA 証明書を使用してデータベースを検証するようにクライアントを構成します。
psqlクライアントの場合は、PGSSLROOTCERT環境変数を証明書ファイルのパスに設定し、PGSSLMODE環境変数を任意の値に設定します。export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"クライアント ソフトウェアからデータベースに接続します。
psqlを使用している場合は、次のコマンドを実行します。PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
次の変数を置き換えます。
path/to/:accounts_cert.pem証明書へのパス。DB_PASSWORD: コンソールのパスワード。DB_HOSTNAME: コンソールのデータベース ホスト名。DB_PORT: コンソールのデータベース ポート番号。DB_USERNAME: コンソールのデータベース ユーザー名。
API
データベース クラスタのステータスからデータベース エンドポイントを取得します。
kubectl get dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'Kubernetes Secret から CA 証明書をダウンロードします。
kubectl get secret dbs-certificates -n USER_PROJECT -o json | jq -r '.data."dbs-pg-cert-DBCLUSTER_NAME"' | base64 -d > path/to/ca.crtCA 証明書を使用してデータベースを検証するようにクライアントを構成します。
psqlクライアントの場合は、PGSSLROOTCERT環境変数を証明書ファイルのパスに、PGSSLMODE環境変数を優先設定に設定できます。export PGSSLROOTCERT=path/to/ca.crt export PGSSLMODE="verify-full"クライアント ソフトウェアからデータベースに接続します。
psqlを使用している場合は、次のコマンドを実行します。PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p DB_PORT -U DB_USERNAME -d postgres
次の変数を置き換えます。
USER_PROJECT: データベース クラスタが作成されたユーザー プロジェクトの名前。DBCLUSTER_NAME: データベース クラスタの名前。path/to/: データベース CA 証明書のパス。DB_PASSWORD: 管理者ユーザーのデータベース パスワード。DB_HOSTNAME: データベース クラスタのステータスから取得したホスト名。DB_PORT: データベース クラスタのステータスから取得したデータベースのポート番号。DB_USERNAME: データベースのユーザー名(デフォルトはdbsadmin)。