Azure デバイス レジストリの信頼性

Azure Device Registry は、クラウド内の資産とデバイスに関する情報を格納します。 Device Registry は、1 つのレジストリ内のクラウド内のAzure リソースとして資産をプロジェクトします。 単一のレジストリは、デバイスと資産のメタデータ、および資産管理機能の信頼のソースです。 デバイス レジストリは、Azure IoT Operations と組み合わせて使用できます。

Azureを使用する場合、信頼性は共有責任です。 Microsoft では、回復性と回復性をサポートするさまざまな機能を提供しています。 使用するすべてのサービスでこれらの機能がどのように機能するかを理解し、ビジネス目標とアップタイムの目標を達成するために必要な機能を選択する必要があります。

この記事では、一時的な障害、可用性ゾーンの停止、リージョンの停止など、さまざまな障害や問題に対するデバイス レジストリの回復性を確保する方法について説明します。

Azure IoT Operationsには、デバイス レジストリ以外のさまざまなコンポーネントが含まれています。 Azure IoT Operations コンポーネントの高可用性とデータ損失ゼロの機能の詳細については、Azure IoT Operationsよく寄せられる質問を参照してください。

一時的な障害に対する回復性

一時的な障害は、コンポーネントにおける短い断続的な障害です。 これらはクラウドのような分散環境で頻繁に発生し、運用の通常の範囲であり、 一時的な障害は、短時間の経過後に自分自身を修正します。 アプリケーションで一時的な障害を処理できることは重要です。通常は、影響を受ける要求を再試行します。

クラウドでホストされているすべてのアプリケーションは、クラウドでホストされている API、データベース、およびその他のコンポーネントと通信する際に、Azure一時的な障害処理ガイダンスに従う必要があります。 詳細については、「一時的な障害を処理するための推奨事項」を参照してください。

クライアントは、Azure Resource Managerを使用してデバイス レジストリと対話します。 一般的に、Azure ポータル、Azure CLI、またはAzure SDKを使用して Device Registry リソースを操作します。これらのツールは、一時的な障害の自動処理を提供します。 Resource Manager API を直接使用する場合は、必ず一時的な障害を処理してください。

可用性ゾーンの障害に対する回復性

Availability zones は、Azure リージョン内のデータセンターの物理的に分離されたグループです。 1 つのゾーンで障害が発生した際には、サービスを残りのゾーンのいずれかにフェールオーバーできます。

Azureデバイス レジストリは既定でゾーン冗長です。つまり、複数の availability ゾーンにデータが自動的にレプリケートされます。 このセットアップでは、高可用性を提供することで、サービスの回復性が向上します。 あるゾーンで障害が発生した場合、サービスは別のゾーンからシームレスに動作し続けることができます。

Microsoft は、Azure デバイス レジストリのゾーン冗長のセットアップと構成を管理します。 このゾーンの冗長性を有効にするために、これ以上構成を行う必要はありません。 最高レベルの可用性と信頼性を提供するようにサービスが構成されていることは、Microsoft が保証します。

Requirements

リージョンのサポート: 次のリージョンの一覧は、Device Registry の可用性ゾーンをサポートしています。

南北アメリカ ヨーロッパ
米国東部 ドイツ中西部
米国東部 2 北ヨーロッパ
米国西部 西ヨーロッパ
米国西部 2
米国西部 3

費用

Device Registry にゾーン冗長性を使用する場合、追加のコストはかからなくなります。

可用性ゾーンのサポートを設定する

Azure IoT Operationsで Device Registry リソースを作成すると、既定では自動的にゾーン冗長になります。 これ以上構成を行う必要はありません。

すべてのゾーンが正常な場合の動作

次の情報では、ゾーン冗長デバイス レジストリがあり、すべての可用性ゾーンが動作している場合の動作について説明します。

  • ゾーン間のトラフィック ルーティング: 要求は、各可用性ゾーンに自動的に分散されます。 要求は、任意の可用性ゾーンの Device Registry インスタンスに送信される場合があります。

  • ゾーン間のデータ レプリケーション: デバイス データは、可用性ゾーン間で同期的にレプリケートされます。

ゾーン障害時の動作

次の情報では、ゾーン冗長デバイス レジストリがあり、可用性ゾーンで障害が発生した場合の動作について説明します。

  • 検出と応答: Device Registry は可用性ゾーンの障害を検出して自動的に応答するため、可用性ゾーンのフェールオーバーを開始するために何もする必要はありません。
  • 通知: ゾーンがダウンしても、Microsoft から自動的に通知されることはありません。 ただし、Azure Service Health を使用して、ゾーン障害を含むサービスの全体的な正常性を把握し、Service Health アラートを設定して問題を通知することができます。
  • アクティブな要求: 一部のアクティブな要求は削除される可能性があるため、他の一時的な障害と同じ方法で再試行する必要があります。 アプリケーションが一時的な障害に対する回復性があることを確認するには、「 一時的な障害に対する回復性」を参照してください。

  • 予想されるデータ損失: ゾーンの障害によってデータが失われるとは考えられません。

  • 予想されるダウンタイム: ゾーン障害が発生しても、リソースにダウンタイムが発生することはありません。

