正直な前提

ツール比較の多くはベンダーが書いています。どちらか一方があらゆる指標で勝ち、結論はいつも「うちの製品を使え」になります。

この記事はそれとは違うつもりです。AWX と Semaphore UI は重なる課題を解きますが、「あなたが誰で、何を持っているか」という前提が異なります。正解は状況次第で本当に変わります。

各ツールの役割、アーキテクチャ、機能面の違い、そして何より「どのチームがどちらを選ぶべきか」を扱います。

AWX とは

AWX は、Red Hat が商用の Ansible Automation Platform(AAP)の基盤にしているオープンソースの上流プロジェクトです。Web UI、REST API、そしてインフラ全体で Ansible プレイブックを実行するタスクエンジンを提供します。

AWX は無料で、MIT ライセンス、コミュニティ支援です。Red Hat は選ばれた AWX リリースを取り込み、堅牢化して「Automation Controller」として再パッケージします。これが AAP の中核です。機能は先に AWX に入り、エンタープライズサポートは Automation Controller 側に付きます。

現状(2026 年): 最後の AWX リリースは 2024 年 7 月 2 日の 24.6.1 でした。大規模なアーキテクチャ再編のため開発は一時停止しています。チームは「既存のアプリケーションアーキテクチャが変更の余地を制限している」「既存システムでの革新には限界がある」と認めています。Ansible コレクション awx.awx も積極的なメンテナンスがないと指摘されています。AWX が「死んだ」わけではなく、明確なスケジュールのない大きな移行期にある、という意味です。

Semaphore UI とは

Semaphore UI は、Ansible、Terraform/OpenTofu、Bash、Python、PowerShell の自動化を実行するためのオープンソース Web インターフェースです。Go で書かれ、外部ランタイムに依存しない単一バイナリとして配布されます。

AWX と同様に UI、REST API、スケジューリング、RBAC、チーム管理を備えますが、Kubernetes に縛られず、商用エンタープライズ製品の上に構築されていません。

Semaphore は無料のオープンソース版(MIT)に加え、プロジェクトランナー、2FA、Terraform HTTP バックエンド、ログエクスポートを追加する Pro があります。エンタープライズでは HA、LDAP/SSO、優先サポートなどがあります。

アーキテクチャとインストール

ここで二つのツールは最も大きく分かれます。

AWX は Kubernetes が必要です。 v18.0.0 以降、本番向けの単一ホスト Docker デプロイは公式にサポートされません。動作する Kubernetes クラスタが必要です。1 台の k3s、フルマルチノードクラスタ、マネージドクラウドのいずれでも構いません。推奨は AWX Operator で、kustomize 3.5.1 以上が必要です。最新リリースには PostgreSQL 15 が必要です。

Semaphore はほぼ何も要りません。 コンパイル済みの Go 単一バイナリです。パッケージマネージャー(apt、dnf)、Docker、Helm、またはバイナリの直接ダウンロードでインストールできます。小規模なら SQLite で足り、本番では PostgreSQL または MySQL です。典型的な Docker セットアップはコマンド 1 つです。

実務上の差は、AWX をきちんと立ち上げるのに数時間と Kubernetes の慣れが要るのに対し、Semaphore は数分で、前提知識もほぼ不要だということです。

AWX Semaphore UI
デプロイ方法 Kubernetes + AWX Operator バイナリ、Docker、Helm、パッケージマネージャー
必須依存関係 Kubernetes、kustomize、PostgreSQL 15 なし(SQLite 同梱)
推奨最小 RAM 8 GB 512 MB
推奨最小 CPU 4 コア 1 コア
単一バイナリインストール
Windows サポート
インストール時間 数時間 数分

機能比較

どちらも中核の流れをカバーします。自動化の定義、インベントリと認証情報の設定、タスク実行、ログ閲覧です。全体の機能セットでの比較は次のとおりです。

