5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Exastro Playbook Collectionを使ってみた

Last updated at Posted at 2020-10-12

関連リンク

#はじめに 
※(追記)※
2021年5月31日、Playbook Collectionの内容が一新され、ITAへの導入が簡単になりました。
新規に記事を作ってみましたので、ぜひ合わせてお読みください。
【Exastroシリーズ】IT AutomationでPlaybook Collection使ってみた (RHEL7基本設定編)

###Exastro Playbook Collectionとは

Exastro Playbook Collectionとは、システム構築で利用されるOSやMiddleware用のAnsible Playbook集です。
(Exastro-Suite公式サイトより)

Exastro-Suiteのなかで、システムの「設定作業」の省力化を担っているのがPlaybook Collectionです。

公開されているAnsible-Roleをダウンロードし、自由に使用することができます。
今回は様々なAnsible-Roleの中から以下のものを実行してみます。

  • Apache_install(Apacheのインストール)
  • Apache_setup(Apacheの設定)
  • RHEL(RedHat系OSの設定)

なお、実行時にはExastro IT Automation(以降、ITAと記載)を使用します。

###作業環境
image.png

ホスト側

  • Linux CentOS7.8
  • Exastro IT Automation 1.5.0
  • Ansible 2.9.12

ターゲット側

  • Linux CentOS7.8 1台

【注】
NetworkManagerを停止させています。今回利用するRoleの一部(RH_name-resolve,RH_ntp)がNetworkManagerの動作していない環境での実行を想定しているためです。
加えて、結果確認を容易にするためネットワークインターフェイスの設定に"PEERDNS=no"を追記しています。

クライアント

  • Windows 10
  • Microsoft Edge

#作業手順
以下の流れで作業を進めます。

ITAを操作する前に
1. Playbook CollectionからAnsible‐Roleをダウンロードする
2. ITAreadmeを作成する
3. zipファイルを作成する

ITAを操作する
4. ターゲットとなる機器を登録する
5. オペレーションを登録する
6. Movementを設定する
7. 多段変数最大繰返数管理
8. Conductorを作成する
9. パラメータシートを作成する
10. パラメータを登録する
11. 代入値自動登録設定を行う
12. Counductorを実行する
13. 実行結果の確認

① Playbook CollectionからAnsible‐Roleをダウンロードする

Playbook Collectionは以下のURLで公開されています。
https://github.com/exastro-suite/playbook-collection-docs/blob/master/README.ja.md

「ロールリスト」のリンクから、各ロールパッケージのリポジトリにアクセスできます。
image.png

今回利用したロールパッケージのリポジトリは以下の3つです。
Apache_install ‐ https://github.com/exastro-playbook-collection/Apache_install.git
Apache_setup -https://github.com/exastro-playbook-collection/Apache_setup.git
RHEL - https://github.com/exastro-playbook-collection/RHEL.git

この内、RHELはRedHat系OSの初期設定を網羅したものになっています。
全てを実行すると記事内容があまりに膨大になりますので、今回は以下の5つを選んで実行します。

  • RH_sshd (/etc/sshd/sshd.confの設定)
  • RH_rsyslog (/etc/rsyslog.confの設定)
  • RH_kdump (kdumpの設定)
  • RH_name-resolve (名前解決の設定)
  • RH_ntp (NTPサーバの設定)

##② ITAreadmeを作成する
ITAにロールパッケージを登録する前に、各Ansible‐Roleのdefault/main.ymlを確認してみましょう。

Apache_install-master/default/main.yml
apache_OS_Version: RedHat7

apache_OS_VersionにはOSの系列とバージョンを指定し、各taskの実行判定に使用します。
今回の対象ホストはCentOS7なので、変更の必要はありません。

Apache_setup-master/default/main.yml
###  Directive for Apache2.4,Apache2.2
VAR_Apache_ServerTokens: 
VAR_Apache_ServerRoot: /etc/httpd
VAR_Apache_Timeout: 
VAR_Apache_KeepAlive: 
VAR_Apache_MaxKeepAliveRequests: 
VAR_Apache_KeepAliveTimeout: 
# 以下略

httpd.confに記載するパラメータが定義されています。
具体値はITAで変更できますので、今は触らずともよいでしょう。

RHEL-master/RH_sshd/default/main.yml
# VAR_RH_sshd_config:                 #sshd設定
  # - key: PermitRootLogin
    # value: yes                  #rootユーザのログインを許可
  # - key: PasswordAuthentication
    # value: yes           #パスワード認証を許可

