第10章 簡易イベントルーティング
簡易イベントルーティングを使用すると、Event-Driven Ansible Controller でイベントストリームを使用してさまざまなリモートシステムからデータをキャプチャーおよび分析できます。イベントストリームを使用すると、GitHub や GitLab などのリモートシステムから Event-Driven Ansible Controller にイベントを送信できます。ルールブック内のソースを交換することで、アクティベーションに 1 つ以上のイベントストリームを割り当てることができます。
イベントストリームは、ソースをルールブックに接続する簡単な方法です。この機能を使用すると、1 つのエンドポイントを作成してイベントソースからアラートを受信し、複数のルールブックでイベントを使用できます。
10.1. イベントストリーム リンクのコピーリンクがクリップボードにコピーされました!
イベントストリームは、リモートシステムから Event-Driven Ansible Controller にイベントを送信できます。一般的なセットアップでは、サーバーからインターネット経由でイベントストリームにデータを送信し、さらに Event-Driven Ansible イベントストリームレシーバーに送信します。データをインターネット経由で送信する場合、要求を認証する必要があります。Webhook ベンダーまたはリモートシステムによって、認証方法が異なる場合があります。
Event-Driven Ansible Controller は、6 つの異なるイベントストリームタイプをサポートしています。
| 型 | Description | ベンダーの例 |
|---|---|---|
| ハッシュメッセージ認証コード(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) | 公開鍵と秘密鍵のペアを使用して、メッセージの信頼性を検証します。送信者は秘密鍵でメッセージに署名し、受信側(EDA コントローラー)は公開鍵で検証します。 | SendGrid、Twilio |
| 相互トランスポート層セキュリティー | Event-Driven Ansible Controller とクライアント間の双方向認証を、イベントストリームを使用してイベントを送信するようにします。これには、2 つのサブタイプがあります。
起動時にベンダーの CA 証明書がサーバーに存在している必要があります。これは否認防止をサポートしています。 | PagerDuty |
ロードバランサーで mTLS イベントストリームを使用している場合は、ロードバランサー設定で SSL パススルー(または L4 ルーティング)を有効にする必要があります。
これは、mTLS の SSL 終端とクライアント証明書の検証はプラットフォームゲートウェイプロキシーサーバーで発生する必要があるため必要です。SSL パススルーの有効化に関する詳細は、ロードバランサーのドキュメントを参照してください。
Event-Driven Ansible Controller は、6 つの基本的なイベントストリームタイプに基づく 4 つの他の特殊なイベントストリームもサポートしています。
- GitLab イベントストリーム
- GitHub イベントストリーム
- ServiceNow イベントストリーム
- Dynatrace イベントストリーム
これらの特殊なタイプでは、デフォルト値が追加されているため、使用するパラメーターが制限されます。たとえば、GitHub イベントストリームは、多くのフィールドがすでに入力されている HMAC イベントストリームを特化したものです。GitHub イベントストリームの認証情報が保存されると、このイベントストリームの推奨デフォルトが表示されます。