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
-
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.1
-
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ユーザーとして、# 「接続および認証」セクションの/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アドレスまたはホスト名です。
- データベースを再起動します。
sudo systemctl restart postgresql
-
これで、「ホストの設定」の説明に従ってホストを設定する準備ができました。
ホストの設定
この項では、「インストール・オプション」にリストされている構成のいずれかでOracle Linux Automation Managerを実行する1つ以上のホストを設定する方法について説明します。
1つ以上のホストを設定するには:
-
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/settings.py
ファイルを編集して、CLUSTER_HOST_ID
フィールドを構成します:CLUSTER_HOST_ID = "hostname or ip address"
前の例では、「ホスト名またはIPアドレス」は、Oracle Linux Automation Managerを実行しているシステムのホスト名またはIPアドレスです。 ホスト名を使用する場合は、ホストが解決可能である必要があります。
-
既存の
DATABASES
フィールドを次のフィールドに置き換えます: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 su -l awx -s /bin/bash podman system migrate podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:latest exit
ノート:
Oracle Linux Automation Managerのインストールが終了したら、プレイブックの実行時に実行環境で常に最新のolam-ee
コンテナ・イメージをプルするか、他のオプションまたはカスタム・イメージを使用するかを構成できます。 これらのオプションの詳細は、「Oracle Linux Automation Manager 2.1: ユーザーズ・ガイド」を参照してください。 Private Automation Hubの詳細は、「Oracle Linux Automation Manager 2.1: Private Automation Hubユーザーズ・ガイド」を参照してください。ノート:
前のコマンドは、Oracle Container Registryから直接オラムイのイメージをプルしていることを前提としています。 Private Automation Hubを使用しているか、カスタム・コンテナ・レジストリを設定している場合は、かわりにそこからイメージをプルできます。 また、/etc/tower/settings.py
ファイルの次のフィールドでカスタム・コンテナ・レジストリ・パスへのOracle Container Registryパスを置き換えることで、常にそのコンテナ・レジストリからプルするようにOracle Linux Automation Managerを構成できます:GLOBAL_JOB_EXECUTION_ENVIRONMENTS = [{'name': 'OLAM EE (latest)', 'image': 'container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:latest'}] CONTROL_PLANE_EXECUTION_ENVIRONMENT = 'container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:latest'
-
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のインストール」を参照してください。