😝

Ansibleをインストールする!

2021/04/03に公開

はじめに

くーばねてすを倒すために今回はNode.jsをやっつけないといけなくなったのでNode.jsの設定をデーモン化したものをAnsibleで自動化するために色々調べた(^^)/!

概要

■Ansibleとは
■Ansibleインストール
■Ansibleで使うもの

をまとめた(^^)/

■Ansibleとは

https://docs.ansible.com/ansible/2.9_ja/index.html
AnsibleはSimple、Powerful、Agentlessという3つの特徴を掲げるPython製のインフラ構築自動化ツールだ。
先行製品として有名なPuppetやChef等で実現できることを踏まえつつ、より利用しやすくなるよう改善されたものとなっている。

Ansibleは構成管理、設定作業を手作業で行うことを自動化するツールだ。

Ansibleコマンドが導入されているサーバーでAnsibleコマンドを実行すると、被管理サーバーへアクセスして各種設定を行ってくれる。
被管理サーバー側に、事前設定としてAnsibleのクライアントを導入する必要はないので利用しやすい。

被管理サーバーへのアクセスと設定の反映するには、対象がLinuxサーバーの場合はSSHプロトコルとPythonを、Windowsの場合はWinRMプロトコルを使えるようにすることが必要である。

Ansible特性
・工数の削減ができる
・自動的に構築作業が実行されるため、オペレーションミスがなくなり品質が向上する。
・Playbookというファイルに環境構築に関する設定情報をYAMLにより定義する。
・様々な機器を操作するためのモジュールを使用することができる。
・構築対象となるサーバ、機器に対して事前準備をする必要がないため、不要なアクセスをなくすことができる。(環境構築、セキュリティリスクがなくなる)

Ansibleはクライアントが不要であることと記述のシンプルなので、多数のサーバーに標準化された設定を適用するのに向いている。

ChefやPuppetは複雑な処理の記述が可能なので、少数のサーバーに対して、サーバーごとにカスタマイズされた設定を適用するのに向いている。

■Ansibleインストール

https://docs.ansible.com/ansible/2.9_ja/installation_guide/intro_installation.html
ubuntuにインストール

$ sudo apt update
$ sudo apt install software-properties-common
$ sudo apt-add-repository --yes --update ppa:ansible/ansible
$ sudo apt install ansible
$ ansible --version

RHEL,CentOS にインストール

$ yum install epel-release -y
$ yum install ansible
$ ansible --version

■Ansibleで使うもの

・コントロールノード
Ansibleを実行する端末
・ターゲットノード
操作対象のサーバー
・プレイブック (Playbook)
実行したい処理を記述するYAML形式のファイル
・モジュール (Module)
プレイブックの中で利用できる環境構築の部品
・インベントリー (Inventory)
操作対象機器のIPアドレスやホスト名(ドメイン名)を記述するファイル
など

まとめ

Ansibleって響きがいい感じだと思った(>_<)

Discussion