あるべき変数定義の型がコメントアウトされています。

RHEL-master/RH_rsyslog/default/main.yml
# VAR_RH_rsyslog_rules:                #syslog設定
  # - selector: 'local7.*'                 #facility / priority
    # action: '/var/log/boot.log'          #ログ出力先
  # - selector: '*.info;mail.none;authpriv.none;cron.none'      #facility / priority
    # action: '/var/log/messages'                               #ログ出力先

VAR_RH_rsyslog_rules: []
VAR_RH_rsyslog_d_files: []

上に同じく、変数定義がコメントアウトされています。

RHELに収録されているAnsible‐Roleは変数がコメントアウトされており、使用前に変数定義を加筆する必要があります。
(RH-sshd、RH-rsyslog以外のAnsible‐Roleも同様です。)

/default/main.ymlを直接編集することもできますが、今回はITAreadmeを使用して変数を後付けで定義します。

ITAreadmeとは?
 変数定義を追加するためのITA専用ファイルです。  ダウンロードしたロールパッケージに添えてITAにアップロードすると、必要な変数定義を追加してITAで具体値を代入できるようになります。  詳細は[公式のマニュアル]を参照してください。
今回は以下のように作成しました。
default/RH_sshd.yml
VAR_RH_sshd_config:
  - key:   # PermitRootLogin など
    value: # yes / no など
ita_readme_RH_rsyslog.yml
VAR_RH_rsyslog_rules:
  - selector:   # local7.* など
    action:    # /var/log/boot.log など
ita_readme_RH_kdump.yml
# 「/etc/kdump.conf」ファイルに設定する項目
VAR_RH_kdump:		
   state:   # started / stopped
   path:   # /var/crash など
   default:   # reboot

# GRUB_CMDLINE_LINUXのcrashkernelの値を指定する。
VAR_RH_kdump_grub_crashkernel:   # 128M / auto など

ita_readme_RH_name-resolve.yml
# /etc/hostsファイルに設定する情報
  - ip: 
    hostname: 

# DNSサーバ配置に関する情報
VAR_RH_name_resolve_dns:
  servers: 
    -    #IPアドレス
  suffix: 
    -    

# 名前解決の参照先の順序設定。
VAR_RH_name_resolve_nsswitch:
  - method:   # dns など
    actions:   # [NOTFOUND=return] など
ita_readme_RH_ntp.yml
# ntpサーバの情報 
VAR_RH_ntp_servers:
  - server:    #IPアドレス
    prefer:    #true / false
    op:     #add / upd / del
   
VAR_RH_ntp_options:
  - slew:      # True / False

【注】
ITAreadmeは変数の定義を変更・追加するために使用されます。
ITAreadmeで変数の値を指定しても、作業へ反映されることはありません。

##③ zipファイルを作成する
Ansible‐RoleやITAreadmeをITAにアップロードするため、これらをまとめたzipファイルを作成します。

Apache_install-masterとApache_setup-masterは1つのzipファイルにまとめます。
image.png

ディレクトリ構造は以下の通りです。

Apache_Installation.zip
└ roles
  ├ Apache_install-master
  └ Apache_setup-master

RHEL中の2つのAnsible‐Roleは別のzipファイルとしておきます。
ディレクトリ構造は以下の通りです。

RHEL_Configuration.zip
├ roles
|  ├ RH_sshd
|  ├ RH_rsyslog
|  ├ RH_kdump
|  ├ RH_reboot
|  ├ RH_name-resolve
|  └ RH_ntp
├ ita_readme_RH_sshd.yml
├ ita_readme_RH_rsyslog.yml
├ ita_readme_RH_kdump.yml
├ ita_readme_RH_name_resolve.yml
└ ita_readme_RH_ntp.yml

※RH_kdumpの実行にはRH_rebootが要求されるため、roles配下に合わせて配置しています。

これで準備は完了です。
以降はITAを操作していきます。作業の詳細については、以下の記事でより詳細に解説されています。

④ ターゲットとなる機器を登録する

ターゲットとなるCentOSターゲットをITAに登録します。

メニュー:基本コンソール >> 機器一覧

今回は以下のように登録しました。

