3 データベースとホストの準備
次の章では、Oracle Linux Automation Managerインストール用のネットワーク・ファイアウォール、データベースおよびホストの設定について説明します。また、この章では、Oracle Linux Automation Managerパッケージをリポジトリでインストールできるようにする方法についても説明します。
ネットワークの設定
この項では、Oracle Linux Automation Managerホストとデータベース・ホストの一般的なネットワーク要件について説明します。環境内のOracle Linux Automation Managerホストとインベントリ・ホスト間の通信を可能にするためのネットワーク設定方法の例も示します。
ファイアウォール・ルールの設定
Oracle Linux 8および9では、デフォルトでfirewalldがインストールされ、有効になっています。次に、ポートを開くコマンドとファイアウォール・ルールを設定するコマンドの例を示します。
Oracle Linux Automation Managerホストで、次のfirewalldコマンドを実行します:
sudo firewall-cmd --add-port=27199/tcp --permanent sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
ノート:
ポート27199は、Oracle Linux Automation Managerサービス・メッシュのTCPリスナー・ポートとして提供され、メッシュ内の各ノードで開いている必要があります。HTTPポートとHTTPSポートはNGINXサーバー用です。リモート・データベースをインストールする場合は、データベースを実行しているホストで次のポートを開きます:
sudo firewall-cmd --add-port=5432/tcp --permanent sudo firewall-cmd --reload
Oracle Linux Automation Managerパッケージへのアクセスの有効化
この項では、Oracle Linux Automation Managerソフトウェア・パッケージをインストールするOSの場所の設定について説明します。
ULNによるチャネルの有効化
ULNの使用を登録している場合は、ULN Webインタフェースを使用して、システムを適切なチャネルにサブスクライブします。
ULNチャネルをサブスクライブするには:
-
ULNのユーザー名とパスワードを使用して、https://linux.oracle.comにログインします。
-
「システム」タブで、登録済マシンのリストにあるそのシステムの名前が付いたリンクをクリックします。
-
「システム詳細」ページで、「サブスクリプションの管理」をクリックします。
-
「システム・サマリー」ページで、利用できるチャネルのリストから必要なチャネルを選択し、右矢印をクリックしてサブスクライブ済チャネルのリストに移動します。次のチャネルをシステムでサブスクライブします。
- Oracle Linux 8インスタンスの場合は、次にサブスクライブします:
-
ol8_x86_64_automation2.3
-
ol8_x86_64_addons
-
ol8_x86_64_baseos_latest
-
ol8_x86_64_UEKR6
またはol8_x86_64_UEKR7
-
ol8_x86_64_appstream
-
- Oracle Linux 9の場合は、次にサブスクライブします:
-
ol9_x86_64_automation2.3
-
ol9_x86_64_addons
-
ol9_x86_64_baseos_latest
-
ol9_x86_64_UEKR7
またはol9_x86_64_UEKR8
-
ol9_x86_64_appstream
-
- Oracle Linux 8インスタンスの場合は、次にサブスクライブします:
-
「サブスクリプションの保存」をクリックします。
Oracle Linux yumサーバーを使用したリポジトリの有効化
システム更新にOracle Linux yumサーバーを使用している場合は、必要なyumリポジトリを有効にします。
yumリポジトリを有効にするには:
-
次のいずれかを行います:
- Oracle Linux 8の場合、dnf config-managerツールを使用して
ol8_baseos_latest
リポジトリを有効にします。sudo dnf config-manager --enable ol8_baseos_latest
- Oracle Linux 9の場合、dnf config-managerツールを使用して
ol9_baseos_latest
リポジトリを有効にします。sudo dnf config-manager --enable ol9_baseos_latest
- Oracle Linux 8の場合、dnf config-managerツールを使用して
-
次のいずれかを行います:
- Oracle Linux 8の場合、
oraclelinux-automation-manager-release-el8
をインストールします:sudo dnf install oraclelinux-automation-manager-release-el8-2.3
- Oracle Linux 9の場合、
oraclelinux-automation-manager-release-el9
をインストールします:sudo dnf install oraclelinux-automation-manager-release-el9-2.3
- Oracle Linux 8の場合、
-
Oracle Linux Automation Managerリリース2のリポジトリを含む次のyumリポジトリを有効にします:
- Oracle Linux 8の場合、次を有効にします:
-
ol8_addons
-
ol8_UEKR6
またはol8_UEKR7
-
ol8_appstream
dnf config-managerツールを使用してyumリポジトリを有効にし、次のいずれかを実行します:- ol8_UEK6を使用している場合は、次のコマンドを使用します:
sudo dnf config-manager --enable ol8_addons ol8_UEKR6 ol8_appstream
- ol8_UEK7を使用している場合は、次のコマンドを使用します:
sudo dnf config-manager --enable ol8_addons ol8_UEKR7 ol8_appstream
-
- Oracle Linux 9の場合は、次を有効にします:
-
ol9_addons
-
ol9_UEKR7
またはol9_UEKR8
-
ol9_appstream
dnf config-managerツールを使用してyumリポジトリを有効にし、次のいずれかを実行します:- ol9_UEK7を使用している場合、次のコマンドを使用します:
sudo dnf config-manager --enable ol9_addons ol9_UEKR7 ol9_appstream
- ol9_UEK8を使用している場合、次のコマンドを使用します:
sudo dnf config-manager --enable ol9_addons ol9_UEKR8 ol9_appstream
-
- Oracle Linux 8の場合、次を有効にします:
ローカルまたはリモート・データベースの設定
Oracle Linux Automation Managerの単一ホスト構成またはマルチホスト構成で、Oracle Linux 8または9上にローカルまたはリモートPostgresqlデータベース・インスタンスを設定するには、次を実行します:
- ホストにOracle Linux 8または9をインストールおよび構成します。
- データベースがリモートにある場合は、「ファイアウォール・ルールの設定」の説明に従って、ファイアウォールでデータベース・ポートを開きます。
postgresql 16
モジュール・ストリームを有効にします。sudo dnf module reset postgresql sudo dnf module enable postgresql:16
ノート:
Postgresql 16のライフサイクルの詳細は、『Oracle Linux: Oracle Linuxでのソフトウェアの管理』のストリーム・モジュールのアプリケーション・ライフサイクルについて説明している付録を参照してください。- データベースをインストールします。
sudo dnf install postgresql-server
- データベースを初期化します:
sudo postgresql-setup --initdb
/var/lib/pgsql/data/postgresql.conf
ファイルで、パスワードのストレージ方式をmd5
からscram-sha-256
に切り替えます。たとえば、次のコマンドで切替えが実行されます:sudo sed -i "s/#password_encryption.*/password_encryption = scram-sha-256/" /var/lib/pgsql/data/postgresql.conf
- 次のコマンドでデータベースを起動します。このコマンドは、ホストが再起動した場合にデータベースも再起動するようにします:
sudo systemctl enable --now postgresql
- データベースが実行中であることを確認します:
sudo systemctl status postgresql
- データベース・ユーザー・アカウントを作成します。たとえば、次のようになります:
sudo su - postgres -c "createuser -S -P awx"
- awxユーザーのパスワードを入力し、確認します。
Enter password for new role: Enter it again:
- データベースを作成します。
sudo su - postgres -c "createdb -O awx awx"
- rootユーザーとして、
/var/lib/pgsql/data/pg_hba.conf
ファイルに次の行を追加します:host all all 0.0.0.0/0 scram-sha-256
- rootユーザーとして、
/var/lib/pgsql/data/postgresql.conf
ファイルの# CONNECTIONS AND AUTHENTICATION
セクションで、listen_addresses =
のテキストの後に、データベースのIPアドレスまたはホスト名を一重引用符で囲んで記述した行を追加します。たとえば、次のようになります:listen_addresses = '<IP address or host name>' #listen_addresses = 'localhost' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) #port = 5432 # (change requires restart)
前述の例では、<IP address or hostname>はデータベースのIPアドレスまたはホスト名です。
- 次を使用して、メモリー要件パラメータを計算し、更新します:
前述の例では、total_mem_mbはデータベース・サーバーをホストするシステムの合計メモリー・サイズ(MB)です。たとえば、システムで使用可能なメモリーの合計が18,000 MBの場合、このワークシートには次の情報が含まれます:max_connections = 1024 shared_buffers = total_mem_mb*0.3 work_mem = total_mem_mb*0.03 maintenance_work_mem = total_mem_mb*0.04
max_connections = 1024 shared_buffers = 18000*0.3 work_mem = 18000*0.03 maintenance_work_mem = 18000*0.04
最終的に追加する数値は次のとおりです:
max_connections = 1024 shared_buffers = 5400MB work_mem = 540MB maintenance_work_mem = 720MB
- 計算した値を
/var/lib/pgsql/data/postgresql.conf
ファイルに追加します。 - データベースを再起動します。
sudo systemctl restart postgresql
-
これで、「ホストの設定」の説明に従ってホストを設定する準備が整いました。
ホストの設定
この項では、「インストール・オプション」に記載されている構成のいずれかで、Oracle Linux Automation Managerを実行するための1台以上のホストを設定する方法について説明します。
1台以上のホストを設定するには:
- まだ有効にしていない場合は、
postgresql 16
モジュール・ストリームを有効にします。sudo dnf module reset postgresql sudo dnf module enable postgresql:16
ノート:
Postgresql 16のライフサイクルの詳細は、『Oracle Linux: Oracle Linuxでのソフトウェアの管理』のストリーム・モジュールのアプリケーション・ライフサイクルについて説明している付録を参照してください。 -
Oracle Linux Automation Managerをインストールします。
sudo dnf install ol-automation-manager
- クラスタを作成する場合は、1つのノードから
/etc/tower/SECRET_KEY
を選択し、他のすべてのノードの/etc/tower/SECRET_KEY
の値を、選択したノードの値に置き換えます。すべてのノードで、ファイルのユーザーとグループの所有権がawx:awx
であることを確認します。すべてのノードの/etc/tower/SECRET_KEY
ファイルの値が同じである必要があります。 -
Oracle Linux 8の場合は
/etc/redis.conf
ファイル、Oracle Linux 9の場合は/etc/redis/redis.conf
ファイルを編集し、次の行を追加します:unixsocket /var/run/redis/redis.sock unixsocketperm 775
-
/etc/tower/conf.d
フォルダにカスタム設定ファイルを作成します。たとえば、次のようになります:sudo touch
/etc/tower/conf.d/olam.py
-
CLUSTER_HOST_ID
フィールドを構成します。CLUSTER_HOST_ID = "hostname or ip address"
前述の例では、hostname or ip addressはOracle Linux Automation Managerを実行しているシステムのホスト名またはIPアドレスです。ホスト名を使用する場合は、ホストが解決可能である必要があります。
ノート:
カスタム設定ファイルで指定した設定は
/etc/tower/settings.py
の設定に優先し、ソフトウェア更新でカスタム設定が変更されないようにします。 -
次の
DATABASE
フィールドをカスタム設定ファイルに追加します:DATABASES = { 'default': { 'ATOMIC_REQUESTS': True, 'ENGINE': 'awx.main.db.profiled_pg', 'NAME': 'awx', 'USER': 'awx', 'PASSWORD': 'password', 'HOST': 'database hostname or ip address', 'PORT': '5432', } }
前述の例では、database hostname or ip addressはローカルまたはリモート・データベースのホスト名またはIPアドレスです。ホスト名を使用する場合は、ホスト名が解決可能である必要があります。passwordは、(構成済の場合)データベースのパスワードです。 - デフォルトのリーパー・タイムアウトである60秒よりも長く実行するように設計されたプレイブックがある場合は、カスタム設定ファイルに
REAPER_TIMEOUT_SEC
パラメータを追加してタイムアウトを長くします。たとえば、次のようになりますREAPER_TIMEOUT_SEC=<longest_playbook_time>
前述の例では、<longest_playbook_time>は最長プレイブック実行時間を超える秒数です。
- カスタム設定ファイルの所有権とファイル権限を設定します。
sudo chown awx:awx /etc/tower/conf.d/filename.py sudo chmod 0640 /etc/tower/conf.d/filename.py
前述の例では、filenameはカスタム設定ファイルの名前です。たとえば、次のようになります
sudo chown awx:awx /etc/tower/conf.d/olam.py sudo chmod 0640 /etc/tower/conf.d/olam.py
-
すべてのホストで次のコマンドを実行します:
sudo su -l awx -s /bin/bash podman system migrate podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol8 exit
ノート:
Oracle Linux Automation Managerのインストールが完了したら、プレイブックの実行時に実行環境で常に2.3olam-ee
コンテナ・イメージをプルするか、他のオプションまたはカスタム・イメージを使用するかを構成できます。このオプションの詳細は、Oracle Linux Automation Manager 2.3: ユーザーズ・ガイドを参照してください。Private Automation Hubの詳細は、Oracle Linux Automation Manager 2.3: Private Automation Hubユーザーズ・ガイドを参照してください。ノート:
前述のコマンドは、olam-eeイメージをOracle Container Registryから直接プルすることを前提としています。Private Automation Hubを使用している場合、またはカスタム・コンテナ・レジストリを設定している場合は、かわりにそこからイメージをプルできます。さらに、カスタム設定ファイル(/etc/tower/conf.d/filename.py
)でコンテナ・レジストリのパスを変更することで、Oracle Linux Automation Managerが常にそのコンテナ・レジストリからプルするように構成することもできます。次のフィールドをカスタム設定ファイルに追加し、Oracle Container Registryのパスをカスタム・コンテナ・レジストリのパスに置き換えます:GLOBAL_JOB_EXECUTION_ENVIRONMENTS = [{'name': 'OLAM EE (2.3)', 'image': 'container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol8'}] CONTROL_PLANE_EXECUTION_ENVIRONMENT = 'container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol8'
-
クラスタ化デプロイメントの場合は1台のコントロール・ホスト、単一ホスト構成の場合は単一ホストで、次のコマンドを実行します:
sudo su -l awx -s /bin/bash awx-manage migrate awx-manage createsuperuser --username admin --email email
前述の例では、emailは管理ユーザーの電子メール・アドレスです。
-
管理ユーザーのパスワードを入力し、もう一度入力します。
Password: Password (again):
- awxユーザーを終了します。
exit
-
すべてのホストで、NGINXのSSL証明書を生成します:
ノート:
次の手順では、Oracle Linux Automation Managerの一部としてNGINXで使用する自己署名証明書を作成する方法について説明します。本番システムでは、この目的にはCA署名証明書を使用することをお薦めします。SSL証明書の操作の詳細は、Oracle Linux: 証明書と公開キー・インフラストラクチャの管理を参照してください。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/tower/tower.key -out /etc/tower/tower.crt
-
NGINXのデフォルト構成をすべて削除します。
/etc/nginx/nginx.conf
を編集して、次の構成を含めます:user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; }
ノート:
拡張NGINXユーザーの場合、Oracle Linux Automation Manager NGINX構成ファイルは
/etc/nginx/conf.d/ol-automation-manager-nginx.conf
にあります。たとえば、異なるバージョンのTLSを使用したり、異なる暗号を構成したりする場合があります。カスタマイズされた既存のNGINX設定がある場合は、必ずol-automation-manager-nginx.conf
設定も適用してください。 -
これで、Oracle Linux Automation Managerをクラスタまたは単一ホストにインストールする準備が整いました。詳細は、「単一ホスト・デプロイメントへのOracle Linux Automation Managerのインストール」および「クラスタ化デプロイメントへのOracle Linux Automation Managerのインストール」を参照してください。