機能 AWX Semaphore UI
Ansible プレイブック
Terraform / OpenTofu ❌(Ansible モジュール経由のみ) ✅ ネイティブ
Bash / シェルスクリプト ❌(プレイブック経由のみ) ✅ ネイティブ
Python スクリプト ❌(プレイブック経由のみ) ✅ ネイティブ
PowerShell
REST API ✅ フル ✅ フル
スケジューリング
Cron 式
インベントリ管理
動的インベントリ ✅(組み込みプラグイン) ✅(Ansible 経由)
RBAC ✅ 細かい粒度 ✅ ロールベース(4 段階)
LDAP ✅ エンタープライズ
SAML
OpenID Connect / OAuth2 ✅(10 以上のプロバイダー)
2FA(TOTP) ✅ Pro
実行環境 ✅(コンテナ分離) ✅(ランナー)
分散ランナー ✅(グローバル + プロジェクト単位)
Webhook 連携
通知 ✅(メール、Slack など) ✅(Slack、Teams、Telegram、メール、Rocket.Chat、Gotify)
監査ログ
高可用性 ✅ エンタープライズ
承認ワークフロー ✅(Terraform plan/apply)
Terraform HTTP バックエンド ✅ Pro
HashiCorp Vault 連携
AI アシスタント(MCP)
マルチツールワークフロー
組み込み Swagger UI
オープンソースライセンス Apache 2.0 MIT
エンタープライズサポート AAP 経由(年約 13k ドル〜) アドオンとして提供

自動化の範囲

AWX は Ansible 中心です。すべてがプレイブックを走らせるジョブテンプレートの周りにあります。cloud.terraform コレクションでプレイブック内に Terraform を入れることは技術的には可能ですが、統合のつじつま合わせに近く、Terraform の state、ワークスペース、plan/apply の承認は AWX のネイティブ概念ではありません。

Semaphore は Ansible、Terraform、Bash、Python、PowerShell を第一級の実行タイプとして扱います。テンプレート作成時にタイプを選び、UI・変数・承認フローがそれに合わせます。構成に Ansible、プロビジョニングに Terraform を使う場合も、同じ画面からワークアラウンドなしで管理できます。

Ansible だけなら大きな差はありません。多くの現場のようにツールを混ぜるなら、差は意味を持ちます。

アクセス制御

どちらもロールベースのアクセス制御を持ちますが、実装が異なります。

AWX はオブジェクト単位の細かい権限があります。特定のジョブテンプレート、インベントリ、認証情報に、ユーザーを個別に割り当てられます。監査ロールはすべて閲覧でき、変更はできません。RBAC は LDAP や SAML から同期できます。

Semaphore の RBAC はプロジェクトスコープで、Owner、Manager、Task Runner、Guest の 4 ロールです。Owner と Manager が設定を管理し、Task Runner はタスク実行のみ、Guest は読み取り専用です。多くのチーム構成を、過度な複雑さなしにカバーします。

規制上、監査者のきめ細かいアクセスが必要なら AWX のモデルが表現力があります。「自動化を設定する人」と「実行する人」を分けたいだけなら、Semaphore のモデルで十分で、運用もずっと簡単です。

チームと組織の規模

AWX は大企業を想定して設計されています。Organizations、Teams、オブジェクト単位の権限はエンタープライズの階層を反映します。事業部をまたいで数百ユーザーを扱うなら、AWX の権限モデルが制御を与えます。

Semaphore はプロジェクトを主な分離境界にします。各プロジェクトにインベントリ、テンプレート、シークレット、チームがあります。複数チーム向けに Semaphore Pro は Project Runners を追加し、プロジェクトごとに隔離された実行環境を割り当てます。ニューヨークのランナーはニューヨークのインフラ、フランクフルトはフランクフルトを扱います。異なるプロジェクトのタスクは実行環境を共有しません。

プロジェクト境界がはっきりした最大約 100 名規模のチームでは、Semaphore のモデルは扱いやすく保てます。数十チームと重なる権限を持つ全社プラットフォームでは、AWX の粒度がオーバーヘッドに見合うことがあります。

メンテナンスとサポートの現実

どちらを使うにも、居心地の悪い話です。