HW機器種別 ホスト名 IPアドレス ログインユーザID ログインパスワード
管理
ログインパスワード Legacy/Role利用情報
認証方式
SV testserver (ターゲットのIPアドレス) root ******** パスワード認証

⑤. オペレーションを登録する

オペレーション(ITAにおける作業の名前)を登録します。

メニュー: 基本コンソール >> 投入オペレーション一覧
image.png

今回は以下のように1件登録します。

オペレーション名 実施予定日時
PlaybookCollection試用 2020/09/21 16:00

⑥ Movementを設定する

Movementを登録する

Movement(ITAにおける作業の最小単位)を登録します。

メニュー: Ansible-LegacyRole >> Movement一覧
image.png

以下のとおりMovementを2つ登録します。
Apache_install-masterの実行時、gather_factsが有効になっている必要があるため、ヘッダー情報で有効にしています。

Movement名 ホスト指定形式 ヘッダー
RHEL系初期設定 IP -
Apacheインストール IP - hosts: all
   remote_user: "{{ __loginuser__ }}"
   gather_facts: yes
   become: yes

ロールパッケージの登録

用意したzipファイルをITAに登録します。

メニュー: Ansible-LegacyRole >> ロールパッケージ登録
image.png

以下の通り登録します。

ロールパッケージ名 ロールパッケージファイル
RHEL_Configuration RHEL_Configuration.zip
Apache_Installation Apache_Installation.zip

Movementとロール名の紐づけ

1.3で作成したMovementと1.4で作成したロールパッケージを関連付けます。

メニュー: Ansible-LegacyRole >> Movement詳細
image.png

Movement: RHELログイン設定

Movement名 ロールパッケージ ロール名 インクルード順序
RHEL系初期設定 RHEL_Configuration RH_sshd 1
RHEL系初期設定 RHEL_Configuration RH_rsyslog 2
RHEL系初期設定 RHEL_Configuration RH_kdump 3
RHEL系初期設定 RHEL_Configuration RH_name-resolve 4
RHEL系初期設定 RHEL_Configuration RH_ntp 5

Movement: Apacheインストール

Movement名 ロールパッケージ ロール名 インクルード順序
Apacheインストール Apache_Installation Apache-install-master 1
Apacheインストール Apache_Installation Apache-setup-master 2

⑦ 多段変数最大繰返数管理

多段変数最大繰返数管理とは

あらためて今回作成したITAreadme(=変数の定義)を見てましょう。

default/RH_sshd.yml
VAR_RH_sshd_config:
  - key:   # PermitRootLogin など
    value: # yes / no など
ita_readme_RH_rsyslog.yml
VAR_RH_rsyslog_rules:
  - selector:   # local7.* など
    action:    # /var/log/boot.log など

VAR_RH_sshd_configのメンバー変数に代入した値が/etc/ssh/sshd_configに、
VAR_RH_rsyslog_rulesのメンバー変数に代入した値が/etc/rsyslog.ymlに、それぞれ追記されます。

例えばVAR_RH_sshd_configの場合、keyとvalueが1セットだけ定義されています。
1セットではなく、複数の具体値を設定してAnsible-Roleを実行したい場合
「多段変数最大繰返数管理」を用いてメンバー変数の繰返し数を任意に変更することができます。

多段変数最大繰返数管理を行う

では上記2つの変数について、メンバー変数の繰返し数を定義していきます。

メニュー: Ansible-LegacyRole >> 多段変数最大繰返数管理
image.png


  1. 一覧から目当ての変数を探し、「更新」を押下する
  2. 「最大繰返数」の値を変更する
    3.「登録」を押下する

⑧ Conductorを作成する

Conductorを作成する

Conductorとは、ITAにおける一連の作業の単位です。複数のMovementを登録し、1つのジョブフローを形成することができます。
今回は、上で作成したMovement2つを含むConductorを作成します。

メニュー: Conductor >> Conductorクラス編集

image.png


  1. Conductorの名前を入力する
  2. 実行するMovementをドラッグ&ドロップで配置する
  3. Movementのin/outをドラッグ&ドロップで結合する
  4. 「登録」を押下する

今回作成したConductorの情報は以下の通りです。


Conductor名:PlaybookCollection試用

Movement 実行順序
RHEL系初期設定 1
Apacheインストール 2

⑨ パラメータシートを作成する

パラメータシートを作成しシートの項目と変数を紐づけることで今後の作業を簡便にできます。

1. メニューグループを作成する

