【ITニュース解説】Day-8: Install Ansible | 100 Days of DevOps
2025年10月03日に「Dev.to」が公開したITニュース「Day-8: Install Ansible | 100 Days of DevOps」について初心者にもわかりやすく解説しています。
ITニュース概要
Ansibleは、システム管理やアプリ展開を自動化するエージェント不要なツールだ。Pythonのパッケージマネージャーpip3を用いたAnsibleのインストール手順を解説する。Pythonとpip3を準備し、`pip3 install ansible`で導入。その後、バージョン確認や疎通確認で正しく使えるか確かめる。
ITニュース解説
Ansibleは、システム管理やアプリケーションのデプロイ、ワークフローの自動化といった作業を効率的に行うためのオープンソースの自動化エンジンである。他の多くの構成管理ツールとは異なり、Ansibleは管理対象となるサーバーに「エージェント」と呼ばれる特別なソフトウェアをインストールする必要がない点が大きな特徴である。これにより、システムは軽量に保たれ、セキュリティ面でも利点がある。Ansibleが必要とするのは、ターゲットマシンへのSSHアクセスとPythonのインストールのみである。
Ansibleのインストール方法にはいくつかの選択肢がある。一般的なLinuxディストリビューションのパッケージマネージャー(例えばDebianやUbuntuではapt、RHELやCentOS、Fedoraではdnfまたはyum)を利用する方法、Pythonのパッケージマネージャーであるpipを利用する方法、そしてGitHubからソースコードをクローンしてインストールする方法がある。この記事では、特定のAnsibleバージョンを柔軟に管理でき、異なる環境間での移植性も確保しやすいという利点から、pip3を用いたインストール方法に焦点を当てて説明を進める。
最初のステップとして、Ansibleが動作するために必要なPythonとpipをシステムにインストールする。AnsibleはPython 3を必要とする。多くの最新LinuxディストリビューションにはPython 3がプリインストールされていることが多いが、もしインストールされていない場合は、以下のコマンドを実行してインストールする。まず、パッケージリストを最新の状態に更新するためにsudo apt update -yを実行し、その後にsudo apt install -y python3 python3-pipコマンドでPython 3とPythonのパッケージマネージャーであるpip3をインストールする。インストールが完了したら、python3 --versionとpip3 --versionのコマンドを実行して、それぞれのバージョンが表示されることを確認し、正しくインストールされたかを確認する。
Pythonとpipの準備が整ったら、次のステップでAnsible本体をインストールする。最新版のAnsibleをシステム全体で利用できるようにインストールするには、sudo pip3 install ansibleというコマンドを実行する。もし特定のAnsibleバージョン、例えばAnsible 4.9.0をインストールしたい場合は、sudo pip3 install ansible==4.9.0 --prefix=/usr/localのようにバージョン番号を指定し、さらに--prefix=/usr/localというオプションを追加する。この--prefix=/usr/localというフラグは、Ansibleの実行ファイルが/usr/local/binというディレクトリに配置されるように指定する。このパスは通常、システム上の全てのユーザーがアクセスできる場所に設定されているため、誰でもAnsibleコマンドを実行できるようになる。
インストールが完了したら、Ansibleが正しくシステムに認識されているかを確認する。これにはansible --versionというコマンドを実行する。このコマンドを実行すると、Ansibleのコアバージョン、設定ファイルの場所、AnsibleのPythonモジュールがインストールされている場所、Ansibleの実行ファイルがある場所、そしてAnsibleが使用しているPythonのバージョンといった詳細情報が表示される。これらの情報が正しく表示されれば、Ansibleが正常にインストールされていることを確認できる。
もしansible --versionコマンドを実行した際に、「コマンドが見つかりません」といったエラーが表示される場合は、Ansibleの実行ファイルがインストールされたパス(例えば/usr/local/bin)がシステムの環境変数PATHに含まれていない可能性がある。この問題を解決するためには、/usr/local/binをPATHに追加する作業が必要である。具体的には、/etc/profile.d/ディレクトリの下にansible.shというファイルを作成し、その中にexport PATH=$PATH:/usr/local/binという内容を書き込む。この操作は、echo 'export PATH=$PATH:/usr/local/bin' | sudo tee /etc/profile.d/ansible.shというコマンドで行うことができる。次に、sudo chmod +x /etc/profile.d/ansible.shコマンドで作成したファイルに実行権限を付与し、最後にsource /etc/profileコマンドを実行してシステムの環境設定を再読み込みする。これにより、変更が反映され、Ansibleコマンドがどのユーザーからでも利用できるようになる。
最後に、Ansibleが実際に管理対象のサーバーと通信できるかを確認するためのテストを行う。このテストには、管理対象サーバーの情報を記述した「インベントリファイル」が必要である。例えば、[servers]という名前のグループの下に、テストしたいサーバーのIPアドレス(例: 192.168.1.10、192.168.1.11)を記述したファイルを作成する。その後、ansible -i inventory servers -m pingというコマンドを実行する。ここで、-i inventoryは作成したインベントリファイルを指定し、serversはそのインベントリファイル内で定義したグループ名を指す。また、-m pingは、Ansibleの「ping」モジュールを使用して指定されたサーバーへの疎通確認を行うことを意味する。全てが正しく設定されていれば、各サーバーから「pong」という応答が返ってくるはずである。この「pong」応答は、Ansibleが正しくインストールされ、ターゲットサーバーと通信できる状態にあることを示している。
以上のステップを踏むことで、Ansibleのインストールと基本的な動作確認が完了する。この自動化ツールは、今後のシステム管理作業において非常に強力な助けとなるだろう。