可用性ゾーンを使用する 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 クラスターの準備ができたら、場所を確認して、それらがどの可用性ゾーンにデプロイされているかを調べることができます。
Get API の応答
[
{
"location": "East US 2",
"zones": [
"1"
],
クラスターをスケールアップする
ワーカー ノードを追加して HDInsight クラスターをスケールアップできます。 新しく追加するワーカー ノードは、このクラスターの同じ可用性ゾーンに配置されます。
ベスト プラクティス
- Ambari DB 内の構成を定期的にバックアップします。
- ワークロードをセカンダリ クラスターに簡単にルーティングするロジックを実装します。
AZ がダウンしたときに予期されること
- このクラスターに SSH 接続できません
- このクラスターの削除、スケールアップ、スケールダウンができません
- ジョブを送信したり、ジョブ履歴を表示したりできません
- 別のリージョンで新しいクラスター作成要求を送信することは引き続き可能です