• 6 min read

Project Flash で Azure 仮想マシンの可用性の監視を進化させる

本日、このプロジェクトの最初の 2 つのマイルストーン、Azure Resource Graph における VM の可用性データのプレビューと、Azure Monitor における VM の可用性メトリックのプライベート プレビューが達成されたことを発表いたします。

Advancing Reliability ブログ シリーズは 4 年目を迎えましたが、組織が Azure 上でワークロードを確実に実行できるようにすることは、常に Microsoft の最優先事項の 1 つです。Microsoft は、これを日々達成するために、Azure プラットフォームの進化に対し継続的に投資しています。お客様が仮想マシン (VM) の可用性を堅牢かつ包括的な方法で監視できるようにする機能は、お客様のアプリケーションの可用性と回復性を確保するために最も重要です。本日の投稿に向けて、Azure Core Platform Fundamentals Engineering チームのプログラム マネージャーである Pujitha Desiraju に、VM 可用性監視のための最新の監視の強化、および最高の監視エクスペリエンスを提供するための投資計画について語ってもらいました。」 - Mark Russinovich (CTO、Azure)


 

この投稿は、Gaurav Jagtiani (プリンシパル ソフトウェア エンジニアリング マネージャー) によって共同編集されました。

社内で Flash と呼ばれているプロジェクトは、Azure の仮想マシン (VM) 可用性監視エコシステムを進化させ、お客様が特定の監視のニーズを満たすために信頼できる、一元的で全体的、かつ分かりやすいソリューションにすることを目的とした、Azure Engineering 全体の取り組みのコレクションです。本日、このプロジェクトの最初の 2 つのマイルストーン、Azure Resource Graph における VM の可用性データのプレビューと、Azure Monitor における VM の可用性メトリックのプライベート プレビューが達成されたことを発表いたします。

Project Flash とは

Project Flash の名前の由来は、効率的なアプリケーション パフォーマンスのための重要な前提条件である、仮想マシン (VM) の可用性を可能な限り包括的に監視するための堅牢かつ迅速な方法を構築する、という Microsoft のコミットメントにあります。Microsoft の使命は、お客様が以下のことを確実に行えるようにすることです。

  • VM の可用性障害 (VM のリブートや再起動のほか、ネットワーク ドライバーの更新によるアプリケーションのフリーズ、30 秒間のホスト OS の更新など) に関する正確で実用的なデータ、および障害の詳細 (プラットフォームのものかユーザー操作によるものか、リブートかフリーズか、計画的か非計画的かなど) の入手。
  • VM の可用性の傾向を分析してアラートを生成し、迅速なデバッグと前月比のレポート作成を実現する。
  • データを定期的かつ大規模に監視し、カスタム ダッシュボードを作成して、すべてのリソースの最新の可用性状態について常に最新の情報を提供する。
  • 影響を受けた VM、ダウンタイムの原因および期間、結果的な修正などの詳細を示す自動根本原因分析 (RCA) を受け取り、ターゲットを絞った調査および事後分析を行えるようにする。
  • VM の可用性に重大な変化があった場合、即座に通知を受け取り、迅速に修復アクションをトリガし、エンドユーザーへの影響を防止する。
  • 刻々と変化するワークロードの感度やフェールオーバーのニーズに基づき、プラットフォームの回復ポリシーを動的に調整し、自動化する

これらの目標を念頭に置き、Microsoft は実行戦略を 2 つに分けました。現在の重要なニーズを満たすための短期的なフェーズと、最高の VM 可用性監視エクスペリエンスを提供するための長期的なフェーズです。この 2 段階のアプローチにより、継続的にギャップを埋め、サービス品質を向上させ、各段階におけるお客様からのフィードバックから学ぶことができます。

新しい監視オプションの発表

最初のフェーズでは、Microsoft はさまざまな監視ニーズに対応するために、VM 可用性データへの便利なアクセスを可能にするさまざまなオプションを提供します。Microsoft は、Resource Healthアクティビティ ログのような既存のすべての機能とソリューションにおいて、同様の厳格な品質基準でデータの一貫性を維持し、お客様が選択したソリューションに依存しない一貫したビューを提供することを目標としています。

