5.3. 自動化コントローラー Websocket 接続の設定

Websocket の設定を nginx またはロードバランサー設定に合わせるために、自動化コントローラーを設定できます。

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

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

{ControllerNameStart} は、データベースのインスタンスレコードを使用して、他の自動化コントローラーノードの検出を自動的に処理します。

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

5.3.1.1. 他の自動化コントローラーノードの自動検出の設定

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

  • ポート、プロトコル、および Websocket 接続の確立時に証明書を検証するかどうか、自動化コントローラー Websocket 情報を編集します。

    BROADCAST_WEBSOCKET_PROTOCOL = 'http'
    BROADCAST_WEBSOCKET_PORT = 80
    BROADCAST_WEBSOCKET_VERIFY_CERT = False