まず、メニュー(=パラメータシート)が所属するメニューグループを作成します。

メニュー: 管理コンソール >> メニューグループ管理
image.png

今回は以下の通りホスト用、参照用、縦メニュー用の3種を作成しました。

メニューグループ名称 表示順序
サーバ全般管理 120
サーバ全般管理(参照用) 125
サーバ全般管理(縦) 130

2. メニューを作成する

メニューグループの作成が終わったところで、メニューを作成します。
本記事では簡素な解説に留めますので、詳細な操作解説が必要な場合は以下の記事をご参照ください。

【参考】
Exastro IT Automation ver1.5.0のキホンの"キ"
Exastro IT Automationの3つのAnsibleモードを使ってみた

メニュー: メニュー作成 >> メニュー定義/作成

image.png


① メニュー名などの基本情報を入力する
② 所属するメニューグループを設定する
③ 項目の名前やデータ型を設定する
④ 「作成」を押下する


上記の操作を繰り返し、
今回は以下の6つのメニューを作成しました。


RH_sshd用のメニュー

【基本情報】

メニュー名 作成対象 表示順序 用途 ホスト用メニューグループ 参照用メニューグループ 縦メニュー用メニューグループ
sshd設定 パラメータシート(ホスト/オペレーション含む) 1 ホスト用 サーバ基本設定 サーバ基本設定(参照用) サーバ基本設定(縦)

【項目の設定】
image.png

リピート機能について
keyとvalueのように決まった項目を繰り返して列挙する場合、リピート機能を利用します。 設定した繰り返し回数に応じて、項目が追加されます。 RH_rsyslog用のメニューでも同様にリピート機能を利用しています
*** #### RH_rsyslog用のメニュー 【基本情報】
メニュー名 作成対象 表示順序 用途 ホスト用メニューグループ 参照用メニューグループ 縦メニュー用メニューグループ
rsyslog設定 パラメータシート(ホスト/オペレーション含む) 5 ホスト用 サーバ基本設定 サーバ基本設定(参照用) サーバ基本設定(縦)

【項目の設定】
image.png


RH_kdump用のメニュー

【基本情報】

メニュー名 作成対象 表示順序 用途 ホスト用メニューグループ 参照用メニューグループ 縦メニュー用メニューグループ
kdump設定 パラメータシート(ホスト/オペレーション含む) 10 ホスト用 サーバ基本設定 サーバ基本設定(参照用) -

【項目の設定】
image.png


RH_name_resolve用のメニュー

【基本情報】

メニュー名 作成対象 表示順序 用途 ホスト用メニューグループ 参照用メニューグループ 縦メニュー用メニューグループ
名前解決設定 パラメータシート(ホスト/オペレーション含む) 15 ホスト用 サーバ基本設定 サーバ基本設定(参照用) -

【項目の設定】
image.png


RH_ntp用のメニュー

【基本情報】

メニュー名 作成対象 表示順序 用途 ホスト用メニューグループ 参照用メニューグループ 縦メニュー用メニューグループ
NTP設定 パラメータシート(ホスト/オペレーション含む) 20 ホスト用 サーバ基本設定 サーバ基本設定(参照用) -
【項目の設定】
image.png

Apache_setup用のメニュー

【基本情報】

メニュー名 作成対象 表示順序 用途 ホスト用メニューグループ 参照用メニューグループ 縦メニュー用メニューグループ
Apache設定 パラメータシート(ホスト/オペレーション含む) 100 ホスト用 サーバ基本設定 サーバ基本設定(参照用) -

【項目の設定】
image.png


⑩パラメータを登録する

メニューを作成することができました。
作成したメニューからターゲットの設定に利用するパラメータを入力していきます。


メニュー: サーバ基本設定(縦) >> sshd設定

ホスト名 オペレーション 代入順序 key value
testserver playbookCollection試用 1 PasswordAuthentication yes
testserver playbookCollection試用 2 PermitRootLogin yes

メニュー: サーバ基本設定(縦) >> rsyslog設定

ホスト名 オペレーション 代入順序 selector action
testserver playbookCollection試用 1 lpr.info /var/log/lpr.log
testserver playbookCollection試用 2 :fromhost-ip, isequal, "192.168.11.254" /var/log/router.log

メニュー: サーバ基本設定 >> kdump設定

ホスト名 オペレーション state path default crashkernel
testserver playbookCollection試用 started /var/clash reboot 128M