VM の可用性に対応した大規模分析の導入

本日、Microsoft は Project Flash の最初のマイルストーンとして、Azure Resource Graph における VM の可用性の状態をプレビューでリリースしました。

Azure Resource Graph は広く採用されている Azure のサービスの 1 つで、1 度に多くのサブスクリプションに対して低待機時間でクエリを実行できる効率的な機能を備えています。現在、Azure Resource Graph の Health Resources テーブルに VM の可用性状態 (使用可能、使用不可、不明) が出力されており、お客様は、大規模データセットを同時にふるい分けるための複雑な Kusto Query Language (KQL) クエリを実行することができます。この機能は、VM 可用性の過去の変化を追跡したり、カスタム ダッシュボードを構築したり、複数のテーブルにまたがる多数のリソース プロパティを詳細に調査したりするのに便利です。

Azure Resource Graph Explorer ウィンドウ (クエリと結果): HealthResources テーブルからのデータ取得のデモンストレーション。

図 1:Azure Resource Graph エクスプローラー ウィンドウ (クエリと結果): HealthResources テーブルからのデータ取得のデモンストレーション。

今年後半には、Azure Resource Graph の Health Resources テーブルに、障害の詳細とデグレードした VM のシナリオが追加される予定です。これらの詳細により、お客様は障害の原因と影響について適切な情報を得ることができ、フェールオーバー、リブートの実施、またはエンドユーザーへの影響を防ぐための適切な緩和策を講じることができます。

Azure portal の Azure Resource Graph エクスプローラーに移動して、Health Resources テーブルに対して公開されている KQL クエリのいずれかを使用して開始します。

Azure Monitor に VM 可用性メトリックを導入

また、Azure Monitor の標準 VM 可用性メトリックのプライベート プレビューが発表され、精密なメトリックの警告と監視を行うことができるようになりました。

Azure Monitor のメトリックは、迅速かつ容易なデバッグのための VM 可用性の時系列表現の監視と分析、懸念される傾向に関する範囲が特定されたアラートの受信、可用性低下の初期指標のキャッチ、他のプラットフォームのメトリックとの関連付けなどに最適です。

このメトリックにより、お使いの VM のパルスを追跡することができます。予想される動作の間は、メトリックは 1 の値を示します。VM の可用性の中断に対応するために、メトリックは影響がある期間中は 0 になります。Azure インフラストラクチャが停止した場合、null が表示され、ポータル上で点線として表されます。

Azure portal のメトリック エクスプローラーに表示される VM の可用性メトリックのスクリーンショット。VM の可用性の低下を反映し、一時的な低下が見られます。

図 2:Azure portal のメトリック エクスプローラーに表示される VM の可用性メトリックのスクリーンショット。VM の可用性の低下を反映し、一時的な低下が見られます。

Microsoft はロールアウト計画のフェーズ 1 として、メトリックのプライベート プレビューをリリースしました。現在、お客様からのフィードバックを収集し、さらなるサービスの向上に努めています。来年には、メトリックのディメンションやプラットフォームのログなどの障害の詳細を追加し、インパクトのある障害シナリオに対して的確にアラートを発することができるようにする予定です。

近日提供予定

上記で紹介した 2 つの監視オプションは、Project Flash の始まりに過ぎません。今後も、データの品質や障害の属性を改善することで、既存のソリューションにさらに磨きをかけていく予定です。それと並行して、お客様の待機時間と軽減策のニーズを満たすために、Microsoft は2 つの新しい監視サービスを設計しています。また、障害検知の耐障害性と包括性を高めるために、基盤となるプラットフォームにも大規模な投資を行っています。

瞬時に通知する Azure Event Grid

