次の方法で共有


Azure Kubernetes Service の Azure HDInsight での信頼性

この記事では、Azure Kubernetes Service (AKS) 上の Azure HDInsight での信頼性のサポートについて説明し、具体的な信頼性に関する推奨事項ディザスター リカバリーとビジネス継続性の両方について取り上げます。 Azure における信頼性の原則の詳細については、Azure の信頼性に関するページを参照してください。

信頼性に関する推奨事項

このセクションには、Azure Virtual Machines の回復性と可用性を実現するためのレコメンデーションが含まれています。 各レコメンデーションは、次の 2 つのカテゴリのいずれかに分類されます:

  • 正常性項目には、構成項目などの領域と、Azure リソースの構成設定、他のサービスへの依存関係など、Azure ワークロードを構成する主要コンポーネントの適切な機能をカバーします。

  • リスク項目は、可用性と回復の要件、テスト、監視、デプロイ、その他の項目など、未解決のままである場合に環境で問題が発生する可能性が高まる領域をカバーします。

信頼性に関する推奨事項の優先順位マトリックス

各推奨事項は、次の優先順位マトリックスに従ってマークされます。

Image 優先度 説明
直ちに修正が必要です。
Medium 3 から 6 か月以内に修正してください。
確認が必要です。

信頼性に関する推奨事項の概要

カテゴリ Priority 推奨事項
可用性 既定および最小の仮想マシン サイズの推奨事項
HDInsight on AKS クラスターの自動スケーリング
監視 Log Analytics との統合方法
Azure Managed Prometheus と Grafana による監視
セキュリティ NSG を使用して HDInsight on AKS へのトラフィックを制限する

可用性ゾーンのサポート

Azure 可用性ゾーンとは、各 Azure リージョン内にある、3 つ以上に物理的に分離されたデータセンターのグループです。 各ゾーン内のデータセンターには、独立した電源、冷却手段、ネットワーク インフラストラクチャが備わっています。 ローカル ゾーンの障害が発生した場合、可用性ゾーンは、1 つのゾーンが影響を受けたときに、リージョンのサービス、容量、高可用性が残りの 2 つのゾーンによってサポートされるように設計されています。

障害の範囲は、ソフトウェアやハードウェアの障害から、地震、水害、火災などの事象に至る可能性があります。 Azure サービスの冗長と論理的な分離により、障害に対するトレランスが実現されます。 Azure の可用性ゾーンの詳細については、リージョンと可用性ゾーンに関する記事を参照してください。

Azure の可用性ゾーン対応サービスは、適切なレベルの信頼性と柔軟性を提供するように設計されています。 それらは 2 つの方法で構成できます。 それらは、ゾーン間の自動レプリケーションによるゾーン冗長、またはインスタンスを特定のゾーンにピン留めするゾーンベースのいずれかになります。 これらのアプローチを組み合わせることもできます。 ゾーン ベースとゾーン冗長のアーキテクチャを比較した詳細については、「可用性ゾーンとリージョンの使用に関する推奨事項」を参照してください。

AKS 上の Azure HDInsight は、Azure Kubernetes Service の機能を利用してゾーン冗長ノード プールを作成することで、可用性ゾーンをサポートしています。 クラスター プールとクラスターをどの可用性ゾーンにデプロイするかは、それらの作成時に選択できます。 クラスター プールまたはクラスターが作成された後に、可用性ゾーンを変更することはできません。

前提条件

  • 可用性ゾーンがサポートされているのは、クラスター プール バージョン >= 1.2 およびクラスター バージョン >= 1.2.1 でだけです。

  • AKS 上の Azure HDInsight には 1 つの既定の SKU しかなく、これが AZ をサポートするのは、その Azure リージョンに AZ のサポートが存在する場合だけです。

    以下のリージョンは AZ をサポートしていません。

    アメリカ ヨーロッパ 中東 アフリカ アジア太平洋
    米国西部 ドイツ北部
  • 一部の VM SKU は、リージョン内のすべての可用性ゾーンをサポートしていない場合があります。 そのような SKU を選択した場合、AKS クラスター プールやクラスター上の HDInsight も対応する可用性ゾーンをサポートしません。

SLA の機能強化

可用性ゾーンが有効になっている AKS クラスター上の Azure HDInsight に対する SLA の引き上げはありません。

可用性ゾーンが有効になっているリソースを作成する

  • クラスター プール: リージョンを選択した後、クラスター プールの作成時に 1 つ以上の可用性ゾーンを選択できます。

  • クラスター: クラスターの作成時に 1 つ以上の可用性ゾーンを選択できます。

フォールト トレランス

可用性ゾーンの障害に備えるためには、クラスターが 1 つの可用性ゾーンのダウンが原因の容量の喪失に耐えて、ゾーン全体の停止中にパフォーマンスが低下することなく機能し続けられるようにするために、サービスの容量を多めにプロビジョニングしておくことが推奨されます。 たとえば、3 つの可用性ゾーンを有効にすると、クラスターは 1/3 のノード (最も近い整数に切り上げられた数) のダウンに耐えられるはずです。