メニュー: サーバ基本設定 >> 名前解決設定

ホスト名 オペレーション ip hostname servers suffix resolve_method resolve_actions
testserver playbookCollection試用 192.168.11.20 test.domain.com 192.168.11.100 test.com dns [NOTFOUND=return]

メニュー: サーバ基本設定 >> NTP設定

|ホスト名|オペレーション|server_ip|prefer|operation|slew_option|
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|testserver|playbookCollection試用|192.168.11.30|true|add|True|


メニュー: サーバ基本設定 >> Apache設定

ホスト名 オペレーション ServerName KeepAlive KeepAliveRequests Enable_Service ServiceState
testserver playbookCollection試用 www.test.com "On" 100 yes started

⑪ 代入値自動登録設定を行う

代入値自動登録設定を行い、パラメータシートの項目と変数を紐づけていきます。

メニュー:Ansible-LegacyRole >> 代入値自動登録設定
image.png

「sshd設定」メニューと「RH_sshd」の変数を紐づける設定

VAR_RH_sshd_config は、多段変数最大繰返数管理で繰返し数を「2」に設定しました。
そのため、対応する数のメンバー変数が選択できるようになっています。

メニュー 項目 登録方式 Movement 変数名 メンバー変数名 代入順序
sshd設定 key Value型 RHEL系初期設定 VAR_RH_sshd_config [0].key -
sshd設定 value Value型 RHEL系初期設定 VAR_RH_sshd_config [0].value -
sshd設定 key[2] Value型 RHEL系初期設定 VAR_RH_sshd_config [1].key -
sshd設定 value[2] Value型 RHEL系初期設定 VAR_RH_sshd_config [1].value -

「rsyslog設定」メニューと「RH_rsyslog」の変数を紐づける設定

VAR_RH_rsyslog_rules についても、多段変数最大繰返数管理で繰返し数を「2」に設定しました。
追加のメンバー変数が選択できるようになっています。

メニュー 項目 登録方式 Movement 変数名 メンバー変数名 代入順序
rsyslog設定 selector Value型 RHEL系初期設定 VAR_RH_rsyslog_rules [0].selector -
rsyslog設定 action Value型 RHEL系初期設定 VAR_RH_rsyslog_rules [0].action -
rsyslog設定 selector[2] Value型 RHEL系初期設定 VAR_RH_rsyslog_rules [1].selector -
rsyslog設定 action[2] Value型 RHEL系初期設定 VAR_RH_rsyslog_rules [1].action -

「kdump設定」メニューと「RH_kdump」の変数を紐づける設定

メニュー 項目 登録方式 Movement 変数名 メンバー変数名 代入順序
kdump設定 state Value型 RHEL系初期設定 VAR_RH_kdump state -
kdump設定 path Value型 RHEL系初期設定 VAR_RH_kdump path -
kdump設定 default Value型 RHEL系初期設定 VAR_RH_kdump default -
kdump設定 crashkernel Value型 RHEL系初期設定 VAR_RH_grub_crashkernel - -

「名前解決設定」メニューと「RH_name-resolve」の変数を紐づける設定

メニュー 項目 登録方式 Movement 変数名 メンバー変数名 代入順序
名前解決設定 hosts情報/ip Value型 RHEL系初期設定 VAR_RH_resolve_hosts [0].ip -
名前解決設定 hosts情報/ip[2] Value型 RHEL系初期設定 VAR_RH_resolve_hosts [0].hostname -
名前解決設定 DNSサーバ情報/servers Value型 RHEL系初期設定 VAR_RH_resolve_dns servers 1
名前解決設定 DNSサーバ情報/suffix Value型 RHEL系初期設定 VAR_RH_resolve_dns suffix 1
名前解決設定 resolve_method Value型 RHEL系初期設定 VAR_RH_nsswitch [0].method -
名前解決設定 resolve_actions Value型 RHEL系初期設定 VAR_RH_nsswitch [0].actions -

「NTP設定」メニューと「RH_ntp」の変数を紐づける設定

メニュー 項目 登録方式 Movement 変数名 メンバー変数名 代入順序
NTP設定 NTPサーバ情報/server_ip Value型 RHEL系初期設定 VAR_RH_ntp_servers [0].server -
NTP設定 NTPサーバ情報/prefer Value型 RHEL系初期設定 VAR_RH_ntp_servers [0].prefer -
NTP設定 NTPサーバ情報/operation Value型 RHEL系初期設定 VAR_RH_ntp_servers [0].op -
NTP設定 slew_option Value型 RHEL系初期設定 VAR_RH_ntp_options [0].slew -