ビジネスクリティカルなアプリケーションを正常に実行するには、VM の可用性に影響を与えるあらゆるイベントを認識し、エンド ユーザーへの影響を防ぐために即座に修復アクションをトリガできるようにする必要があります。お客様の日常業務をサポートするために、Microsoft は Azure Event Grid の低遅延技術を活用した通知メカニズムを設計する予定です。これにより、お客様は Event Grid のシステム トピックをサブスクライブするだけで、イベント ハンドラーを介してスコープ付きイベントを任意の下流ツールに瞬時にルーティングすることができます。

プラットフォーム復旧ポリシーの自動化と調整

VM の可用性監視を改善するために多くの投資が行われています。そして、Project Flash は、VM の可用性が中断した場合にプラットフォームによってトリガされる復旧ポリシーをカスタマイズするためのスイッチを提供することで、さらにお客様を支援できるようにすることを目的としています。

私たちが設計しているそのようなスイッチの 1 つは、特定の予期しない可用性の中断に対応して、シングル インスタンスの VM のサービス復旧をオプトアウトする機能です。このスイッチはポータルを通じて、または VM のデプロイ時に利用可能になる予定で、動的に更新されます。この機能を利用すると、通常の Azure 仮想マシンの可用性 SLA が無効になることに注意してください。

将来的には、他の適用可能な回復ポリシー (Live MigrationTardigrade など) をオプトアウトするスイッチの導入を検討し、刻々と変化する軽減策についてのニーズに容易に対応できるようにする予定です。

プラットフォーム品質への継続的な投資

最初のフェーズは、お客様の現在の監視ニーズを満たすように設計されていますが、Microsoft は、VM 可用性に関する世界レベルの監視エクスペリエンスを提供するという長期的な目標に焦点を当て続けています。Microsoft は、このエクスペリエンスに貢献するすべてのデータの充実と技術の進歩に非常に期待しています。そこで、Microsoft が計画している投資のロードマップをいち早くご紹介します。

  1. 障害検出と帰属: Microsoft は、障害発生を正確かつ瞬時に検知するために、基盤となるインフラストラクチャを継続的に進化させています。これにより、不明または欠落のある正常性状態レポートを減らし、対処可能な障害詳細を発信し、プラットフォームの復旧カスタマイズに対応することができます。これは、Microsoft が毎サイクル繰り返し行っている最も重要な投資分野です。
  2. 根本原因分析 (RCA) の自動化: Microsoft は、VM のダウンタイムごとに簡単に追跡できるメカニズムを実装し、ダウンタイムの詳細な RCA ステートメントを自動的に構築して発行することで、お客様側での手動追跡とチャーンを削減することを計画しています。
  3. AIOps の統合: Microsoft は、VM の可用性に関する多数のデータ ポイントについて、スマートな分析情報と異常検知および診断を可能にするために、Microsoft の AIOps で行われている優れたな進歩を活用することを検討しています。
  4. 一元化され統合されたユーザー エクスペリエンス: この短期的なアプローチの結果、Microsoft のさまざまなサービスにおいて、複数の監視、アラート、および回復ツールが存在し、お客様にとって混乱や異なるエクスペリエンスにつながる可能性があることを認識しています。この問題は、最終フェーズで解決する見込みです。私たちの最終的な目標は、エンドユーザーが VM の可用性について明確で必要な表現にアクセスでき、Azure Monitor に統合され、発見しやすく、使いやすく、直感的なオンボードのために共通の使用パターンに従って分類されたものを提供することです。

さらに学ぶ

長期的な戦略の一環として、さらに充実させる予定ですので、このリストは決して完全なものではありません。繰り返しになりますが、Microsoft が Project Flash で目指しているのは、VM の可用性を極めて直感的、包括的、かつシームレスに監視できるようにすることです。そのようにして、ワークロードの正常性の変化に対して常に準備し、情報を得ることができ、最終的にはご自身の SLA とビジネス上の約束を維持することができるのです。

Microsoft は、このようなブログを通じて、Project Flash の最新情報をお伝えしていきます。どうぞご期待ください!