Event Grid が新しくなり、より安定したイベント駆動アプリケーションが Azure に登場

2月 19, 2019 に投稿済み

Program Manager, Event Grid

今回は、クラウド アプリケーション アーキテクチャのコアな構成要素であるイベント駆動プログラミングの登場をお知らせいたします。次の機能が一般に利用できるようになったことで、より高度で、高性能で、安定したイベント駆動アプリケーションを Azure で構築できるようになります。これまでプレビュー公開だった次の機能が、いよいよ一般提供されます。

  1. 配信不能
  2. 再試行ポリシー
  3. 送信先としてのストレージ キュー
  4. 送信先としてのハイブリッド接続
  5. 手動の検証ハンドシェイク

一般提供されたこれらの機能を最大限に活用するには、2019-01-01 API と SDK を使用してください。Azure portal または CloudShell を使用している場合は、既に準備ができています。CLI または PowerShell を使用している場合は、CLI のバージョンが 2.0.56 以降、PowerShell のバージョンが 1.1.0 以降であることを確認してください。

配信不能

配信不能は、ミッションクリティカルなシステムでイベントを少なくとも 1 回は受け取ることを保証するものです。配信不能の送信先を設定することで、イベント ハンドラーが停止したり、認可が失敗したり、エンドポイントのバグが大量に発生した場合でも必ずメッセージを受け取ることができます。

配信不能によりすべてのイベント サブスクリプションをストレージ アカウントに接続できるため、主要なイベント パイプラインでエラーが発生した場合でも、Azure Event Grid がイベントを使用するストレージ アカウントにいつでも配信できます。

再試行ポリシー

再試行ポリシーにより、一時エラー発生時の主要なイベント パイプラインがより堅牢になります。配信不能ではシステム障害が長時間にわたる場合に対応策が講じられますが、分散システムでは一時的な停止のみ発生することの方が多くなります。

再試行ポリシーを構成することで、イベントが配信不能になるかドロップされるまでにイベントを何回またはどれくらいの時間、再試行するかを設定できます。場合によっては、どれだけ遅くなっても何度もイベントを再試行し続けなければならないこともあります。その一方で、古くなったイベントは価値がなくなるため、すぐにドロップした方がいいこともあります。再試行ポリシーでは最も適した配信スケジュールを選択できます。

送信先としてのストレージ キュー

Event Grid ではイベントを Azure Storage Queue に直接プッシュすることができます。イベントのイングレスをイベント ハンドラーにバッファーして、適切にスケールアップする必要がある場合、キューは強力なイベント ハンドラーになります。同様に、イベント ハンドラーでアップタイムを保証できない場合、合間にストレージ キューを置くことでイベントを保持し、イベント ハンドラーの準備ができたときに処理することができます。

ストレージ キューには Event Grid イベントの仮想ネットワーク (VNet) 挿入を可能にする VNet 統合も含まれています。VNet 内にあるイベント ハンドラーにイベント ソースを接続する必要がある場合は、Event Grid にストレージ キューを発行してから、キューを介して VNet でイベントを消費するように伝えることができます。

送信先としてのハイブリッド接続

イベントのクラウド リソースへの接続中にビルドとデバッグをローカルに行ったり、HTTP エンドポイントを公開できないオンプレミスのサービスを設定したり、ロックダウンされたファイアウォールの背後から操作したりする必要がある場合は、ハイブリッド接続を使用してそのリソースを Event Grid に接続することができます

イベント ハンドラーとしてのハイブリッド接続では Event Grid が接続する HTTP エンドポイントが与えられます。また、ローカルのリソースから同じハイブリッド接続インスタンスへの送信 WebSocket 接続を行うこともできます。その後、ハイブリッド接続は、受信したイベントをイベント グリッドからオンプレミスのリソースにリレーします。

手動の検証ハンドシェイク

所有者のエンドポイント証明を提供するためにすべてのイベント ハンドラーがその HTTP 応答をカスタマイズできるわけではありません。手動の検証ハンドシェイクによって、コピー/貼り付けと同じくらい簡単に自分がエンドポイントで認可された所有者であることを証明できます。

Event Grid のサブスクリプションを登録すると、検証コードのあるエンドポイントに対して検証イベントが送信されます。検証コードをエコーバックすることで検証イベントに応答することもできますが、それが不便な場合は、イベントに含まれている検証 URL をコピーして任意のブラウザーに貼り付け、エンドポイントを検証できるようになりました。エンドポイントで GET を実行すると所有権の証明が検証されます。

このニュースへのご意見、ご感想をお待ちしております。

Azure Event Grid チーム