データベースを管理する

GDC Sandbox は、データベース クラスタのテストと管理を行うためのデータベース サービスを提供します。

データベース クラスタを作成するには、データベース エンジンのタイプを選択してデータベース クラスタを作成するをご覧ください。

データベースに接続する

デフォルトでは、データベース クラスタはユーザー クラスタ内および同じプロジェクト内からの接続のみを許可します。

別のプロジェクトからプロジェクト内のすべてのデータベース クラスタへの接続を有効にするには、クロス プロジェクト接続を有効にするをご覧ください。

GDC Sandbox 組織外の IP アドレスからデータベースに接続するには、DB に接続するの手順に沿って外部接続を有効にします。

sshuttle を使用して、psql などのローカル データベース クライアントでデータベースに接続できます。

  1. データベース クラスタの [データベース サービス] ページの [接続] セクションに移動します。このページには、次の情報が表示されます。

    • 管理者アカウントのパスワード(ユーザー名は dbsadmin
    • データベース クラスタのプライマリ エンドポイントのホスト名とポート番号
    • クラスタに接続するための psql コマンド(PostgreSQL と AlloyDB Omni データベース クラスタの場合)
    • データベース クラスタの認証局(CA)証明書をダウンロードするためのリンク
  2. データベース クラスタの [データベース サービス] ページの [接続] セクションで、GDC コンソールから CA 証明書をダウンロードします。

  3. CA 証明書を使用してデータベースを検証するようにクライアントを構成します。psql クライアントの場合は、PGSSLROOTCERT 環境変数を証明書ファイルのパスに設定し、PGSSLMODE 環境変数を設定します。

        export PGSSLROOTCERT=path/to/accounts_cert.pem
        export PGSSLMODE="verify-full"
    
  4. 安全なトンネルを開始します。インスタンスに接続するで説明されているように sshuttle のインスタンスが実行されている場合は、そのプロセスを終了します。

        sshuttle -r zone1-org-1-data@GDC_SANDBOX_INSTANCE_NAME --no-latency-control \
        --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \
        10.200.0.0/16 --dns
    

    以下を GDC Sandbox チームから提供された値に置き換えます。

    • GDC_SANDBOX_INSTANCE_NAME: GDC Sandbox インスタンスの名前。
    • PROJECT_NAME: GDC Sandbox 環境を含むプロジェクト。
    • ZONE: GDC サンドボックス環境を含むゾーン。
  5. トンネルがアクティブな間に、別のターミナルで psql を使用してコマンドを実行します。

        PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

    次の変数を置き換えます。

    • path/to/: accounts_cert.pem 証明書へのパス。
    • DB_PASSWORD: コンソール UI のパスワード。
    • DB_HOSTNAME: コンソールのデータベース ホスト名。
    • DB_PORT: コンソールのデータベース ポート番号。
    • DB_USERNAME: コンソールのデータベース ユーザー名。