プロジェクト runner (Pro)
プロジェクト runner は、複数のサーバーにまたがる分散タスク実行を可能にする Semaphore Pro の強力な機能です。この機能により、Semaphore UI インスタンスとは別のサーバーでタスクを実行でき、セキュリティ、スケーラビリティ、リソース管理が向上します。

概要
プロジェクト runner は、GitLab や GitHub Actions の runner と同様の原理で動作します。
- runner は Semaphore UI とは別のサーバーにデプロイされます
- runner はセキュアなトークンを使用して Semaphore インスタンスに接続します
- タスクが作成されると、Semaphore は利用可能な runner にタスクを委任します
- runner はタスクを実行し、結果を Semaphore に報告します
利点
runner を使用すると、次のような重要な利点があ ります。
-
セキュリティの強化
- runner を隔離された環境や制限されたネットワークにデプロイできます
- 機密性の高い操作を管理された環境で実行できます
- UI と実行環境の間で関心事をより適切に分離できます
-
スケーラビリティの向上
- 複数のサーバーに負荷を分散できます
- 需要に応じて runner を追加または削除できます
- インフラストラクチャ全体でリソースをより効率的に利用できます
-
柔軟なデプロイ
- 対象のインフラストラクチャの近くに runner をデプロイできます
- 異なるネットワークゾーンでタスクを実行できます
- さまざまなデプロイモデル (オンプレミス、クラウド、ハイブリッド) に対応します
プロジェクト runner の使用
前提条件
runner を使用するには、次のものが必要です。
- Semaphore Pro のライセンス
- runner を実行するための別のサーバー
- runner と Semaphore UI 間のネットワーク接続
- Semaphore UI サーバーと runner サーバーの両方での適切な設定
runner の管理
runner は Semaphore UI から管理できます。
- プロジェクトの runner セクションに移動します
- 登録済みのすべての runner とそのステータスを確認します
- 必要に応じて runner を追加または削除します
- runner の正常性とパフォーマンスを監視します
セキュリティに関する考慮事項
- runner と Semaphore UI 間の通信には常に HTTPS を使用してください
- runner と Semaphore UI 間で適切なネットワークセキュリティを実装してください
- 機密性の高い操作には隔離された環境の使用を検討してください
ベストプラクティス
-
リソース計画
- ワークロードに合わせて runner のサイズを適切に設定する
- runner のリソース使用量を監視する
- 需要に応じて runner をスケールする
-
ネットワーク設定
- 適切なネットワーク接続を確保する
- ファイアウォールを適切に設定する
- セキュアな通信チャネルを使用する
-
メンテナンス
- runner のソフトウェアを定期的に更新する
- runner の正 常性を監視する
- 適切なロギングと監視を実装する
- runner の障害に備えたバックアップ戦略を用意する
-
セキュリティ
- 最小権限の原則に従う
- 適切なアクセス制御を実装する
- 定期的なセキュリティ監査を行う
- ソフトウェアを最新の状態に保つ