サーバ構築自動化「Ansible」はシンプルに使えて初心者にオススメ

サーバー構築

構成管理ツールの一つとして注目されている「Ansible」を紹介します。

そもそも「構成管理ツールって何?」という方は、以下の記事をご参照ください。
概要や、冪等性と呼ばれる考え方について解説しています。

サーバー構築を自動化する構成管理ツールとは(Ansible, Chef)



Ansible はシンプルで初心者にもオススメ

Ansible (アンシブル) は、構成管理ツールの中でも後発のソフトウェアです。
シンプルな構成が特徴で、近年広く利用されるようになってきました。

RedHat 社が開発を行っているオープンソースのプロジェクトです。

 
構築先サーバーにエージェントをインストールする必要がない 点が強みです。
SSH で接続可能なサーバーであれば、Ansible から直接構築できます。

設定ファイルは「yaml(ヤムル)」と呼ばれるシンプルなテキスト形式です。
プログラミングに詳しくない人でも書きやすく、導入ハードルが低くなっています。

Ansible はエージェントレスで利用可能

前述の通り、Ansible はエージェントを必要としません
以下の条件を満たしていれば利用可能です。

Ansible を使うための条件

  • 構築先サーバーに SSH 接続できる
  • SSH ログインするユーザに「sudo」権限が付与されている
  • 構築先サーバーに Python が入っている ※
  • Ansible を実行するサーバーに Python が入っている ※

※大抵はOS標準で入っています

Chef など他の構成管理ツールでは、
エージェントと呼ばれるソフトウェアを構築先のサーバーに入れておく必要があります。

システム構成やセキュリティ要件によっては、エージェントを入れられない場合もあるため、
エージェントを必要としない Ansible は活用できるシーンが数多くあります。

Ansible では様々なモジュールが利用可能

Ansible では、サーバーの変更を行うためにモジュールを利用します。
モジュールとは、各種操作を代行してくれるコマンドのようなものです。

Ansible のモジュール例

  • ファイルをコピーする copy モジュール
  • 設定ファイルを配置する template モジュール
  • パッケージをインストールする yum モジュール

標準で用意されているモジュールが豊富なため、
サーバーで実行する大抵の操作は Ansible でも操作が可能となっています。

独自のモジュールを開発したい場合には、Python のプログラミングが必要です。
現在では、ネットワーク機器を操作するモジュールなどが開発されています。

まとめ

サーバー構築の自動化ツール「Ansible」について紹介しました。

エージェントレス(クライアントなし)で使えるのが大きな特徴です。
大規模環境での導入実績も多く、広く使われ出したソフトウェアの一つです。

構成管理ツールを導入する場合は、シンプルで幅広く活用できる「Ansible」がオススメです。

【関連記事】
サーバー構築の初心者にオススメのOS
サーバー構築の初心者は VPS がオススメ
AWS, GCP, Azure の無料利用枠を比較
レンタルサーバー・VPS・自宅サーバー を比較