COLUMN コラム

TOP > コラム > AnsibleのGUI運用にSemaphore UIを採用した事例|AWX安定版停止後のOSS代替と構築手順

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

Ansible の GUI ツール選定。有償の Ansible Tower、安定版リリースが停止した AWX、OSS の Semaphore UI を比較し、Semaphore UI を採用した流れを示す図

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 を Rocky Linux 9 にゼロから構築する7ステップ(Linux セットアップ、python/ansible、DB、パッケージ導入、semaphore setup、server 起動、ブラウザアクセス)のフロー図

検証結果

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アサイン変更)で動作検証を行う

構成管理の自動化では、ツールの導入そのものではなく「誰が・どれだけ簡単に操作できるか」を単位で設計することが、運用定着の近道となります。

RECRUIT 採用情報

ヤングライフプロポーサルでは、一緒にお客様の自由時間を創出してくれる仲間を募集します。

CONTACT お問い合わせ

事業内容や採用に関するお問合せは、こちらからお問合せください。

採用情報
お問合せ
トップへ戻る