このページでは、Database Service を使用して、Google Distributed Cloud(GDC)のエアギャップでデータベースを作成して管理する方法について説明します。
認可とロール
ユーザーは、Database Service にアクセスする権限を持っている必要があります。GDC コンソールと Distributed Cloud CLI の両方で Database Service にアクセスするには、認可が必要です。
次のロールは、ユーザーに権限を付与します。
project-viewer
- このロールを持つユーザーは GDC コンソールにアクセスできます。
project-db-viewer
- このロールを持つユーザーは、データベース クラスタを表示できます。
project-db-editor
- このロールを持つユーザーは、
project-db-viewer
によって付与された機能を使用でき、データベース クラスタを編集することもできます。 project-db-admin
- このロールを持つユーザーは、
project-db-editor
によって付与された権限を持ち、データベース クラスタの作成と削除もできます。 project-bucket-object-viewer
- このロールを持つユーザーは、GDC コンソールの Database Service インターフェースでストレージ ブラウザを使用できます。このインターフェースは、データベースのインポート用のファイルを指定したり、データベースのエクスポートで生成されたファイルの宛先を指定したりするために使用されます。
project-monitoring-viewer
- このロールを持つユーザーは、モニタリング インスタンスにアクセスできます。Database Service の指標のモニタリングの詳細については、指標をモニタリングするをご覧ください。このロールは、モニタリング インスタンスにアクセスする必要があるユーザーにのみ付与してください。
project_mp_admin
- このロールを持つユーザーは、
project_mp_editor
ロールとproject_mpb_editor
ロールの両方で付与される権限を持つため、メンテナンス ポリシーとメンテナンス ポリシー バインディングの両方を作成、編集、削除できます。 project_mp_viewer
- このロールを持つユーザーはメンテナンス ポリシーを表示できます。
project_mp_editor
- このロールを持つユーザーは、
project_mp_viewer
ロールによって付与された機能を使用でき、メンテナンス ポリシーの作成、編集、削除も行うことができます。 project_mpb_viewer
- このロールを持つユーザーは、メンテナンス ポリシーのバインディングを表示できます。
project_mpb_editor
- このロールを持つユーザーは、
project_mpb_viewer
ロールによって付与された機能を使用でき、メンテナンス ポリシー バインディングの作成、編集、削除も行うことができます。
利用可能なデータベース エンジン
GDC 環境で使用できるデータベース エンジンは次のとおりです。
データベース | バージョン |
---|---|
AlloyDB Omni | 15 |
Oracle | 19 |
PostgreSQL | 13、14、15 |
データベース エンジン タイプを選択してデータベース クラスタを作成する
データベース クラスタのバックアップを有効にする場合は、まず Distributed Cloud ストレージ バケットまたは S3 互換エンドポイントでアクセス可能なバケットを作成し、次に dbs-backup-repository
という名前のバックアップ リポジトリを作成します。Distributed Cloud の外部にあるストレージ バケットを使用する場合は、バケットが適切に暗号化されていることを確認する必要があります。
Database Service バックアップ用に作成された BackupRepository
カスタム リソースの例を次に示します。
apiVersion: backup.gdc.goog/v1
kind: BackupRepository
metadata:
name: dbs-backup-repository
spec:
secretReference:
namespace: "object-storage-secret-ns"
name: "object-storage-secret"
endpoint: "https://objectstorage.google.gdch.test"
type: S3
s3Options:
bucket: "fully-qualified-bucket-name"
region: "us-east-1"
forcePathStyle: true
importPolicy: ReadWrite
プロジェクト DB 管理者のロールを持つユーザーは、次の手順を行う必要があります。GDC コンソールまたは Distributed Cloud CLI のいずれかを使用して、データベース クラスタを作成します。
コンソール
- メインメニューから [Database Service] を選択します。
- [データベース クラスタを作成] をクリックします。
[データベース エンジンを選択] ダイアログで、データベース エンジンを選択します。
[クラスタを構成する] ダイアログで、クラスタ ID、パスワード、データベース バージョンを指定します。バックアップを有効にして、バックアップの保持期間を構成できます。
PostgreSQL データベース エンジンを選択した場合は、データベース クラスタの高可用性を有効にできます。有効にすると、Database Service は障害から保護するために、プライマリ インスタンスと同じゾーンにスタンバイ インスタンスをプロビジョニングします。詳細については、高可用性をご覧ください。
[プライマリ インスタンスを構成する] ダイアログで、データベース クラスタのプライマリ インスタンスの 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
、ORACLE_19_ENTERPRISE
、ALLOYDBOMNI_15
などです。ADMIN_PASSWORD
は、新しいクラスタの管理者パスワードに置き換えます。
データベース クラスタの CPU、メモリ、ストレージ リソースの構成、バックアップの構成、高可用性の有効化、その他の使用可能なオプションの詳細については、次のコマンドを実行します。
gdcloud database clusters create --help
API
AlloyDB または PostgreSQL データベースの場合:
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
Oracle データベースの場合:
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DBCLUSTER_NAME
namespace: USER_PROJECT
type: Opaque
data:
DBCLUSTER_NAME: "BASE64_PASSWORD"
---
apiVersion: oracle.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"
cdbName: GCLOUD
resources:
memory: DB_MEMORY
cpu: DB_CPU
disks:
- name: DataDisk
size: DB_DATA_DISK
- name: LogDisk
size: DB_LOG_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
DB_LOG_DISK
: Oracle データベースのログディスクに割り当てられた容量(Oracle のみ)。