LinuCレベル2 201試験の例題と解説
2.04.6システム構成ツール
LinuCレベル2201試験の出題範囲から「2.04.6 システム構成ツール 」についての例題を解いてみます。ここでは、システム構成ツールのAnsibleについて確認しておきましょう。
例題
AnsibleのPlaybookの説明として正しいもの選択してください。
- PlaybookはXMLの形式で記述する
- Playbookは1つのファイルで記述しなければならない
- Playbookは設定対象のホスト毎に用意しなければならない
- Playbookはリモートホストへの設定作業等を記載するものである
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「4. Playbookはリモートホストへの設定作業等を記載するものである」です。
Ansibleは、リモートホストの設定の自動化や構成管理に使われるツールです。
特に複数台のホストに同一の設定をしたり、セキュリティアップデートを実施する場合などに非常に有用です。
また、リモートホストにSSHでアクセスして処理を行うため、SSHサーバが存在するホストであれば手軽に利用することができるのも特徴の一つです。
今回出題した「Playbook」は、Ansibleの設定作業などのルールを記載するファイルです。
次のようにYAML(YAML Ain't a Markup Language)形式で記述します。
[playbook.yaml]
---
# ホストグループの指定。下記のインベントリについても参照。
- hosts: webservers
# タスク(Ansibleのリモートホストに対する処理)の定義
tasks:
# userモジュールを利用したuserの追加
- name: Add user
ansible.builtin.user:
name: user01
# yumモジュールを利用したhttpdパッケージのインストール
- name: Install the latest version of Apache
yum:
name: httpd
state: latest
このようなファイルを作成し、「ansible-playbook」コマンドにより、処理を実行します。
ansible-playbook -i inventory.ini playbook.yaml
上記コマンドの-iオプションは、処理を実行するホストやホストグループを設定する「インベントリ」を指定するオプションです。インベントリはYAMLやINI形式で記述ができます。
上記のplaybook.yamlでは、「hosts: webservers」の記述があります。
この記述とインベントリの設定が紐付いています。例えば次のように[webservers]に複数のホストを登録すると、playbook.yaml実行時に登録された全てのホストで同一の処理を実施することになります。
[inventory.ini]
[webservers]
192.168.10.10
192.168.10.11
192.168.10.12
[dbservers]
192.168.20.10
192.168.20.11
それでは選択肢を見ていきます。
1.PlaybookはXMLの形式で記述する
PlaybookはXML形式ではなく、基本的にYAML形式で記述します。
2.Playbookは1つのファイルで記述しなければならない
Playbookは複数のファイルに処理を分けて作ることができます。
処理を分けて作ることで、複数のホストでルールを使いまわすことが可能になり、より便利に利用できるようになります。
3.Playbookは設定対象のホスト毎に用意しなければならない
上述の通り、Playbookは複数のホストで使い回すことができます。
4.Playbookはリモートホストへの設定作業等を記載するものである
正解です。
Ansibleをうまく使うと、多くのホストを効率よく管理できるようになります。
非常に多機能なツールなので、今回解説した内容以外にも実際に使って勉強してみましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本 知里