第6章 Automation Controller の WebSocket 接続の設定

WebSocket の設定を nginx またはロードバランサー設定に合わせるために、Automation Controller を設定できます。

6.1. コントローラーの自動化用の WebSocket 設定

Automation Controller ノードは、WebSocket を介して他のすべての Automation Controller ノードに接続されます。この相互接続では、WebSocket が出力されたメッセージをすべて他の Automation Controller ノードに分散するために使用されます。これは、任意のブラウザークライアントの WebSocket が、どの Automation Controller ノードで実行している可能性のあるジョブにサブスクライブできるためです。WebSocket クライアントは特定の Automation Controller ノードにルーティングされません。すべての Automation Controller ノードは、任意の WebSocket 要求を処理でき、各 Automation Controller ノードは、すべてのクライアント宛てのすべての WebSocket メッセージを把握しておく必要があります。

Automation Controller は、データベースのインスタンスレコードを使用して、他の Automation Controller ノードの検出を自動的に処理します。

重要
  • (オープンインターネットではなく) ノードがプライベートで信頼されるサブネットに WebSocket トラフィックをブロードキャストしていることが意図されています。そのため、WebSocket ブロードキャストの HTTPS をオフにすると、Ansible Playbook の標準出力 (stdout) の大部分で構成される WebSocket トラフィックは、暗号化されない Automation Controller ノード間で送信されます。

6.1.1. 他の Automation Controller ノードの自動検出の設定

WebSocket 接続を設定して、Automation Controller がデータベースのインスタンスレコードを使用して他の Automation Controller ノードの検出を自動的に処理できるようにします。

  • ポート、プロトコル、および WebSocket 接続の確立時に証明書を検証するかどうかについて、Automation Controller の WebSocket 情報を編集します。

    BROADCAST_WEBSOCKET_PROTOCOL = 'http'
    BROADCAST_WEBSOCKET_PORT = 80
    BROADCAST_WEBSOCKET_VERIFY_CERT = False