3 データベースおよびホストの準備
次の章では、Oracle Linux Automation Managerインストール用のネットワーク・ファイアウォール、データベースおよびホストの設定について説明します。 この章では、リポジトリでOracle Linux Automation Managerパッケージをインストールできるようにする方法についても説明します。
ネットワークの設定
この項では、Oracle Linux Automation Managerホストおよびデータベース・ホストの一般的なネットワーク要件について説明します。 Oracle Linux Automation Managerホストと環境内のインベントリ・ホスト間の通信を有効にするようにネットワークを設定する方法の例も含まれています。
ファイアウォール・ルールの設定
Oracle Linux 8は、デフォルトで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ソフトウェア・パッケージをインストールするオペレーティング・システムのロケーションの設定について説明します。
ULNによるチャネルの有効化
ULNを使用するように登録されている場合は、ULN webインタフェースを使用して、システムを適切なチャネルにサブスクライブします。
ULNチャネルにサブスクライブするには:
-
ULNユーザー名とパスワードを使用してhttps://linux.oracle.comにログインします。
-
「システム」タブで、登録済マシンのリストにあるそのシステムの名前が付いたリンクをクリックします。
-
「システム詳細」ページで、「サブスクリプションの管理」をクリックします。
-
「システム・サマリー」ページで、利用できるチャネルのリストから必要なチャネルを選択し、右矢印をクリックしてサブスクライブ済チャネルのリストに移動します。 システムを次のチャネルにサブスクライブします:
-
ol8_x86_64_automation2.2
-
ol8_x86_64_addons
-
ol8_x86_64_baseos_latest
-
ol8_x86_64_UEKR6
またはol8_x86_64_UEKR7
-
ol8_x86_64_appstream
-
-
「サブスクリプションの保存」をクリックします。
Oracle Linux Yumサーバーでのリポジトリの有効化
Oracle Linux yumサーバーをシステム更新に使用している場合は、必要なyumリポジトリを有効にします。
Yumリポジトリを有効化するには:
-
dnf config-managerツールを使用して、
ol8_baseos_latest
リポジトリを有効にします。sudo dnf config-manager --enable ol8_baseos_latest
ノート:
このリポジトリは通常、デフォルトで有効になっています。
-
oraclelinux-automation-manager-release-el8をインストールします:
sudo dnf install oraclelinux-automation-manager-release-el8-2.2
ノート:
Oracle Linux Automation Managerリリース2.1をインストールする場合は、2.1ドキュメント(「Oracle Linux Automation Managerドキュメント」)を参照してください。 -
Oracle Linux Automation Managerリリース2リポジトリを含む次のyumリポジトリを有効にします:
-
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 Automation Manager単一ホストまたはマルチ・ホスト構成用にOracle Linux 8にローカルまたはリモートのPostgresqlデータベース・インスタンスを設定するには、次を実行します:
- ホストにOracle Linux 8をインストールして構成します。
- データベースがリモートの場合は、「ファイアウォール・ルールの設定」の説明に従って、ファイアウォールでデータベース・ポートを開きます。
postgresql 12
またはpostgresql 13
モジュール・ストリームを有効にします。sudo dnf module reset postgresql sudo dnf module enable postgresql:12
または
sudo dnf module reset postgresql sudo dnf module enable postgresql:13
ノート:
Postgresql 12および13のライフサイクルの詳細については、「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ユーザーとして、
# CONNECTIONS AND AUTHENTICATION
セクションの/var/lib/pgsql/data/postgresql.conf
ファイルで、テキスト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は、データベース・サーバーをホストしているシステムの合計メモリー・サイズ(メガバイト)です。 たとえば、システムで使用可能なメモリーの合計が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 12
またはpostgresql 13
モジュール・ストリームを有効にします。sudo dnf module reset postgresql sudo dnf module enable postgresql:12
または
sudo dnf module reset postgresql sudo dnf module enable postgresql:13
ノート:
Postgresql 12および13のライフサイクルの詳細については、「Oracle Linux: Oracle Linuxでのソフトウェアの管理」にあるストリーム・モジュールのアプリケーション・ライフ・サイクルに関する付録を参照してください。 -
Oracle Linux Automation Managerをインストールします。
sudo dnf install ol-automation-manager
- クラスタを作成する場合は、あるノードから
/etc/tower/SECRET_KEY
を選択し、他のすべてのノード上の/etc/tower/SECRET_KEY
の値を、選択したノードの値に置き換えます。 すべてのノードで、ファイル・ユーザーおよびグループの所有権がawx:awx
であることを確認します。 すべてのノードの/etc/tower/SECRET_KEY
ファイルの値は同じである必要があります。 -
/etc/redis.conf
ファイルを編集して、次の行を含めます:unixsocket /var/run/redis/redis.sock unixsocketperm 775
-
/etc/tower/conf.d
フォルダにカスタム設定ファイルを作成します。 たとえば:touch
/etc/tower/conf.d/olam.py
-
CLUSTER_HOST_ID
フィールドを構成します。CLUSTER_HOST_ID = "hostname or ip address"
前の例では、「ホスト名またはIPアドレス」は、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', } }
前の例では、「データベースのホスト名またはIPアドレス」はローカルまたはリモート・データベースのホスト名またはIPアドレスです。 ホスト名を使用する場合は、ホストを解決できる必要があります。構成している場合は、「パスワード」がデータベースのパスワードです。 - デフォルトのリーパー・タイムアウト(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.2 exit
ノート:
Oracle Linux Automation Managerのインストールが終了したら、プレイブックの実行時に常に2.2olam-ee
コンテナ・イメージをプルするか、他のオプションまたはカスタム・イメージを使用するかを構成できます。 これらのオプションの詳細は、「Oracle Linux Automation Manager 2.2: ユーザーズ・ガイド」を参照してください。 Private Automation Hubの詳細は、「Oracle Linux Automation Manager 2.2: Private Automation Hubユーザーズ・ガイド」を参照してください。ノート:
前のコマンドは、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.2)', 'image': 'container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2'}] CONTROL_PLANE_EXECUTION_ENVIRONMENT = 'container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2'
-
1つの制御ホスト(クラスタ化されたデプロイメント内)または単一ホスト(単一ホスト・デプロイメント内)で次のコマンドを実行します:
sudo su -l awx -s /bin/bash awx-manage migrate awx-manage createsuperuser --username admin --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のインストール」を参照してください。