データベース クラスタを作成する

このページでは、Database Service を使用して、Google Distributed Cloud(GDC)のエアギャップでデータベースを作成して管理する方法について説明します。

認可とロール

ユーザーは、データベース サービスにアクセスする権限を持っている必要があります。GDC コンソールと Distributed Cloud CLI の両方で Database Service にアクセスするには、認可が必要です。

次のロールは、ユーザーに権限を付与します。

プロジェクト閲覧者(project-viewer
このロールを持つユーザーは GDC コンソールにアクセスできます。
プロジェクト DB 閲覧者(project-db-viewer
このロールを持つユーザーは、データベース クラスタを表示できます。
プロジェクト DB 編集者(project-db-editor
このロールを持つユーザーは、project-db-viewer によって付与された機能を使用でき、データベース クラスタを編集することもできます。
プロジェクト DB 管理者(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

データベース エンジン タイプを選択してデータベース クラスタを作成する

プロジェクト DB 管理者のロールを持つユーザーは、次の手順を行う必要があります。GDC コンソールまたは Distributed Cloud CLI のいずれかを使用して、データベース クラスタを作成します。

コンソール

  1. メインメニューから [データベース サービス] を選択します。
  2. [データベース クラスタを作成] をクリックします。
  3. [データベース エンジンを選択] ダイアログで、データベース エンジンを選択します。

  4. [クラスタを構成する] ダイアログで、クラスタ ID、パスワード、データベース バージョンを指定します。バックアップを有効にして、バックアップの保持期間を構成できます。

  5. PostgreSQL データベース エンジンを選択した場合は、データベース クラスタの高可用性を有効にできます。有効にすると、Database Service は障害から保護するために、プライマリ インスタンスと同じゾーンにスタンバイ インスタンスをプロビジョニングします。詳細については、高可用性をご覧ください。

  6. [プライマリ インスタンスの構成] ダイアログで、データベース クラスタのプライマリ インスタンスの CPU、メモリ、ストレージ容量を指定します。最大のテーブルを保持するのに十分なメモリを選択することをおすすめします。

  7. [作成] をクリックします。データベース クラスタの作成には数分かかることがあります。[クラスタの概要] ページでクラスタのステータスを確認します。クラスタの準備が完了すると、ステータスが [作成中] から [準備完了] に変わります。

gdcloud

  1. Distributed Cloud CLI を使用する前に、インストールして初期化します。次に、組織で認証します。

  2. 次のコマンドを実行して、データベース クラスタを作成します。

    gdcloud database clusters create CLUSTER_NAME \
        --database-version DB_VERSION \
        --admin-password ADMIN_PASSWORD
    

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

    • CLUSTER_NAME は、新しいクラスタの名前に置き換えます。
    • DB_VERSION は、新しいクラスタのバージョン文字列に置き換えます。例: POSTGRESQL_13ORACLE_19_ENTERPRISEALLOYDBOMNI_15
    • ADMIN_PASSWORD は、新しいクラスタの管理者パスワードに置き換えます。
  3. データベース クラスタの CPU、メモリ、ストレージ リソースの構成、バックアップの構成、高可用性の有効化、その他の利用可能なオプションの詳細については、次のコマンドを実行します。

    gdcloud database clusters create --help
    

API

  1. 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 のみ)。
  2. 同じ Namespace に DBS BackupPlan リソースを作成して、バックアップを有効にします。