Project Flash - Azure Event Grid を使用して Azure 仮想マシンの可用性を監視する

Azure Event Grid は、Flash によって提供されるソリューションの 1 つです。 Flash は、お客様が仮想マシン (VM) の正常性を監視するための堅牢で信頼性の高い迅速なメカニズムを構築することに特化したプロジェクトの内部名です。

この記事では、Azure Event Grid システム トピックを使用した Azure 仮想マシンの可用性の監視について説明します。 Flash ソリューションの概要については、「Flash の概要」を参照してください。

Flash で提供されるその他のソリューションに特化したドキュメントは、次の記事から選択してください。

Azure Event Grid システム トピック - HealthResources

Bus Critical なアプリケーションのシームレスな運用を確保するには、VM の可用性に悪影響を与える可能性のあるイベントをリアルタイムで認識することが重要です。 この認識により、修復アクションを迅速に実行して、エンド ユーザーを中断から保護することができます。 毎日の運用をサポートするために、新しく追加された VM 可用性注釈を備えた HealthResources Event Grid システム トピックのパブリック プレビューをお知らせします。

このシステム トピックでは、VM の正常性データについて詳しく説明します。これにより、VM の可用性状態の変化と必要なコンテキストに関する分析情報がすぐに得られます。 このトピックが作成された Azure サブスクリプションの単一インスタンス VM と仮想マシン スケール セット VM でイベントを受信できます。 データは、堅牢なロールベースのアクセス制御 (RBAC) と高度なフィルター機能を備えた最新のパブリッシャー サブスクライバー サービスである Azure Resource Notifications (ARN) によって、このトピックにパブリッシュされます。 これにより、Event Grid システム トピックを簡単にサブスクライブし、Event Grid によって提供される高度なフィルター処理機能を利用して、関連するイベントをリアルタイムでダウンストリーム ツールにシームレスに送信できます。 これにより、問題に即座に対応して軽減することができます。

作業の開始

  • 手順 1: ユーザーは、まず、通知を受信する Azure サブスクリプション内にシステム トピックを作成します。
  • 手順 2: 続いて、ユーザーは、手順 1 のシステム トピック内でイベント サブスクリプションの作成に進みます。 この手順では、イベントのルーティング先となるエンドポイント (イベント ハブや Azure Monitor アラートなど) を指定します。 ユーザーは、イベント フィルターを構成して、配信されたイベントのスコープを絞り込むこともできます。

HealthResources システム トピックからイベントのサブスクライブを開始するときには、次のベスト プラクティスを検討してください。

  • 予想されるイベントのスケールとサイズに基づいて、適切な宛先またはイベント ハンドラーを選択します。
  • 複数のシステム トピックからの通知を統合する必要があるファンイン シナリオでは、イベント ハブを宛先とすることを強くお勧めします。 この方法は、データの鮮度を維持するリアルタイム処理シナリオや、構成可能な保持期間を使用した分析の定期的な処理で、特に役立ちます。
  • 新規: 正常性リソース イベントをサブスクライブして、新しい宛先として Azure Monitor アラートに送信できるようになりました。 ステップバイステップ ガイドについては、「正常性リソース イベントをサブスクライブして Azure Monitor アラートに送信する」を参照してください。

プレビューを本格的な一般提供機能に移行する予定があります。 プレビューの一環として、次のサンプル スキーマを使用して、VM の可用性状態の変化を対象としたイベントを生成します。

サンプル

{
 "id": "4c70abbc-4aeb-4cac-b0eb-ccf06c7cd102",
 "topic": "/subscriptions/,
 "subject": "/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines//providers/Microsoft.ResourceHealth/AvailabilityStatuses/current",
 "data": {
 "resourceInfo": {
 "id":"/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines//providers/Microsoft.ResourceHealth/AvailabilityStatuses/current",
 "properties": {
 "targetResourceId":"/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines/"
 "targetResourceType": "Microsoft.Compute/virtualMachines",
 "occurredTime": "2022-09-25T20:21:37.5280000Z"
 "previousAvailabilityState": "Available",
 "availabilityState": "Unavailable"
 }
 },
 "apiVersion": "2020-09-01"
 },
 "eventType": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusesChanged",
 "dataVersion": "1",
 "metadataVersion": "1",
 "eventTime": "2022-09-25T20:21:37.5280000Z"
 }

プロパティ フィールドは、ARG の microsoft.resourcehealth/availabilitystatuses イベントと完全に一致します。 Event Grid ソリューションは、ARG に存在するデータに対してほぼリアルタイムのアラート機能を提供します。

次のステップ

提供されるソリューションの詳細については、対応するソリューションの記事に進んでください。

Azure 仮想マシンを監視する方法の一般的な概要については、「Azure 仮想マシンの監視」および「Azure 仮想マシンの監視のリファレンス」を参照してください。