11.3. 高可用性クラスターの pcsd TLS 証明書とキーファイルの作成
(RHEL 8.8 以降) クラスターノード間の接続は、Transport Layer Security (TLS) 暗号化を使用して保護されます。デフォルトでは、pcsd デーモンが自己署名証明書を生成します。ただし、多くのデプロイメントでは、デフォルトの証明書を会社の認証局によって発行された証明書に置き換え、pcsd 用の会社の証明書ポリシーを適用する必要がある場合があります。
ha_cluster RHEL システムロールを使用して、高可用性クラスターに TLS 証明書とキーファイルを作成できます。この Playbook を実行すると、ha_cluster RHEL システムロールが certificate RHEL システムロールを内部的に使用して TLS 証明書を管理します。
ha_cluster RHEL システムロールは、指定されたノードの既存のクラスター設定を置き換えます。Playbook に指定されていない設定はすべて失われます。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo権限がある。 - クラスターメンバーとして使用するシステムには、RHEL および RHEL High Availability Add-On のアクティブなサブスクリプションがある。
- ha_cluster RHEL システムロールのインベントリーの指定 で説明されているように、インベントリーファイルでクラスターノードが指定されている。インベントリーファイルの作成に関する一般的な情報については、RHEL 8 でのコントロールノードの準備を 参照してください。
手順
機密性の高い変数を暗号化されたファイルに保存します。
vault を作成します。
$ ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>ansible-vault createコマンドでエディターが開いたら、機密データを<key>: <value>形式で入力します。cluster_password: <cluster_password>- 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
次の内容を含む Playbook ファイル (例:
~/playbook.yml) を作成します。--- - name: Create a high availability cluster hosts: node1 node2 vars_files: - ~/vault.yml tasks: - name: Create TLS certificates and key files in a high availability cluster ansible.builtin.include_role: name: redhat.rhel_system_roles.ha_cluster vars: ha_cluster_cluster_name: my-new-cluster ha_cluster_hacluster_password: "{{ cluster_password }}" ha_cluster_manage_firewall: true ha_cluster_manage_selinux: true ha_cluster_pcsd_certificates: - name: FILENAME common_name: "{{ ansible_hostname }}" ca: self-signサンプル Playbook で指定されている設定は次のとおりです。
ha_cluster_cluster_name: <cluster_name>- 作成するクラスターの名前。
ha_cluster_hacluster_password: <password>-
haclusterユーザーのパスワード。haclusterユーザーには、クラスターへのフルアクセス権が付与されます。 ha_cluster_manage_firewall: true-
ha_clusterRHEL システムロールがファイアウォールを管理するかどうかを決定する変数。 ha_cluster_manage_selinux: true-
ha_clusterRHEL システムロールがselinuxRHEL システムロールを使用してファイアウォール高可用性サービスのポートを管理するかどうかを決定する変数。 ha_cluster_pcsd_certificates: <certificate_properties>-
自己署名された
pcsd証明書と秘密鍵ファイルを/var/lib/pcsdに作成する変数。この例では、pcsd証明書のファイル名はFILENAME.crtで、鍵ファイルの名前はFILENAME.keyです。
Playbook で使用されるすべての変数の詳細は、コントロールノードの
/usr/share/ansible/roles/rhel-system-roles.ha_cluster/README.mdファイルを参照してください。Playbook の構文を検証します。
$ ansible-playbook --syntax-check --ask-vault-pass ~/playbook.ymlこのコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook --ask-vault-pass ~/playbook.yml