可用性ゾーンを使用する HDInsight クラスターを作成する

Azure HDInsight クラスターは、複数のノード (ヘッド ノード、ワーカー ノード、ゲートウェイ ノード、Zookeeper ノード) で構成されます。 既定では、Availability Zones がサポートされているリージョンで、どのクラスター ノードをどの可用性ゾーンにプロビジョニングするかをユーザーが制御することはできません。

この新しい可用性ゾーン機能により、ユーザーは HDInsight クラスターのすべてのノードをどの可用性ゾーンでホストするかを指定できるようになりました。 それらのクラスター ノードは別の可用性ゾーンから物理的に独立しており、同じリージョン内の他の可用性ゾーンの障害から分離されています。 このデプロイ モデルでは、クラスター内のネットワーク接続が低コストで低遅延にもなります。

このデプロイ モデルを複数の可用性ゾーンにレプリケートすることで、より高いレベルの可用性でハードウェア障害からの保護を実現できます。

この記事では、可用性ゾーン内に HDInsight クラスターを作成する方法や、この機能を使用して可用性を向上させる方法について説明します。

開始する前に

可用性ゾーン機能は、6 月 15 日より後に作成されたクラスターでのみサポートされます。 可用性ゾーンの設定は、クラスターの作成後は更新できません。 また、可用性ゾーンを使用するために、既存の非可用性ゾーン クラスターを更新することはできません。

前提条件とリージョンの使用可能性

前提条件:

  • クラスターは、カスタム VNet の下で作成する必要があります。
  • 独自の Ambari DB 用の SQL DB と外部メタストア (Hive メタストアなど) を持ち込んで、これらの DB を同じ可用性ゾーンに構成できるようにする必要があります。

現在、次のリージョンで、可用性ゾーンを使用して HDInsight クラスターを作成できます。

  • オーストラリア東部
  • ブラジル南部
  • カナダ中部
  • 米国中部
  • 米国東部
  • 米国東部 2
  • フランス中部
  • ドイツ中西部
  • 東日本
  • 韓国中部
  • 北ヨーロッパ
  • 東南アジア
  • 米国中南部
  • 英国南部
  • US Gov バージニア州
  • 西ヨーロッパ
  • 米国西部 2

HDInsight クラスターの可用性ゾーンの概要

可用性ゾーンは、リージョン内で一意の物理的な場所です。 それぞれのゾーンは、独立した電源、冷却手段、ネットワークを備えた 1 つまたは複数のデータセンターで構成されています。 Azure では、1 つのリージョンに 1 つ以上の可用性ゾーンがあります。 このように可用性ゾーンはリージョン内で物理的に分離されているため、データセンターで障害が発生してもアプリケーションとデータは保護されます。 詳しくは、Azure の可用性ゾーンの概要に関する記事をご覧ください。

Azure HDInsight クラスターは、1 つの可用性ゾーン内にデプロイするように構成できます。 この HDInsight クラスター内のすべてのノード (2 つのヘッド ノード、3 つの Zookeeper ノード、2 つのゲートウェイ ノード、ワーカー ノードを含む) は、指定された可用性ゾーンに配置されます。 たとえば、米国東部には 3 つの可用性ゾーンがあります。 米国東部で、すべてのノードを可用性ゾーン 1 に含めて HDInsight クラスターを作成することができます。

可用性ゾーンと HDInsight クラスターをこのように使用することには、パフォーマンスとコストの両面で利点があります。

  • 低遅延のネットワーク接続によるパフォーマンスの向上
  • 低コスト: 同じ可用性ゾーン内では、データ転送が無料です。 可用性ゾーンを超えたデータ転送では、追加のネットワーク コストが発生します。

アプリケーションで複数の可用性ゾーンにわたる高可用性が必要な場合は、1 つのプライマリ HDInsight クラスターを 1 つの可用性ゾーンに作成し、最小サイズのセカンダリ HDInsight クラスターを別の可用性ゾーンに作成して、コストを節約できます。 この設計では、残りの可用性ゾーンの 1 つがダウンした場合、この HDInsight クラスターには影響がありません。 この可用性ゾーンがダウンした場合、お客様は別の可用性ゾーン内のセカンダリ クラスターをプライマリに切り替え、ワークロードをこの新しいプライマリ クラスターにルーティングし、クラスター サイズをすばやくスケールアップしてデータ処理を再開する必要があります。

可用性ゾーンを使用して HDInsight クラスターを作成する

Azure Resource Manager (ARM) テンプレートを使用して、指定された可用性ゾーンで HDInsight クラスターを起動できます。

"resources" セクションで、'zones' のセクションを追加し、このクラスターをどの可用性ゾーンにデプロイするかを指定する必要があります。

   "resources": [
        {
            "type": "Microsoft.HDInsight/clusters",
            "apiVersion": "2021-06-01",
            "name": "[parameters('cluster name')]",
            "location": "East US 2",
            "zones": [
                "1"
            ],

1 つの可用性ゾーンに入っているノードを複数のゾーンにわたって確認する

HDInsight クラスターの準備ができたら、場所を確認して、それらがどの可用性ゾーンにデプロイされているかを調べることができます。

Screenshot sthat hows availability zone info in cluster overview.

Get API の応答

 [
        {
            "location": "East US 2",
            "zones": [
                "1"
            ],

クラスターをスケールアップする

ワーカー ノードを追加して HDInsight クラスターをスケールアップできます。 新しく追加するワーカー ノードは、このクラスターの同じ可用性ゾーンに配置されます。

ベスト プラクティス

  • Ambari DB 内の構成を定期的にバックアップします。
  • ワークロードをセカンダリ クラスターに簡単にルーティングするロジックを実装します。

AZ がダウンしたときに予期されること

  • このクラスターに SSH 接続できません
  • このクラスターの削除、スケールアップ、スケールダウンができません
  • ジョブを送信したり、ジョブ履歴を表示したりできません
  • 別のリージョンで新しいクラスター作成要求を送信することは引き続き可能です