AWX のコミュニティサポートとは、SLA なし、脆弱性への明確なコミットなし、互換性の保証なしを意味します。 Red Hat 自身も、AWX を本番システムの管理に使うことは企業にとって「リスクになり得る」と述べています。このツールは Automation Controller の開発プレビューとして理解するのが近く、コミュニティのバック付き本番プラットフォームではありません。壊れたら自分で対処です。

現在のリリース停止は不確実性を増します。2024 年 7 月以降リリースがなければ、18 か月以上バグ修正もセキュリティパッチも新機能もありません。今日 AWX を本番で動かしているなら、積極的メンテナンスのないソフトウェアを運用していることになります。

Semaphore のコミュニティサポートもコミュニティですが、プロジェクトは活発に開発され、リリースも頻繁です。Pro とエンタープライズでは SLA 付きの有償サポート(標準 12 時間、緊急オプションあり)があります。応答時間の保証が必要なら、その道があります。

どちらも無料で Red Hat 級のエンタープライズ保証はありません。違いは、Semaphore は前進しており、明確な有償エスカレーションがあること。AWX は AAP の価格帯より下の商業オプションなしに、持ち越し状態にあることです。

AWX が向いている場合

次のようなら AWX が適しています。

  • すでに Kubernetes を運用しており、その運用コストがプラットフォームに吸収されている。
  • SAML 認証が必要 — Semaphore が現時点でサポートしていないのはこのプロトコルだけ。
  • 自動化が 100% Ansible で、最終的に AAP になるものの上流版が欲しい。
  • AAP を評価しており、商用契約の前に UI に慣れたい。
  • オブジェクトレベルの RBAC が必要 — プロジェクト全体ではなく特定のプレイブックだけに権限を付けたい。
  • AAP への移行を計画しており、設定の移植性が欲しい(AWX と AAP は同じデータモデル)。

Semaphore UI が向いている場合

次のようなら Semaphore が適しています。

  • Kubernetes を使っていない(Ansible の UI のためにだけ立てたくない)。
  • Ansible 以外も使う — Terraform、Bash、Python、PowerShell、OpenTofu がスタックにある。
  • リソースが限られている — 1 CPU・1GB RAM の VM で足りる。
  • Windows が必要 — Semaphore は Windows でネイティブ動作、AWX はしない。
  • CLI に触れずに自動化を走らせる非技術者がチームにいる。
  • コストで AAP や Tower を置き換える — Semaphore Pro は月 15 ドル〜、AAP は年約 13,000 ドル。
  • Terraform の HTTP バックエンドが必要 — Semaphore Pro がネイティブ提供。
  • 予測可能なメンテが欲しい — 活発なリリース、明確なロードマップ、5 桁コミット不要の有償サポート。

コストの現実

AWX は無料ですが、コストゼロではありません。Kubernetes はインフラの複雑さと運用負荷を増やします。もともとクラスタがなければ、AWX のためだけに立ち上げるのは、エンジニア時間とクラウドリソースの実コストになります。

Semaphore のオープンソース層は本当に無料で、小さな VM かコンテナ以上のインフラオーバーヘッドはほぼありません。Pro は月 15 ドルから。エンタープライズは個別見積もりですが、AAP の入り口価格とは別カテゴリです。

Semaphore Pro の代替が Ansible Automation Platform なら、計算は単純です。Semaphore のエンタープライズでも、AAP のライセンス費用の一部に留まります。

まとめ

AWX と Semaphore UI はどちらも真っ当なオープンソースプロジェクトです。どちらもペーパープロダクトではなく、本番導入実績があります。選び方は制約次第です。

Kubernetes に投資済み、SAML が必要、AAP を目指すなら AWX。

10 分で入れて、Ansible 以外も扱い、明確なサポート経路付きで積極的にメンテされているものが欲しければ Semaphore UI。

今 AWX を検討していて Kubernetes 要件やインストールの重さに引っかかるなら、その摩擦は実在し、スキル不足ではありません。決める前に Semaphore を直接比較する価値があります。

You might also like