ゾーン ダウン エクスペリエンス

AKS サービス上の Azure HDInsight はゾーン冗長です。 利用者は、ゾーン全体の停止中、容量の低下によるパフォーマンスの低下があることを想定しておく必要があります。 利用者は、影響を受けていない可用性ゾーン内には引き続き新しいクラスター プールとクラスターを作成できます。 既存のクラスターは、容量が低下した状態で機能できます。 このドキュメントには、個々のオープン ソース ワークロードに関する推奨事項とベスト プラクティスが記載されています。

ディザスター リカバリーと事業継続

ディザスター リカバリー (DR) とは、ダウンタイムやデータ損失につながるような、影響の大きいイベント (自然災害やデプロイの失敗など) から復旧することです。 原因に関係なく、災害に対する最善の解決策は、明確に定義されテストされた DR プランと、DR を積極的にサポートするアプリケーション設計です。 ディザスター リカバリー計画の作成を検討する前に、「ディザスター リカバリー戦略の設計に関する推奨事項」を参照してください。

DR に関しては、Microsoft は共有責任モデルを使用します。 共有責任モデルでは、ベースライン インフラストラクチャとプラットフォーム サービスの可用性が Microsoft によって保証されます。 同時に、多くの Azure サービスでは、データのレプリケート、または障害が発生したリージョンから別の有効なリージョンにクロスレプリケートするフォールバックは、自動的には行われません。 それらのサービスについては、お客様がワークロードに適したディザスター リカバリー計画を設定する必要があります。 Azure PaaS (サービスとしてのプラットフォーム) オファリング上で実行されるほとんどのサービスには、DR をサポートするための機能とガイダンスが用意されており、お客様はサービス固有の機能を使って迅速な復旧をサポートでき、DR 計画の開発に役立ちます。

AKS コントロール プレーン サービス上の Azure HDInsight とデータベースは Azure の複数のリージョンにわたってデプロイされます。 これらのリージョンの中で、AKS 上の Azure HDInsight インスタンスとデータベース インスタンスは分離されています。 リージョン レベルで停止が発生すると、1 つのリージョンがダウンします。 このリージョン内のすべてのリソース。これには AKS コントロール プレーン上の Azure HDInsight の RP (リソース プロバイダー)、AKS コントロール プレーン上の Azure HDInsight のデータベース、このリージョン内のすべての顧客クラスターなどが含まれます。 この場合、リージョンの停止が終了するまで待つしかありません。 ゾーンの停止が完全に復旧すると、AKS サービス上の Azure HDInsight が復帰し、すべての顧客クラスターが正常に戻ります。 停止後にデータの不整合が原因でいくつかの問題が発生し、アプリケーションのワークロードに基づく手動修正が必要になる可能性があります。

複数リージョンのディザスター リカバリー

AKS 上の Azure HDInsight では現在、リージョン間フェールオーバーはサポートされていません。 複数リージョンにまたがる高可用性ディザスター リカバリーを使用してビジネス継続性を向上させるには、さらに複雑でコストの高いアーキテクチャ設計が必要とされます。 お客様は、異なるリージョン間で主要なデータとジョブの状態をバックアップするように独自のソリューションを設計することを選択できます。

停止の検出、通知、管理

  • AKS 上の HDInsight で Azure 監視ツールを使用して、クラスター内の異常な動作を検出し、対応するアラート通知を設定します。 Log Analytics をさまざまな方法で有効にして、監視のために Azure Grafana ダッシュボードで Managed Prometheus サービスを使用できます。 詳細については、Azure Monitor の統合に関するページを参照してください。

  • Azure の正常性アラートをサブスクライブして、サービスの問題と計画メンテナンスについて、および、サブスクリプション、サービス、またはリージョンの正常性とセキュリティに関するアドバイザリについての通知を受け取ります。 問題の原因と確定 ETA を含む正常性の通知は、フェールオーバーとフェールバックをより適切に実行するのに役立ちます。 詳細については、「サービスの正常性を管理する」と Azure Service Health のドキュメントを参照してください。

単一リージョンのディザスター リカバリー

現在、AKS 上の Azure HDInsight には標準サービス オファリングが 1 つだけあり、クラスターは単一リージョンの地域に作成されます。 利用者は、アプリケーションの要件に基づくディザスター リカバリー設定の責任を負います。

容量と予防的なディザスター リカバリーの回復性

AKS 上の Azure HDInsight とその利用者は、共有責任モデルの下で運用を行います。つまり、利用者は自分がデプロイして制御するサービスのディザスター リカバリー要件に対処する必要があります。 復旧がプロアクティブになるように、お客様は常にセカンダリを事前にデプロイする必要があります。お客様が事前に割り当てていない場合、障害が発生したときに容量が保証されないためです。

HDInsight とは異なり、AKS クラスター上の HDInsight 内で使用される仮想マシンには Azure VM と同じクォータが必要です。 詳細については、「容量計画」を参照してください。

この記事で説明した項目の詳細については、次を参照してください。