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

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

認証とロール

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

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

プロジェクト閲覧者(project-viewer
このロールを持つユーザーは、GDC コンソールと Distributed Cloud CLI にアクセスできます。
プロジェクト 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. メインメニューから [Database Service] を選択します。
  2. [データベース クラスタを作成] をクリックします。
  3. In the [データベース エンジンを選択] ダイアログで、 データベース エンジンを選択します。

  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 リソースを作成します。