3.2. OS 設定

3.2.1. Red Hat Subscription Manager

subscription-manager コマンドは、システムを Red Hat Network (RHN) に登録し、システムのサブスクリプションエンタイトルメントを管理します。--help オプションは、コマンドラインで使用可能なオプションをコマンドにクエリーするように指定します。--help オプションがコマンドディレクティブとともに発行された場合、特定のコマンドディレクティブで使用可能なオプションが一覧表示されます。

Red Hat Subscription Management を使用してシステムにパッケージを提供するには、最初にシステムをサービスに登録する必要があります。システムを登録するには、subscription-manager コマンドを使用して、register コマンドディレクティブを渡します。--username および --password オプションが指定されている場合、コマンドは RHN ネットワーク認証情報の入力を求めません。

以下に、subscription-manager を使用してシステムを登録する例を示します。

# subscription-manager register --username [User] --password '[Password]'
The system has been registered with id: abcd1234-ab12-ab12-ab12-481ba8187f60

システムを登録したら、エンタイトルメントプールに接続する必要があります。このリファレンス環境の目的上、Red Hat Ansible Automation Platform は選択されたプールになります。Red Hat Ansible Automation Platform エンタイトルメントプールを特定してサブスクライブします。次のコマンドディレクティブが必要です。

# subscription-manager list --available | grep -A8 "Red Hat Ansible Automation Platform"
---
Subscription Name:   Red Hat Ansible Automation Platform, Premium (5000 Managed Nodes)
Provides:            Red Hat Ansible Engine
                     Red Hat Single Sign-On
                     Red Hat Ansible Automation Platform
SKU:                 MCT3695
Contract:            <contract>
Pool ID:             <pool_id>
Provides Management: No
Available:           9990
Suggested:           1
Service Type:        L1-L3
Roles:
# subscription-manager attach --pool <pool_id>
Successfully attached a subscription for: Red Hat Ansible Automation Platform, Premium (5000 Managed Nodes)
# subscription-manager repos --enable=ansible-automation-platform-2.1-for-rhel-8-x86_64-rpms

3.2.2. ユーザーアカウント

Ansible Automation Platform 2.1 をインストールする前に、デプロイメントプロセスの sudo 権限を持つ非 root ユーザーを作成することをお勧めします。このユーザーは以下で使用されます。

  • SSH 接続
  • インストール時中のパスワードレス認証

このリファレンス環境の目的上、ユーザー ansible が選択されていますが、任意のユーザー名を使用できます。

すべてのノードで、ansible という名前のユーザーを作成し、ssh キーを生成します。

  1. 非 root ユーザーを作成します。

    # useradd ansible
  2. ansible ユーザーのパスワードを設定します。

    # passwd ansible
  3. ansible ユーザーとして ssh キーを生成します。

    $ ssh-keygen -t rsa
  4. ansible ユーザーとして sudo を使用する場合は、パスワード要件を無効にします。

    # echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/ansible

3.2.3. SSH キーをすべてのノードにコピー

ansible ユーザーを作成したら、ansible ユーザーとして ssh キーをすべてのノードにコピーします。これにより、Ansible Automation Platform のインストールが実行されたときに、パスワードなしですべてのノードへの ssh が可能になります。

これは、次のように ssh-copy-id コマンドを使用して実行できます。

$ ssh-copy-id ansible@hostname.example.com
注記

クラウドプロバイダー内で実行している場合は、代わりに、すべてのノードに ansible ユーザーの公開鍵を含む ~/.ssh/authorized_keys ファイルを作成し、読み取りおよび書き込み権限 (権限 644) を持つ所有者 (ansible) のみに authorized_keys ファイルへのアクセス権限を設定する必要があります。

3.2.4. ファイアウォールの設定

ファイアウォールへのアクセスと制限は、Ansible Automation Platform 2.1 環境を保護する上で重要なロールを果たします。Red Hat Enterprise Linux 8.4 を使用すると、デフォルトで動的ファイアウォールデーモンである firewalld が使用されます。firewalld は、ネットワークゾーンを割り当てて、ネットワークとそれに関連する接続およびインターフェイスに信頼レベルを割り当てることによって機能します。

Ansible Automation Platform 2.1 のインストールを成功させるために、適切なサービスとポートへのアクセスを許可するようにファイアウォール設定を設定することをお勧めします。

すべてのノードで、firewalld がインストール、起動、および有効化されていることを確認します。

  1. firewalld パッケージをインストールします。

    # dnf install firewalld --assumeyes
  2. firewalld サービスを開始します。

    # systemctl start firewalld
  3. Firewalld サービスを有効にします。

    # systemctl enable firewalld