IoT Central における高可用性、ディザスター リカバリー (HADR)、柔軟なスケーリングの意味

Azure IoT Central は、スケーラビリティと HADR を自動的に管理する、サービスとしてのアプリケーション プラットフォーム (aPaaS) です。 IoT Central アプリケーションは、何十万台の接続されたデバイスをサポートするために、スケーリングすることができます。 デバイスとメッセージの価格について詳しくは、「Azure IoT Central の価格」をご覧ください。 サービス レベル アグリーメントについて詳しくは、「Azure IoT Central の SLA」をご覧ください。

この記事では、IoT Central がどのようにスケーリングし、HADR を実現するのかについての背景情報を提供します。 また、この記事には、これらの機能を利用する方法についてのガイダンスも含まれます。

スケーラビリティ

IoT Central アプリケーションは、Azure IoT Central や Device Provisioning Service (DPS) などの複数の Azure サービスを内部的に使用します。 これらの基になるサービスの多くは、複数のテナントに対応しています。 ただし、顧客データの完全な分離を確保するために、IoT Central はシングルテナントの IoT ハブを使用します。

IoT Central は、アプリケーションの読み込みプロファイルに基づいて IoT ハブを自動的にスケーリングします。 IoT Central は、個々の IoT ハブをスケールアップし、アプリケーション内の IoT ハブの数をスケールアウトできます。 また、IoT Central は、その他の基になるサービスも自動的にスケーリングします。

高可用性とディザスター リカバリー

HADR の機能は、ご使用の IoT Central アプリケーションが作成された時期によって異なります。

2021 年 4 月より前に作成されたアプリケーション

2021 年 4 月より前に作成された一部のアプリケーションでは、1 つの IoT ハブが使用されています。 これらのアプリケーションの場合、IoT Central では HADR 機能が提供されていません。 その IoT ハブが使用できなくなった場合、そのアプリケーションは使用できなくなります。

az iot central device manual-failover コマンドを使用して、アプリケーションが 1 つの IoT ハブをまだ使用しているかどうかを確認します。 そのアプリケーションの IoT ハブが 1 つの場合、このコマンドはエラーを返します。

2021 年 4 月以降かつ 2023 年 4 月より前に作成されたアプリケーション

高可用性のデバイス接続を目的として、IoT Central アプリケーションには常に、少なくとも 2 つの IoT ハブがあります。 IoT Central が負荷プロファイルの変化に応じてアプリケーションをスケーリングすると、ハブの数が増減します。

また、IoT Central では、そこで使われるさまざまなサービスを高可用性にするため、可用性ゾーンが使われます。

ディザスター リカバリーが必要になるインシデントは、一部のサービスが使用できなくなるものから、リージョン全体が使用できなくなるものまで、広い範囲に及ぶ可能性があります。 IoT Central では、インシデントの性質と規模に応じて、異なる回復プロセスが行われます。 たとえば、壊滅的な障害が発生して Azure リージョン全体が使用できなくなった場合は、ディザスター リカバリー手順により、同じ地域内の別のリージョンにアプリケーションがフェールオーバーされます。

2023 年 4 月以降に作成されたアプリケーション

2023 年 4 月以降に作成された IoT Central アプリケーションには、最初に 1 つの IoT ハブがあります。 その IoT ハブが使用できなくなった場合、そのアプリケーションは使用できなくなります。 ただし、IoT Central は自動的にそのアプリケーションをスケーリングし、接続されている 10,000 台のデバイスごとに新しい IoT ハブを追加します。 デバイスが 10,000 台未満のアプリケーションに対して複数の IoT ハブが必要な場合は、IoT Central カスタマー サポートにリクエストをご送信ください。

az iot central device manual-failover コマンドを使用して、ご使用のアプリケーションが現在 1 つの IoT ハブを使用しているかどうかをご確認ください。 そのアプリケーションの IoT ハブが現在 1 つの場合、このコマンドはエラーを返します。

複数の IoT ハブを操作する

自動スケーリングと HADR のサポートの結果として、アプリケーション内の IoT ハブ インスタンスは変化する可能性があります。 次に例を示します。

  • アプリケーションのスケーリングに伴い、ハブの数が増減することがあります。
  • ハブで障害が発生して使用できなくなる可能性があります。
  • ディザスター リカバリー手順では、別のリージョンに新しいハブを追加して、障害が発生したリージョンのハブを置き換えることができます。

アプリケーション内の IoT ハブは IoT Central によって管理されますが、接続先のハブが使用できない場合は、デバイスで接続を再確立できる必要があります。

デバイス プロビジョニング

アプリケーション内の IoT ハブの数が変化したら、デバイスが別のハブに接続することが必要になる場合があります。

デバイスを IoT Central に接続する前に、デバイスを登録し、基になるサービスにプロビジョニングする必要があります。 IoT Central アプリケーションにデバイスを追加すると、IoT Central DPS 登録グループにエントリが追加されます。 ID スコープ、デバイス ID、キーなどの登録グループの情報は、IoT Central UI に表示されます。

デバイスが初めて IoT Central アプリケーションに接続すると、DPS は、登録グループのリンクされた IoT ハブのいずれかにデバイスをプロビジョニングします。 デバイスは、その後、その IoT ハブと関連付けられます。 DPS は、割り当てポリシーを使用して、アプリケーションの IoT ハブ間でプロビジョニングの負荷を分散します。 このプロセスでは、各 IoT ハブのプロビジョニングされたデバイスの数が同じであることを確認します。

IoT Central での登録とプロビジョニングについて詳しくは、「IoT Central デバイスの接続性ガイド」をご覧ください。

デバイスの接続

DPS がデバイスを IoT ハブにプロビジョニングすると、デバイスは常にそのハブに接続しようとします。 デバイスがプロビジョニングされている IoT ハブに接続できない場合は、IoT Central アプリケーションに接続できません。 このシナリオに対処するには、デバイスのファームウェアに、デバイスを別のハブに再プロビジョニングする再試行戦略が含まれる必要があります。

デバイスのファームウェアで接続エラーを処理し、別のハブに接続する方法について詳しくは、「ベスト プラクティス」をご覧ください。

デバイスのファームウェアが接続エラーを処理できるかどうかを確認する方法の詳細については、「テスト フェールオーバー機能」を参照してください。

データのエクスポート

IoT Central アプリケーションは、多くの場合、他のユーザーが構成したサービスを使用します。 たとえば、Azure Event Hubs や Azure Blob Storage などのサービスに継続的にデータをエクスポートするように IoT Central アプリケーションを構成できます。

構成されたデータのエクスポートが変換先に書き込むことができない場合、IoT Central は最大 15 分間データの再転送を試行します。その後、IoT Central によって宛先が失敗としてマークされます。 失敗した宛先は、書き込み可能かどうかを確認するために定期的にチェックされます。

データのエクスポートを無効にしてから再度有効にすることで、失敗したエクスポートを再起動するように IoT Central に強制できます。

使用しているデータ エクスポート先サービスの高可用性とスケーラビリティのベスト プラクティスを確認します。

制限事項

現時点では、IoT Edge デバイスを IoT ハブ間で移動することはできません。

次のステップ

ここでは、Azure IoT Central のスケーラビリティと高可用性について学習しました。推奨される次の手順は、Azure IoT Central でのクォータと制限の学習です。