第32章 Ansible Playbook を使用した Identity Management レプリカのインストール
Ansible を使用してシステムを IdM レプリカとして設定すると、IdM ドメインに登録され、ドメインの IdM サーバーにある IdM サービスをシステムが使用できるようになります。
デプロイメントは、Ansible ロール ipareplica で管理されます。このロールは、自動検出モードを使用して、IdM サーバー、ドメイン、およびその他の設定を識別できます。ただし、階層のような形で複数のレプリカをデプロイし、レプリカの各グループを異なるタイミングでデプロイする場合は、各グループに特定のサーバーまたはレプリカを定義する必要があります。
前提条件
- Ansible コントロールノードに ansible-freeipa パッケージがインストールされている。
- Ansible と IdM の一般的な概念を理解している。
- デプロイメント内のレプリカトポロジーを計画 した。
32.1. IdM レプリカをインストールするためのベース変数、サーバー変数、およびクライアント変数の指定 リンクのコピーリンクがクリップボードにコピーされました!
IdM レプリカをインストールするためのインベントリーファイルを設定するには、以下の手順を完了します。
前提条件
次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.13 以降を使用している。
-
Ansible コントローラーに
ansible-freeipaパッケージがインストールされている。
手順
編集するインベントリーファイルを開きます。IdM レプリカとなるホストの完全修飾ドメイン名 (FQDN) を指定します。FQDN は有効な DNS 名である必要があります。
-
数字、アルファベット、およびハイフン (
-) のみを使用できる。たとえば、アンダーラインは使用できないため、DNS の障害が発生する原因となる可能性があります。 ホスト名がすべて小文字である。
レプリカの FQDN のみが定義されている単純なインベントリーホストファイルの例
[ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]
[ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow IdM サーバーがデプロイされており、SRV レコードが IdM DNS ゾーンに適切に設定されている場合、スクリプトはその他に必要な値をすべて自動的に検出します。
-
数字、アルファベット、およびハイフン (
オプション: トポロジーの設計方法に基づいて、インベントリーファイルに追加情報を入力します。
- シナリオ 1
自動検出を回避し、
[ipareplicas]セクションに記載されているすべてのレプリカが特定の IdM サーバーを使用するようにするには、インベントリーファイルの[ipaservers]セクションにそのサーバーを設定します。IdM サーバーとレプリカの FQDN が定義されているインベントリーホストファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - シナリオ 2
または、自動検出を回避して、特定のサーバーで特定のレプリカをデプロイする場合は、インベントリーファイルの
[ipareplicas]セクションに、特定のレプリカのサーバーを個別に設定します。特定のレプリカ用に特定の IdM サーバーが定義されたインベントリーファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例では、
replica3.idm.example.comが、すでにデプロイされたreplica1.idm.example.comを複製元として使用します。- シナリオ 3
1 つのバッチに複数のレプリカをデプロイする場合は、多層レプリカのデプロイメントが役に立ちます。インベントリーファイルにレプリカの特定グループ (例:
[ipareplicas_tier1]および[ipareplicas_tier2]) を定義し、Playbookinstall-replica.ymlで各グループに個別のプレイを設計します。レプリカ階層が定義されているインベントリーファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipareplica_serversの最初のエントリーが使用されます。次のエントリーは、フォールバックオプションとして使用されます。IdM レプリカのデプロイに複数の層を使用する場合は、最初に tier1 からレプリカをデプロイし、次に tier2 からレプリカをデプロイするように、Playbook に個別のタスクが必要です。レプリカグループごとに異なるプレイを定義した Playbook ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
オプション:
firewalldと DNS に関する追加情報を入力します。- シナリオ 1
指定の
firewalldゾーン (内部ゾーンなど) をレプリカで使用する場合は、インベントリーファイルでゾーンを指定できます。カスタムゾーンを設定しないと、IdM によりサービスがデフォルトのfirewalldゾーンに追加されます。事前定義されたデフォルトゾーンはpublicです。重要指定する
firewalldゾーンは存在し、永続的でなければなりません。カスタム
firewalld帯を持つシンプルなインベントリーホストファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - シナリオ 2
レプリカで IdM DNS サービスをホストする場合は、
[ipareplicas:vars]セクションに ipareplica_setup_dns=true 行を追加します。また、サーバーごとの DNS フォワーダーを使用するかどうかを指定します。-
サーバーごとのフォワーダーを設定するには、
ipareplica_forwarders変数と文字列のリストを[ipareplicas:vars]セクションに追加します (例: ipareplica_forwarders=192.0.2.1,192.0.2.2)。 -
サーバーごとのフォワーダーを設定しない場合は、
[ipareplicas:vars]セクションに ipareplica_no_forwarders=true 行を追加します。 -
レプリカの
/etc/resolv.confファイルにリスト表示されているフォワーダーに基づいてサーバーごとにフォワーダーを設定するには、[ipareplicas:vars]セクションにipareplica_auto_forwardersを追加します。
レプリカに DNS とサーバーごとのフォワーダーを設定する手順を含むインベントリーファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
サーバーごとのフォワーダーを設定するには、
- シナリオ 3
クラスターのデプロイを簡素化するために、
ipaclient_configure_dns_resolveおよびipaclient_dns_serversオプション (使用可能な場合) を使用して DNS リゾルバーを指定します。これは、IdM デプロイメントが統合 DNS を使用している場合に特に便利です。DNS リゾルバーを指定するインベントリーファイルスニペット:
[...] [ipaclient:vars] ipaclient_configure_dns_resolver=true ipaclient_dns_servers=192.168.100.1
[...] [ipaclient:vars] ipaclient_configure_dns_resolver=true ipaclient_dns_servers=192.168.100.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ipaclient_dns_serversリストには IP アドレスのみを含める必要があります。ホスト名を含めることはできません。