5.6. 外部 (お客様提供) PostgreSQL データベースの設定


独自のデータベースインフラストラクチャーを使用するために、コンテナー化された Ansible Automation Platform 用の外部 (お客様提供) PostgreSQL データベースをセットアップします。

外部データベースを設定する場合、次の 2 つの状況が考えられます。

  1. PostgreSQL 管理者認証情報がある外部データベース
  2. PostgreSQL 管理者認証情報がない外部データベース
重要
  • Ansible Automation Platform で外部データベースを使用する場合は、そのデータベースを作成およびサポートする必要があります。Ansible Automation Platform をアンインストールする際は、外部データベースを必ずクリアしてください。
  • Red Hat Ansible Automation Platform では、お客様が用意する (外部) データベースが ICU をサポートしている必要があります。
  • 外部データベースの設定時には、外部データベースの対象範囲を確認する必要があります。詳細は、Red Hat Ansible Automation Platform データベースの対象範囲 を参照してください。

5.6.1. PostgreSQL 管理者認証情報がある外部データベースの設定

PostgreSQL 管理者認証情報がある場合は、それをインベントリーファイルに入力すると、インストールプログラムによって各コンポーネントの PostgreSQL ユーザーとデータベースが自動的に作成されます。PostgreSQL 管理者アカウントには SUPERUSER 権限が必要です。

手順

  • PostgreSQL 管理者認証情報を設定するには、インベントリーファイルの [all:vars] グループに次の変数を追加します。

    postgresql_admin_username=<set your own>
    postgresql_admin_password=<set your own>

5.6.2. PostgreSQL 管理者認証情報がない外部データベースの設定

PostgreSQL 管理者認証情報がない場合は、インストールプログラムを実行する前に、各コンポーネント (プラットフォームゲートウェイ、Automation Controller、Automation Hub、および Event-Driven Ansible) ごとに PostgreSQL ユーザーとデータベースを作成する必要があります。

手順

  1. SUPERUSER 権限を持つユーザーを使用して、PostgreSQL 準拠のデータベースサーバーに接続します。

    # psql -h <hostname> -U <username> -p <port_number>

    以下に例を示します。

    # psql -h db.example.com -U superuser -p 5432
  2. パスワード付きのユーザーを作成し、CREATEDB ロールがユーザーに割り当てられていることを確認します。詳細は、Database Roles を参照してください。

    CREATE USER <username> WITH PASSWORD <password> CREATEDB;
  3. データベースを作成し、作成したユーザーを所有者として追加します。

    CREATE DATABASE <database_name> OWNER <username>;
  4. 各コンポーネントの PostgreSQL ユーザーとデータベースを作成したら、それらをインベントリーファイルの [all:vars] グループに指定できます。

    # Platform gateway
    gateway_pg_host=aap.example.org
    gateway_pg_database=<set your own>
    gateway_pg_username=<set your own>
    gateway_pg_password=<set your own>
    
    # Automation controller
    controller_pg_host=aap.example.org
    controller_pg_database=<set your own>
    controller_pg_username=<set your own>
    controller_pg_password=<set your own>
    
    # Automation hub
    hub_pg_host=aap.example.org
    hub_pg_database=<set your own>
    hub_pg_username=<set your own>
    hub_pg_password=<set your own>
    
    # Event-Driven Ansible
    eda_pg_host=aap.example.org
    eda_pg_database=<set your own>
    eda_pg_username=<set your own>
    eda_pg_password=<set your own>

5.6.3. Automation Hub PostgreSQL データベースの hstore 拡張機能の有効化

データベース移行スクリプトは、hstore フィールドを使用して情報を保存します。そのため、Automation Hub PostgreSQL データベースで hstore 拡張機能を有効にする必要があります。

Ansible Automation Platform インストーラーとマネージド PostgreSQL サーバーを使用する場合、このプロセスは自動的に行われます。

PostgreSQL データベースが外部にある場合は、インストール前に、Automation Hub PostgreSQL データベースで hstore 拡張機能を手動で有効にする必要があります。

インストール前に hstore 拡張機能が有効になっていないと、データベースの移行中にエラーが発生します。

手順

  1. 拡張機能が PostgreSQL サーバー (Automation Hub データベース) で利用できるかどうかを確認します。

    $ psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"
  2. <automation hub database> のデフォルト値は automationhub です。

    hstore が利用できる場合の出力例:

    name  | default_version | installed_version |comment
    ------+-----------------+-------------------+---------------------------------------------------
     hstore | 1.7           |                   | data type for storing sets of (key, value) pairs
    (1 row)

    hstore が利用できない場合の出力例:

     name | default_version | installed_version | comment
    ------+-----------------+-------------------+---------
    (0 rows)
  3. RHEL ベースのサーバーでは、hstore 拡張機能は postgresql-contrib RPM パッケージに含まれていますが、PostgreSQL サーバー RPM パッケージのインストール時に自動的にインストールされません。

    RPM パッケージをインストールするには、次のコマンドを使用します。

    dnf install postgresql-contrib
  4. 次のコマンドを使用して、hstore PostgreSQL 拡張機能を Automation Hub データベースにロードします。

    $ psql -d <automation hub database> -c "CREATE EXTENSION hstore;"

    次の出力では、使用されている hstore 拡張機能が installed_version フィールドに表示されています。これは hstore が有効になっていることを示しています。

    name | default_version | installed_version | comment
    -----+-----------------+-------------------+------------------------------------------------------
    hstore  |     1.7      |       1.7         | data type for storing sets of (key, value) pairs
    (1 row)

5.6.4. オプション: 外部データベースの相互 TLS (mTLS) 認証の設定

mTLS 認証はデフォルトで無効になっています。各コンポーネントのデータベースに mTLS 認証を設定するには、インベントリーファイルの [all:vars] グループの下に次の変数を追加し、各コンポーネントに異なる TLS 証明書および鍵があることを確認します。

手順

  • インベントリーファイルの [all:vars] グループの下に次の変数を追加します。

    # Platform gateway
    gateway_pg_cert_auth=true
    gateway_pg_tls_cert=/path/to/gateway.cert
    gateway_pg_tls_key=/path/to/gateway.key
    gateway_pg_sslmode=verify-full
    
    # Automation controller
    controller_pg_cert_auth=true
    controller_pg_tls_cert=/path/to/awx.cert
    controller_pg_tls_key=/path/to/awx.key
    controller_pg_sslmode=verify-full
    
    # Automation hub
    hub_pg_cert_auth=true
    hub_pg_tls_cert=/path/to/pulp.cert
    hub_pg_tls_key=/path/to/pulp.key
    hub_pg_sslmode=verify-full
    
    # Event-Driven Ansible
    eda_pg_cert_auth=true
    eda_pg_tls_cert=/path/to/eda.cert
    eda_pg_tls_key=/path/to/eda.key
    eda_pg_sslmode=verify-full
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る