7.7. 外部データベースの設定

PostgreSQL データベースは、CodeReady Workspaces の状態に関するデータを永続化させるために、CodeReady Workspaces サーバーによって使用されます。これには、ユーザーアカウント、ワークスペース、設定についての情報、およびその他の詳細情報が含まれます。

デフォルトで、CodeReady Workspaces Operator はデータベースデプロイメントを作成し、管理します。

ただし、CodeReady Workspaces Operator はバックアップやリカバリーなどの完全なライフサイクル機能をサポートしません。

ビジネスに不可欠な環境では、以下の推奨される障害復旧オプションを使用して外部データベースを設定します。

  • 高可用性 (HA)
  • PITR (Point In Time Recovery)

オンプレミスの外部 PostgreSQL インスタンスを設定するか、または Amazon Relational Database Service (Amazon RDS) などのクラウドサービスを使用します。Amazon RDS を使用すると、通常の、およびオンデマンドのスナップショットを使用して、回復性のある障害復旧ストラテジーの Multi-Availability Zone 設定で実稼働データベースをデプロイできます。

データベースサンプルの設定例は以下のようになります。

パラメーター

インスタンスクラス

db.t2.small

vCPU

1

RAM

2 GB

Multi-az

true、2 つのレプリカ

エンジンのバージョン

9.6.11

TLS

enabled

自動化されたバックアップ

有効 (30 日)

7.7.1. 外部 PostgreSQL の設定

外部 PostgreSQL を設定すると、ワークスペースメタデータおよびユーザー情報を永続化できます。

手順

  1. 以下のプレースホルダーの値を定義します。

    • <database-user> は、CodeReady Workspaces サーバーデータベースのユーザー名です。
    • <database-password> は、CodeReady Workspaces サーバーデータベースのパスワードです。
    • <database> は、CodeReady Workspaces サーバーデータベースの名前です。
  2. 以下の SQL スクリプトを使用して、CodeReady Workspaces サーバーのユーザーおよびデータベースを作成し、ワークスペースのメタデータを永続化します。

    CREATE USER <database-user> WITH PASSWORD '<database-password>'
    CREATE DATABASE <database>
    GRANT ALL PRIVILEGES ON DATABASE <database> TO <database-user>
    ALTER USER <database-user> WITH SUPERUSER
  3. 以下のプレースホルダーの値を定義します。

    • <identity-database-password> は RH-SSO データベースのパスワードです。
  4. 以下の SQL スクリプトを使用して、RH-SSO バックエンドのデータベースを作成して、ユーザー情報を永続化します。

    CREATE USER keycloak WITH PASSWORD '<identity-database-password>'
    CREATE DATABASE keycloak
    GRANT ALL PRIVILEGES ON DATABASE keycloak TO keycloak