GDC Sandbox は、データベース クラスタのテストと管理を行うためのデータベース サービスを提供します。
データベースを作成
データベース クラスタを作成して管理するには、データベース クラスタを作成して管理するをご覧ください。
利用可能なデータベース エンジン
GDC Sandbox は PostgreSQL と AlloyDB のみをサポートしています。
GDC コンソールまたは Distributed Cloud CLI のいずれかを使用して、データベース クラスタを作成します。
コンソール
- メインメニューから [データベース サービス] を選択します。
- [データベース クラスタを作成] をクリックします。
[データベース エンジンを選択] ダイアログで、データベース エンジンを選択します。
[クラスタを構成する] ダイアログで、クラスタ ID、パスワード、データベース バージョンを指定します。バックアップを有効にして、バックアップの保持期間を構成できます。
[プライマリ インスタンスの構成] ダイアログで、データベース クラスタのプライマリ インスタンスの CPU、メモリ、ストレージ容量を指定します。最大のテーブルを保持するのに十分なメモリを選択することをおすすめします。
[作成] をクリックします。データベース クラスタの作成には数分かかることがあります。[クラスタの概要] ページでクラスタのステータスを確認します。クラスタの準備が完了すると、ステータスが [作成中] から [準備完了] に変わります。
gdcloud
Distributed Cloud CLI を使用する前に、インストールして初期化します。次に、組織で認証します。
次のコマンドを実行して、データベース クラスタを作成します。
gdcloud database clusters create CLUSTER_NAME \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORD
次の変数を置き換えます。
CLUSTER_NAME
は、新しいクラスタの名前に置き換えます。DB_VERSION
は、新しいクラスタのバージョン文字列に置き換えます。たとえば、POSTGRESQL_13
やALLOYDBOMNI_15
ですADMIN_PASSWORD
は、新しいクラスタの管理者パスワードに置き換えます。
データベース クラスタの CPU、メモリ、ストレージ リソースの構成、バックアップの構成、高可用性の有効化、その他の使用可能なオプションの詳細については、次のコマンドを実行します。
gdcloud database clusters create --help
API
次の内容の
db-cluster-create.yaml
ファイルを作成します。apiVersion: v1 kind: Secret metadata: name: db-pw-DBCLUSTER_NAME namespace: USER_PROJECT type: Opaque data: DBCLUSTER_NAME: "BASE64_PASSWORD" --- apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1 kind: DBCluster metadata: name: DBCLUSTER_NAME namespace: USER_PROJECT spec: primarySpec: adminUser: passwordRef: name: db-pw-DBCLUSTER_NAME version: "DB_VERSION" resources: memory: DB_MEMORY cpu: DB_CPU disks: - name: DataDisk size: DB_DATA_DISK
次の変数を置き換えます。
DBCLUSTER_NAME
: データベース クラスタの名前。USER_PROJECT
: データベース クラスタが作成されるユーザー プロジェクトの名前。BASE64_PASSWORD
: データベースの管理者パスワード(base64 エンコード)。DBENGINE_NAME
: データベース エンジンの名前。alloydbomni
またはpostgresql
のいずれかです。DB_VERSION
。データベース エンジンのバージョン。DB_MEMORY
: DB クラスタに割り当てられるメモリ量。例:5Gi
DB_CPU
: DB クラスタに割り当てられる CPU の量。例:2
DB_DATA_DISK
: DB クラスタに割り当てられるスペースの量。例:10 Gi
kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
データベースに接続する
デフォルトでは、データベース クラスタはユーザー クラスタ内および同じプロジェクト内からの接続のみを許可します。
別のプロジェクトからプロジェクト内のすべてのデータベース クラスタへの接続を有効にするには、クロス プロジェクト接続を有効にするをご覧ください。
GDC Sandbox 組織外の IP アドレスからデータベースに接続するには、データベース クラスタに接続するの手順に沿って外部接続を有効にします。
sshuttle
を使用して、psql
などのローカル データベース クライアントでデータベースに接続できます。
データベース クラスタの [データベース サービス] ページの [接続] セクションに移動します。このページには、次の情報が表示されます。
- 管理者アカウントのパスワード(ユーザー名は
dbsadmin
) - データベース クラスタのプライマリ エンドポイントのホスト名とポート番号
- クラスタに接続するための
psql
コマンド(PostgreSQL と AlloyDB Omni データベース クラスタの場合) - データベース クラスタの認証局(CA)証明書をダウンロードするためのリンク
- 管理者アカウントのパスワード(ユーザー名は
データベース クラスタの [データベース サービス] ページの [接続] セクションで、GDC コンソールから CA 証明書をダウンロードします。
CA 証明書を使用してデータベースを検証するようにクライアントを構成します。
psql
クライアントの場合は、PGSSLROOTCERT
環境変数を証明書ファイルのパスに設定し、PGSSLMODE
環境変数を設定します。export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"
安全なトンネルを開始します。インスタンスに接続するで説明されているように
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 Sandbox 環境を含むゾーン。
トンネルがアクティブな間に、別のターミナルで
psql
を使用してコマンドを実行します。PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
次の変数を置き換えます。
DB_PASSWORD
: コンソール UI のパスワード。DB_HOSTNAME
: コンソールのデータベース ホスト名。DB_PORT
: コンソールから取得したデータベースのポート番号。DB_USERNAME
: コンソールのデータベース ユーザー名。