第4章 外部 PostgreSQL データベースの設定


Red Hat Developer Hub Operator と Helm チャートはデフォルトでローカルの PostgreSQL データベースを作成しますが、実稼働環境をサポートするには外部データベースが必要です。

この章で外部 PostgreSQL データベースを設定する際、ローカルデータベースの作成を無効にします。

重要

DateStyle 設定を使用して、データベースを国際標準化機構 (ISO) の日付形式を使用するように設定してください。他のフォーマットはソフトウェアカタログの内部追跡機能と互換性がないため、スケジューリングされたタスクが失敗し、カタログアイテムの更新が妨げられます。

4.1. Operator を使用した外部 PostgreSQL インスタンスの設定

Red Hat Developer Hub Operator を使用して外部 PostgreSQL インスタンスを設定できます。デフォルトでは、Operator は RHDH インスタンスのデプロイ先と同じ namespace に PostgreSQL のローカルインスタンスを作成して管理します。ただし、このデフォルト設定を変更して、Amazon Web Services (AWS) Relational Database Service (RDS) や Azure データベースなどの外部 PostgreSQL データベースサーバーを設定することもできます。

前提条件

  • 外部 PostgreSQL デプロイメントのサイジング要件を 満たしています。
  • サポートされているバージョンの PostgreSQL を使用している。詳細は、製品ライフサイクルのページ を参照してください。
  • 次の情報がある。

    • db-host: PostgreSQL インスタンスの Domain Name System (DNS) または IP アドレスを示します。
    • db-port: PostgreSQL インスタンスのポート番号 (5432 など) を示します。
    • username: PostgreSQL インスタンスに接続するためのユーザー名を示します。
    • password: PostgreSQL インスタンスに接続するためのパスワードを示します。
  • Red Hat Developer Hub Operator がインストールされている。
  • オプション: TLS プロトコルを使用してデータベース接続を保護できるように、CA 証明書、Transport Layer Security (TLS) 秘密鍵、および TLS 証明書がある。詳細は、PostgreSQL ベンダーのドキュメントを参照してください。
注記

デフォルトでは、Developer Hub は各プラグインのデータベースを使用します。見つからない場合は、自動的にデータベースを作成します。外部 PostgreSQL インスタンスを設定するには、PSQL Database 権限に加えて、Create Database 権限が必要になる場合があります。

手順

  1. オプション: TLS 接続を使用して PostgreSQL インスタンスを設定するための証明書シークレットを作成します。

    $ cat <<EOF | oc -n my-rhdh-project create -f -
    apiVersion: v1
    kind: Secret
    metadata:
     name: my-rhdh-database-certificates-secrets 
    1
    
    type: Opaque
    stringData:
     postgres-ca.pem: |-
      -----BEGIN CERTIFICATE-----
      <ca-certificate-key> 
    2
    
     postgres-key.key: |-
      -----BEGIN CERTIFICATE-----
      <tls-private-key> 
    3
    
     postgres-crt.pem: |-
      -----BEGIN CERTIFICATE-----
      <tls-certificate-key> 
    4
    
      # ...
    EOF
    1
    証明書シークレットの名前を指定します。
    2
    CA 証明書の鍵を指定します。
    3
    オプション: TLS 秘密鍵を指定します。
    4
    オプション: TLS 証明書の鍵を指定します。
  2. PostgreSQL インスタンスに接続するための認証情報シークレットを作成します。

    $ cat <<EOF | oc -n my-rhdh-project create -f -
    apiVersion: v1
    kind: Secret
    metadata:
     name: my-rhdh-database-secrets 
    1
    
    type: Opaque
    stringData: 
    2
    
     POSTGRES_PASSWORD: <password>
     POSTGRES_PORT: "<db-port>"
     POSTGRES_USER: <username>
     POSTGRES_HOST: <db-host>
     PGSSLMODE: <ssl-mode> # for TLS connection 
    3
    
     NODE_EXTRA_CA_CERTS: <abs-path-to-pem-file> # for TLS connection, e.g. /opt/app-root/src/postgres-crt.pem 
    4
    
    EOF
    1
    認証情報シークレットの名前を指定します。
    2
    PostgreSQL インスタンスに接続するための認証情報データを指定します。
    3
    オプション: 必要な Secure Sockets Layer (SSL) モード に応じて値を指定します。
    4
    オプション: PostgreSQL インスタンスに TLS 接続が必要な場合にのみ値を指定します。
  3. Backstage カスタムリソース (CR) を作成します。

    cat <<EOF | oc -n my-rhdh-project create -f -
    apiVersion: rhdh.redhat.com/v1alpha5
    kind: Backstage
    metadata:
      name: <backstage-instance-name>
    spec:
      database:
        enableLocalDb: false 
    1
    
      application:
        extraFiles:
          mountPath: <path> # e g /opt/app-root/src
          secrets:
            - name: my-rhdh-database-certificates-secrets 
    2
    
              key: postgres-crt.pem, postgres-ca.pem, postgres-key.key # key name as in my-rhdh-database-certificates-secrets Secret
        extraEnvs:
          secrets:
            - name: my-rhdh-database-secrets 
    3
    
            # ...
    1
    enableLocalDb パラメーターの値を false に設定して、PostgreSQL のローカルインスタンスの作成を無効にします。
    2
    TLS 接続を設定した場合は、証明書シークレットの名前を指定します。
    3
    作成した認証情報シークレットの名前を指定します。
    注記

    Backstage CR にリストされている環境変数は、Operator のデフォルト設定を使用します。Operator のデフォルト設定を変更した場合は、それに応じて Backstage CR を再設定する必要があります。

  4. Backstage CR を Developer Hub インスタンスをデプロイした namespace に適用します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る