第6章 簡易イベントルーティング
簡易イベントルーティングを使用すると、Event-Driven Ansible Controller でイベントストリームを使用してさまざまなリモートシステムからデータをキャプチャーおよび分析できます。イベントストリームを使用すると、GitHub や GitLab などのリモートシステムから Event-Driven Ansible Controller にイベントを送信できます。ルールブック内のソースを交換することで、アクティベーションに 1 つ以上のイベントストリームを割り当てることがきます。
イベントストリームは、ソースをルールブックに接続する簡単な方法です。この機能を使用すると、1 つのエンドポイントを作成してイベントソースからアラートを受信し、複数のルールブックでイベントを使用できます。
6.1. イベントストリーム
イベントストリームは、リモートシステムから Event-Driven Ansible Controller にイベントを送信できます。一般的なセットアップでは、サーバーからインターネット経由でイベントストリームにデータを送信し、さらに Event-Driven Ansible イベントストリームレシーバーに送信します。データをインターネット経由で送信する場合、要求を認証する必要があります。Webhook ベンダーまたはリモートシステムによって、認証方法が異なる場合があります。
Event-Driven Ansible Controller は、7 つの異なるイベントストリームタイプをサポートしています。
型 | 説明 | ベンダー |
---|---|---|
HMAC | Hashed Message Authentication Code (HMAC)。Event-Driven Ansible Controller とベンダーの Webhook サーバー間の共有シークレットを使用します。これによりメッセージの整合性が保証されます。 | GitHub |
Basic 認証 | HTTP Basic 認証を使用します。 | Datadog、Dynatrace |
トークン認証 | トークン認証を使用します。通常、HTTP ヘッダーは Authorization ですが、Gitlab などの一部のベンダーは X-Gitlab-Token を使用します。 | Gitlab、ServiceNow |
OAuth2 | クライアントクレデンシャル と呼ばれる付与タイプで Machine-to-Machine (M2M) モードを使用します。トークンは不透明です。 | Dynatrace |
JWT を使用した OAuth2 | クライアントクレデンシャル と呼ばれる付与タイプで M2M モードを使用します。トークンは JSON Web Token (JWT) です。 | Datadog |
ECDSA | Elliptic Curve Digital Signature Algorithm | SendGrid、Twilio |
相互 TLS | 起動時にベンダーの CA 証明書がサーバーに存在している必要があります。これは否認防止をサポートしています。 | PagerDuty |
Event-Driven Ansible Controller は、7 つの基本的なイベントストリームタイプに基づく 4 つの他の特殊なイベントストリームもサポートしています。
- GitLab Event Stream
- GitHub Event Stream
- ServiceNow Event Stream
- Dynatrace Event Stream
これらの特殊なタイプでは、デフォルト値が追加されているため、使用するパラメーターが制限されます。たとえば、GitHub Event Stream は、HMAC Event Stream を特殊化したものであり、多くのフィールドがあらかじめ入力されています。GitHub Event Stream の認証情報を保存すると、GitHub Event Stream の推奨デフォルト値が表示されます。