AnsibleのGUI運用にSemaphore UIを採用した事例|AWX安定版停止後のOSS代替と構築手順
弊社ではネットワーク機器の構成管理にAnsibleを活用することがあります。
本記事では、これまでCLI一択だったAnsibleの運用にGUIを取り入れるため、OSSのGUIツール「Semaphore UI」をRocky Linux 9に構築・検証した事例をご紹介します。
AnsibleのGUIといえばAWXが定番とされてきましたが、安定版リリースが停止している現状を踏まえ、代替となるOSSを選定した経緯と構築手順を共有します。同様の検討をされている方の参考となれば幸いです。
Ansibleとは
Ansibleとは、RedHat社が開発するOSS構成管理ツールです。
Ansibleは、サーバー構築の自動化をはじめ、ITインフラに関する様々な作業を自動化できるという特徴があり、弊社でも近年、FortGate,Cisco,HPE Aruba,F5 BIG-IP,など様々な機器のPlaybookを作成してきました。
GUI化を検討した背景
これまではCLIでのコマンド操作一択で運用していましたが、操作者が誰でも簡単に操作できることに重きを置いた場合にGUIでの操作がほしい場面に遭遇し、GUIツールの選定を行いました。
候補の検討:Ansible Tower と AWX
AnsibleのGUIと言えば、Red Hat社が有償で提供しているGUIでの操作可能な[ Ansible Tower ]が知られています。OSS版では[AWX]一択という認識で導入を検討しましたが、AWXの安定版リリースは 2024 年から停止しておりました。
参考:Ansible Community Forum「Is there a future for AWX?」
https://forum.ansible.com/t/is-there-a-future-for-awx/44527
Semaphore UI の採用
AWX以外のOSSを検討したところ「semaphore UI」を見つけ、検証を行いました。
参考:Semaphore UI 公式サイト(日本語)
https://semaphoreui.com/ja

Rocky Linux 9 への構築手順
dockerコンテナで構築が容易と記事にありますが、今回はRocky linux 9に0からインストールを試しました。
–簡単な手順–
- 0. linuxのインストール、セットアップ
- 1. python,ansibleのインストール
- 2. DBのインストール,セットアップ(SQLite,MySQL,Postgresが選べます)
- 3. semaphore UIのパッケージのダウンロードとインストール
-コマンド例-
curl -LO https://github.com/semaphoreui/semaphore/releases/download/v2.18.12/semaphore_2.18.12_linux_amd64.rpm
sudo dnf install -y ./semaphore_2.18.12_linux_amd64.rpm- 4. semaphore UIのセットアップ
semaphore setupコマンドで対話式にセットアップが行えます。config.jsonが作成されます。
- 5. semaphore UIを起動します。
nohup ./semaphore server --config /root/config.json &- 6. GUIでアクセスします。
http://<サーバIP>:3000
※http/httpsのポート番号でアクセスするにはapacheもしくはnginxでリバースプロキシ設定を行ってください

検証結果
Semaphore UI上でSWのVLANアサインを変更するPlaybookの調整を入社2年目の担当者に依頼したところ、1日で概ね動作するようになりました。
多くの人が携わり、機器の構成管理をする場合は、GUIによる運用が有効です。
本事例のポイントと導入時の確認事項
本事例は、CLI一択だったAnsibleの運用にGUIを取り入れるにあたり、定番のAWXが安定版リリースを停止していたことから、OSSのSemaphore UIを選定・構築した事例です。ツールの知名度ではなく、現在のリリース状況を確認したうえで選定したことがポイントでした。
同種の構成管理ツールのGUI化を検討する現場では、以下の観点が選定・構築の精度を左右します。
- GUI化の目的(誰でも簡単に操作できること)を先に定め、ツール選定の基準にする
- 候補ツールの安定版リリース状況を公式フォーラム等で確認する(AWXは 2024 年から停止)
- 有償版(Ansible Tower)とOSS(AWX / Semaphore UI)の選択肢を整理する
- 構築手順は「Linux → python/ansible → DB → パッケージ → setup → 起動 → GUIアクセス」の順で進める
- DBはSQLite / MySQL / Postgresから環境に応じて選択する
- http/httpsの標準ポートで公開する場合は、apacheまたはnginxのリバースプロキシ設定を行う
- 構築後は実際のPlaybook(例:SWのVLANアサイン変更)で動作検証を行う
構成管理の自動化では、ツールの導入そのものではなく「誰が・どれだけ簡単に操作できるか」を単位で設計することが、運用定着の近道となります。