デフォルトでは、データベース クラスタはユーザー クラスタ内および同じプロジェクトからの接続のみを許可します。
別のプロジェクトからプロジェクト内のすべてのデータベース クラスタへの接続を有効にするには、クロス プロジェクト接続を有効にするをご覧ください。
GDC 組織外の IP アドレスからデータベース クラスタへの接続を有効にするには、外部接続を有効にするをご覧ください。
project-db-admin
ロールにバインドされたアカウントで GDC コンソールにログインして、データベース クラスタへの接続に関する次の情報を確認します。この情報は、[データベース サービス] ページの [接続] セクションにあります。
これらの手順には、psql
を使用してデータベースに接続する例が含まれています。具体的な手順は、選択したクライアント ソフトウェアによって異なります。
コンソール
データベース クラスタの [データベース サービス] ページの [接続] セクションに移動します。このページには、次の情報が表示されます。
- 管理者アカウントのパスワード(ユーザー名は
dbsadmin
) - データベース クラスタのプライマリ エンドポイントのホスト名とポート番号
- データベース クラスタが組織外からの外部接続を許可している場合。
- クラスタに接続するための
psql
コマンド(PostgreSQL と AlloyDB Omni データベース クラスタの場合) - Java Database Connectivity(JDBC)を使用してクラスタに接続するための文字列(Oracle データベース クラスタの場合)
- データベース クラスタの認証局(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.DBENGINE_NAME.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-DBENGINE_SHORT_NAME-cert-DBCLUSTER_NAME"' | base64 -d > path/to/ca.crt
CA 証明書を使用してデータベースを検証するようにクライアントを構成します。
psql
クライアントの場合は、PGSSLROOTCERT
環境変数を証明書ファイルのパスに、PGSSLMODE
環境変数を設定します。export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"
クライアント ソフトウェアからデータベースに接続します。
psql
を使用している場合は、次のコマンドを実行します。PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p DB_PORT -U DB_USERNAME -d postgres
次の変数を置き換えます。
DBENGINE_NAME
: データベース エンジンの名前。alloydbomni
、postgresql
、oracle
のいずれかです。USER_PROJECT
: データベース クラスタが作成されたユーザー プロジェクトの名前。DBENGINE_SHORT_NAME
: データベース エンジンの短縮名。これは、al
(AlloyDB Omni)、pg
(PostgreSQL)、ora
(Oracle)のいずれかです。DBCLUSTER_NAME
: データベース クラスタの名前。path/to/
: データベース CA 証明書のパス。DB_PASSWORD
: 管理者ユーザーのデータベース パスワード。DB_HOSTNAME
: データベース クラスタのステータスから取得したホスト名。DB_PORT
: データベース クラスタのステータスから取得したデータベースのポート番号。DB_USERNAME
: データベース ユーザー名(デフォルトはdbsadmin
)。