デフォルトでは、データベース クラスタは、ユーザー クラスタ内および同じプロジェクト内からの接続のみを許可します。
別のプロジェクトからプロジェクト内のすべてのデータベース クラスタへの接続を有効にするには、プロジェクト間の接続を有効にするをご覧ください。
GDC 組織外の IP アドレスからデータベース クラスタへの接続を有効にするには、外部接続を有効にするをご覧ください。
データベース プロジェクト管理者ロールにバインドされたアカウントで 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)。