コンピューターシステム株式会社

技術BLOG

Ansibleでの運用自動化

環境構築 2021/07/15 東京担当

こんにちは。東京本社のYです。

今回はAnsibleでの運用自動化についてご紹介させていただきます。

私は業務上、1度に複数のサーバへ新規登録や変更を適用したい場合が多く、Ansibleを活用しています。

Ansibleを活用することにより、少ない工数で大量の環境を構築、メンテナンスが可能で工数削減につながっています。


Ansibleとは

Ansible(アンシブル)は、レッドハットが開発するオープンソースの構成管理ツールです。

YAML形式で書かれた設定ファイルに従って、サーバやネットワーク機器などの設定を自動的に実行できます。

例えば、複数サーバへのリリース作業や定期的なリフレッシュ、メンテナンス作業もあらかじめ設定ファイルを用意すれば、少ない工数で可能です。


Anisbleの特徴:エージェントレス

Anisbleの大きな特徴としてエージェントレスが挙げられます。

他の自動化ツールに比べ管理対象の情報を取得したり変更を加えたりするためのエージェントと呼ばれるソフトウェアをあらかじめインストールする必要がありません。

例えばLinuxではSSHで接続可能です。

エージェントをインストールする必要がないことは自動化ツールを導入する際に大きな特徴です。


Ansibleのメリット

・生産性

手順確認や入力等の工数がなくなります。また、複数のサーバーへの同時作業も可能なため、生産性が向上します。

・正確性

実績のあるPlaybookファイル(※1)は、品質が担保されます。

また、人為的なオペレーションミスによるミスを低減できます。

※1 Playbookファイルとは、被管理サーバーへの設定内容等を記述したYAML形式の設定ファイルのこと。

・繰り返し性

一度Playbookファイルを作成してしまえば、再利用により誰でも何度でも同一の作業ができます。

(複数回利用による影響が出るかは検証の必要はありますが。。。)

また、Playbookファイルがあれば知識やスキルが無くても利用可能です。

・可読性・メンテナンス性

設定ファイルがYAMLでの表記で、可読性がよくメンテナンスコストが低いのもいいところです。


Anisbleを使ってみよう

実際にAnsibleを体験できる手順を記載していきます。

今回はUbuntuのLinux環境でインストール・Ansbile実行まで記載します。

実行環境は以下のとおり。

★Ansibleをインストールします。

 ターミナル上で以下のコマンドを実行します。

$ sudo apt update

$ sudo apt install software-properties-common

$ sudo apt-add-repository --yes --update ppa:ansible/ansible

$ sudo apt install ansible

★インストール完了後、ansible配下に実行ymlファイルを作成します。

$ cd /etc/ansible

$ sudo vi sample.yml

★実行ymlファイル(sample.yml)は以下ように記載します。

 今回はサンプルなのでシンプルなものかつ、自サーバで完結するものとしています。

いよいよAnsible実行です。

★以下のコマンドを入力し、Ansibleを実行します。

 今回は他サーバへの実行とはせずローカルホストへの実行としています。

$ cd /etc/ansible

$ ansible-playbook sample.yml --connection=local

実行結果が以下のようになれば成功です。


最後に

いかがでしたか。

Ansibleの有用性が少しでも伝えられていれば幸いです。

今回はローカルホストへのAnsible実行のサンプルでしたが、

例えばDBへの新規テーブル追加をする際などにサーバ指定をすることで複数サーバへ同時に追加することができます。

また、ymlファイルが1度実績をもてば品質が担保されることもいいことで、だれでも同じ作業ができるのも魅力的です。

気になった方はぜひ試してみてください。

最後まで閲覧いただきありがとうございました。