このカテゴリでは、独自調査に基づく技術情報を公開します。

Ansible入門者向け学習ガイド(CentOS編)

はじめに

Ansibleを始めるための入門とし、Ansibleインストールからplaybookの実行までの一連の流れをまとめました。

Ansibleとは

『Ansible』とはRed Hat社が開発するオープンソースの構成管理ツールです。
構成管理ツールは Chef、Puppetなどのツールもありますが、使いやすい特徴の一つとして『エージェントレス』であることです。
また、記述ファイルがシンプルでわかりやすいというのも特徴の為、構成管理ツールの中でもハードルが低く使いやすいのが特徴です。

Ansibleを使えるようになるとメリットがあります。

  • 工数の削減が期待できる
  • 品質が向上する
  • 不要なオペレーションやアクセスをなくすことができる

例えば、50台のサーバに同一の設定を行う場合、手作業で行うとミスが発生する可能性があります。それに対し、作業を自動化した場合は全台に同一の設定を実行することができるため、人的ミスを少しでも防ぐことができかつ工数の短縮も図ることができます。
また、不要なオペレーションやアクセスをなくすことができるため、誤動作の防止にもつながります。

Ansibleを理解する

Ansibleは手作業で行うことを自動化するツールです。Ansibleを理解するには自動化を行う前に手作業で目的の動作が行われるか検証するのが良いと思います。
手作業で問題が発生しなかった場合に、行った作業工程をplaybook化するイメージとなります。

Ansibleを効率的に学習を行うには、どのように使用(導入、実行操作等)されているか理解している必要があると思います。
また、手順や操作方法が分かるようになれば学習するべき内容を絞り出すことができ、理解がより深まってくると思います。

当サイトでは、単純すぎず複雑すぎない手順を用意いたしました。

参考

Ansible公式サイトでよく使用するモジュールの一覧先https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html

初心者向け書籍『Ansible 構築・運用ガイドブック』

初心者~中級者向け書籍『Ansible実践ガイド』

Ansibleの操作手順

実際にAnsibleをインストールし操作を行います。当サイトではhttpdのインストール、
httpd.confの修正、firewallの設定、selinuxの設定を行う操作を記述致します。

目次

  1. Ansibleを操作するサーバを準備(以降コントロールノードと呼ぶ)
  2. 構築対象となるサーバを準備(以降ターゲットノードと呼ぶ)
  3. コントロールノードにansibleをインストール
  4. sshの設定(公開鍵認証)
  5. Ansible疎通確認
  6. ターゲットノードで設定を行い内容を手作業で確認
  7. playbook作成
    1. httpdタスクの作成
    2. firewallタスクの作成
    3. selinuxタスクの作成