「Apache設定」メニューと「RH_apache_setup-master」の変数を紐づける設定

メニュー 項目 登録方式 Movement 変数名 メンバー変数名 代入順序
Apache設定 Servername Value型 RHEL系初期設定 VAR_RH_ServerName - -
Apache設定 KeepAlive Value型 RHEL系初期設定 VAR_RH_KeepAlive - -
Apache設定 KeepAliveRequests Value型 RHEL系初期設定 VAR_RH_KeepAliveRequests - -
Apache設定 EnableService Value型 RHEL系初期設定 VAR_RH_ServiceAuto - -
Apache設定 ServiceState Value型 RHEL系初期設定 VAR_RH_ServiceState - -

##⑫ Conductorを実行する
ここまでの操作でMovemetの作成と代入値の登録が完了しました。
最後にMovementを実行し、作業の結果を対象ホストで確認します。

メニュー: Conductor >> Conductor実行
image.png


1.オペレーションを選択する
2.実行するConductorを選択する
3.作業実行を押下する


実行後は自動で作業確認画面に遷移します。
ノード(Movement)をクリックすることでステータスや詳細結果へのリンクを表示できます。

image.png

##⑬ 実行結果の確認

RHELによる各種設定変更を確認する

RH_sshdによる設定は/etc/ssh/sshd_confに記入されます。

/etc/ssh/sshd_conf
#PermitRootLogin yes
PermitRootLogin yes

~~中略~~
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
PasswordAuthentication yes

RH_rsyslogによる設定は/etc/ssh/sshd_confの末尾に記入されます。
同様に確認します。

/etc/rsyslog.conf
~~中略~~
lpr.info        /var/log/lpr.log
:fromhost-ip, isequal, "192.168.11.254"        /var/log/router.log

RH_kdumpによる設定も確認していきます。
/etc/kdump.confにログの出力先などの情報が入力されています。

/etc/kdump.conf
#nfs my.server.com:/export/tmp
#ssh user@my.server.com
#sshkey /root/.ssh/kdump_id_rsa
path /var/crash
core_collector makedumpfile -l --message-level 1 -d 31
#core_collector scp
#kdump_post /var/crash/scripts/kdump-post.sh

kdump用のメモリサイズも指定した値に変更されています。

/etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=128M spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

RH_name-resolveによる名前解決関係の設定もしっかり反映されています。
まずは/etc/hostsを見てみます。

/etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.11.20     test.domain.com

DNSサーバの情報も書き込まれています。

/etc/resolv.conf
; generated by /usr/sbim/dhclient-script
nameserver 192.168.11.100
search test.com

同様に、RH_ntpによってNTPサーバの情報も追記されています。
下記ファイルの最終行を見てみます。

/etc/ntp.conf
~~略~~
server 192.168.11.30 iburst prefer

RHEL収録のAnsible‐Roleにより、しっかりと基本設定が反映されていることが確認できました。

Apacheのインストール確認

次にApacheについても変更を確認していきます。

systemctlでhttpdの起動を確認します。

$ sudo systemctl status httpd | grep "Active"
Active: active (running) since 火 2020-09-29 12:46:24 JST; 23h ago

/etc/httpd/conf/httpd.confの内容を確認すると、
指定した通りの情報を含むconfファイルが配置されています。

/etc/httpd/conf/httpd.conf
~~略~~
KeepAlive On
MaxKeepAliveRequests 100
~~略~~
ServerName www.test.com

正しくApacheのインストール、起動設定、configの配置が行われています。

終わりに

今回はPlaybook CollectionとITAを利用して、ターゲットへの各種設定を行いました。
ITAreadmeの作成を行うことで、公開されているAnsible‐Role自体を変更することなく、ITAへの取り込みや実行ができる点が好印象でした。

今回の作業は極めてシンプルでしたが、本来はさらに幅広い作業が実行できます。RHELだけでも数多くのAnsible‐Roleが収録されていますし、Apache-setupの実行時はさらに多くのパラメータを設定できます。

Playbook Collectionを活用すればIaCの作成作業を大幅に短縮できるでしょう。

関連リンク まとめ

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?