ゾーンの回復

可用性ゾーンが復旧すると、Device Registry は可用性ゾーンの操作を自動的に復元します。

ゾーンエラーのテスト

Device Registry プラットフォームは、可用性ゾーン間のトラフィック ルーティング、フェールオーバー、フェールバックを管理します。 何も開始する必要はありません。 この機能はフル マネージドであるため、可用性ゾーンの障害プロセスを検証する必要はありません。

リージョン全体の障害に対する回復性

Device Registry は単一リージョン サービスです。 リージョンが使用できなくなった場合、Device Registry リソースも使用できなくなります。 ただし、状況によっては自動フェールオーバーをサポートするために、レジストリのデータがペアのAzure リージョンにレプリケートされます。

Microsoftによって管理されたペアリージョンへのフェールオーバー

レジストリのデータは、ペアになっている Azure リージョンに自動的にレプリケートされます。 リージョンの停止が長引いた場合、Microsoft はペアリージョンへのフェールオーバーを選択する場合があります。 この場合、レジストリはペアのリージョンで引き続き使用できます。

Requirements

リージョンのサポート: 既定のレプリケーションとフェールオーバーは、デバイス レジストリが使用できるすべてのリージョンでサポートされています。 これらのリージョンはすべてペアになっているためです。

費用

リージョン間のデータ レプリケーションまたはフェールオーバーには、追加のコストはかからなくなります。

レプリケーションの構成とフェールオーバーの準備

既定では、リージョン間のデータ レプリケーションは、ペアを持つリージョンに Device Registry リソースを作成するときに自動的に構成されます。 このプロセスは既定のオプションであり、ユーザーの介入は必要ありません。

すべてのリージョンが正常な場合の動作

このセクションでは、リージョン間のレプリケーションとフェールオーバーのためにデバイス レジストリが構成されていて、プライマリ リージョンが動作している場合に想定される内容について説明します。

  • リージョン間のデータ レプリケーション: データは、ペアになっているリージョンに自動的にレプリケートされます。 レプリケーションは非同期的に行われます。これは、フェールオーバーが発生した場合に一部のデータ損失が予想されることを意味します。

  • リージョン間のトラフィック ルーティング: 通常の操作では、トラフィックはプライマリ リージョンにのみ流れます。

リージョン障害時の動作

このセクションでは、リージョン間のレプリケーションとフェールオーバー用にデバイス レジストリが構成されていて、プライマリ リージョンで障害が発生した場合に想定される内容について説明します。

  • 検出と応答: Microsoft は、プライマリ リージョンが失われた場合にフェールオーバーを実行することを決定できます。 このプロセスは、プライマリ リージョンの損失後に数時間かかる場合もあれば、一部のシナリオではさらに長くなる場合があります。 デバイス レジストリ リソースのフェールオーバーは、他のAzure サービスと同時に発生しない可能性があります。

  • Notification: リージョンの障害イベントは、Azure Service Healthを介して監視できます。 リージョン レベルの問題の通知を受け取るアラートを設定します。

  • アクティブな要求: フェールオーバー中にプライマリ リージョンが処理している要求はすべて失われる可能性があります。 クライアントは、フェールオーバーの完了後に要求を再試行する必要があります。

  • 予想されるデータ損失: データは、ペアになっているリージョンに非同期的にレプリケートされます。 その結果、フェールオーバー後に一部のデータ損失が予想されます。 リージョンのフェールオーバー後に 15 分未満のデータ損失が発生する可能性があります。

  • 予想されるダウンタイム: リージョンが失われたときから、ペアになっているリージョンでリソースが使用可能になったときまで、約 24 時間のダウンタイムが予想されます。

  • トラフィックの再ルーティング: フェールオーバー プロセス中に、デバイス レジストリは、ペアのリージョンを指す DNS レコードを更新します。 後続のすべての要求は、ペアになっているリージョンに送信されます。

    レジストリのフェールオーバー操作が完了した後、デバイスとバックエンド アプリケーションのすべての操作は、手動による介入を必要とせずに動作し続ける必要があります。

リージョンの復旧

プライマリ リージョンが復旧すると、デバイス レジストリによってリージョン内の操作が自動的に復元されます。

リージョン障害のテスト

Device Registry プラットフォームは、ペアになっているリージョン間のトラフィック ルーティング、フェールオーバー、フェールバックを管理します。 何も開始する必要はありません。 この機能は完全に管理されているため、ペアになっているリージョンの障害プロセスを検証する必要はありません。