チュートリアル:IoT ハブの手動フェールオーバーを実行する

手動フェールオーバーとは、お客様がハブの運用をプライマリ リージョンから Azure の geo でペアとなっているリージョンフェールオーバーできるようにする、IoT Hub サービスの機能です。 手動フェールオーバーは、リージョンの障害が発生した場合や、サービスが長時間にわたって停止した場合に実行できます。 また、ディザスター リカバリーの機能をテストするために、計画的なフェールオーバーを実行することもできます (ただし、実稼働環境で実行している IoT ハブではなく、テスト用の IoT ハブを使用することをお勧めします)。 2017 年 5 月 18 日以降に作成された IoT ハブについては、追加コストなしで手動フェールオーバー機能をお使いいただけます。

このチュートリアルでは、以下のタスクを実行します。

  • Azure portal を使用して IoT ハブを作成する。
  • フェールオーバーを実行する。
  • ハブがセカンダリ ロケーションで実行されていることを確認する。
  • フェールバックを実行して、プライマリ ロケーションに IoT ハブの運用を戻す。
  • ハブが正しい場所で正しく実行されていることを確認する。

IoT Hub での手動フェールオーバーと Microsoft によって開始されるフェールオーバーの詳細については、リージョン間のディザスター リカバリーに関する記事を参照してください。

前提条件

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

IoT Hub の作成

ここでは、Azure portal を使用して IoT ハブを作成する方法について説明します。

  1. Azure portal にサインインします。

  2. Azure のホームページで、[+ リソースの作成] ボタンを選択します。

  3. [カテゴリ] メニューの [モノのインターネット][IoT Hub] を順に選択します。

  4. [基本] タブで、次のように各フィールドに入力します。

    重要

    IoT ハブは DNS エンドポイントとして公開されるため、名前を付ける際に機密情報や個人を特定できる情報を入力しないように注意してください。

    プロパティ
    サブスクリプション ハブで使用するサブスクリプションを選択します。
    リソース グループ リソース グループを選択するか、新しく作成します。 新たに作成するには、 [新規作成] を選択して、使用する名前を入力します。
    IoT ハブ名 ハブの名前を入力します。 この名前は、3 から 50 文字の英数字でグローバルに一意である必要があります。 名前には、ダッシュ ('-') 文字を含めることもできます。
    [リージョン] ハブを配置する最も近いリージョンを選択します。 一部の機能 (IoT Hub デバイス ストリームなど) は、特定のリージョンでのみご利用いただけます。 これらの制限のある機能については、サポート対象のいずれかのリージョンを選択する必要があります。
    レベル ハブに使用するレベルを選択します。 レベルの選択は、必要な機能の数とソリューションで 1 日に送信するメッセージの数に応じます。

    無料レベルは、テストおよび評価用です。 無料レベルでハブに接続できるデバイスは 500 個で、1 日に許可されるメッセージ数は最大 8,000 件です。 Azure サブスクリプションごとに、Free レベルの IoT ハブを 1 つ作成できます。

    各レベルで使用できる機能を比較するには、[レベルを比較する] を選択します。 詳細については、「ソリューションに適した IoT Hub のレベルを選択する」を参照してください。
    1 日あたりのメッセージの制限 ハブの 1 日あたりのメッセージの最大クォータを選択します。 使用可能なオプションは、ハブに対して選んだレベルによって異なります。 使用可能なメッセージと価格のオプションを表示するには、[すべてのオプションを参照する] を選び、ハブのニーズに最適なオプションを選びます。 詳細については、IoT Hub のクォータと調整に関するページを参照してください。

    Azure portal で IoT ハブを作成する方法を示す画面キャプチャ。

    注意

    示されている価格はあくまでも例です。

  5. Next:Networking(次へ: ネットワーク) を選択して、ハブの作成を続けます。

  6. [ネットワーク] タブで、次のように各フィールドに入力します。

    プロパティ
    接続性の構成 デバイスから IoT ハブに接続するために使用できるエンドポイントを選択します。 この例では、既定の設定であるパブリック アクセスを受け入れます。 この設定は、IoT ハブの作成後に変更できます。 詳細については、IoT ハブのパブリック ネットワーク アクセスの管理に関する記事を参照してください。
    TLS の最小バージョン IoT ハブでサポートされる最小 TLS バージョンを選択します。 IoT ハブが作成されると、この値を変更することはできません。 この例では、既定の設定である 1.0 をそのまま使っています。

    新しい IoT ハブに接続できるエンドポイントを選択する方法を示す画面キャプチャ。

  7. Next:Management(次へ: 管理) を選択して、ハブの作成を続けます。

  8. [管理] タブで、既定の設定を受け入れます。 必要に応じて、次のフィールドに変更を加えることができます。

    プロパティ
    権限モデル ロールベースのアクセス制御の一部であるこのプロパティは、IoT ハブ への "アクセス権を管理" する方法を決定します。 共有アクセス ポリシーを許可するか、ロールベースのアクセス制御のみを選択します。 詳細については、「Microsoft Entra ID を使用した IoT Hub へのアクセス制御」を参照してください。
    自分を割り当てる インスタンス内の要素を管理するために、IoT Hub データ API へのアクセス権が必要になる場合があります。 ロールの割り当てにアクセスできる場合は、[IoT Hub データ共同作成者ロール] を選んで、データ API へのフル アクセスを自分自身に付与します。

    Azure ロールを割り当てるには、Microsoft.Authorization/roleAssignments/write のアクセス許可 (ユーザー アクセス管理者所有者など) が必要です。
    Device-to-cloud パーティション このプロパティでは、device-to-cloud メッセージがそのメッセージの同時閲覧者数に関連付けられます。 ほとんどの IoT ハブでは、4 つのパーティションのみが必要となります。

    新しい IoT ハブのロールベースのアクセス制御とスケーリングを設定する方法を示す画面キャプチャ。

  9. [次へ: アドオン] を選んで、次の画面に進みます。

  10. [アドオン] タブで、既定の設定を受け入れます。 必要に応じて、次のフィールドに変更を加えることができます。

    プロパティ
    Device Update for IoT Hub を有効にする Device Update for IoT Hub を有効にして、デバイスの無線での更新を有効にします。 このオプションを選択すると、Device Update for IoT Hub アカウントおよびインスタンスをプロビジョニングするための情報を入力するように求められます。 詳細については、「Device Update for IoT Hub とは?」を参照してください
    Defender for IoT を有効にする IoT とデバイスに、保護のレイヤーをさらに追加するには、Defender for IoT を有効にします。 このオプションは、Free レベルのハブでは使用できません。 Defender for IoT における IoT Hub のセキュリティに関する推奨事項の詳細を参照してください。

    新しい IoT ハブのオプションのアドオンを設定する方法を示す画面キャプチャ。

    注意

    示されている価格はあくまでも例です。

  11. 次へ:[Next](次へ) を選択して、次の画面に進みます。

    タグは、名前と値の組です。 複数のリソースおよびリソース グループに同じタグを割り当てることで、リソースを分類したり、課金情報を統合したりすることができます。 このドキュメントでは、タグを追加しません。 詳細については、タグを使用した Azure リソースの整理に関するページを参照してください。

    新しい IoT ハブのタグを割り当てる方法を示す画面キャプチャ。

  12. 次へ:次へ: レビューと作成 をクリックして、選択内容を確認します。

  13. [作成] を選択して新しいハブのデプロイを開始します。 ハブの作成中、数分間にデプロイが進行中になります。 デプロイが完了したら、 [リソースに移動] を選択し、新しいハブを開きます。

手動フェールオーバーの実行

Note

1 つの IoT ハブに対して、1 日あたり 2 回のフェールオーバーと 2 回のフェールバックまでに制限されています。

  1. Azure Portal で、IoT ハブに移動します。

  2. ナビゲーション メニューの [ハブの設定] の下にある [フェールオーバー] を選びます。

    IoT Hub のプロパティ ペインを示すスクリーンショット。

  3. [フェールオーバー] ペインに、IoT ハブの [現在の場所][フェールオーバーの場所] が表示されます。 現在の場所は常に、ハブが現在アクティブになっている場所を示します。 フェールオーバーの場所は、現在の場所とペアになっている標準の Azure geo ペア リージョンです。 ロケーションの値は変更できません。

  4. [フェールオーバー] ペインの上部にある [フェールオーバーの開始] を選びます。

    [手動フェールオーバー] ペインを示すスクリーンショット

  5. 確認ウィンドウで IoT ハブの名前を入力して、フェールオーバーを実行する IoT ハブであることを確認します。 次に [フェールオーバー] を選んでフェールオーバーを開始します。

    手動フェールオーバーの確認ペインを示すスクリーンショット。

    手動フェールオーバーの実行にかかる時間は、ハブに登録されているデバイスの数に比例します。 たとえば、デバイスが 10 万台の場合は 15 分ですが、500 万台の場合は 1 時間以上かかる可能性があります。

    手動フェールオーバー プロセスの実行中は、手動フェールオーバーが進行中であることを示すバナーが表示されます。

    [概要] を選んで IoT ハブの詳細を表示すると、ハブが手動フェールオーバーの最中であることを示すバナーが表示されます。

    完了すると、[手動フェールオーバー] ページ上の現在のリージョンとフェールオーバーのリージョンが逆になり、ハブが再度アクティブになります。 この例では、現在の場所が WestCentralUS に、フェールオーバーの場所が West US 2 になります。

    フェールオーバーが完了したことを示すスクリーンショット。

    また、概要ページには、フェールオーバーが完了し、IoT Hub がペア リージョンで実行されていることを示すバナーも表示されます。

フェールバックの実行

手動フェールオーバーを実行した後で、ハブの運用を元のプライマリ リージョンに切り替えることができます。 このアクションを "フェールバック" と呼びます。 フェールオーバーを実行した直後の場合は、約 1 時間待ってからフェールバックを要求する必要があります。 それより前にフェールバックを実行しようとすると、エラー メッセージが表示されます。

フェールバックは、手動フェールオーバーと同じように実行されます。 手順は次のとおりです。

  1. フェールバックを実行するには、IoT ハブの [フェールオーバー] ペインに戻ります。

  2. [フェールオーバー] ペインの上部にある [フェールオーバーの開始] を選びます。

  3. 確認ウィンドウで IoT ハブの名前を入力して、フェールバックを実行する IoT ハブであることを確認します。 フェールバックを開始するには、[フェールオーバー] を選びます。

    手動フェールオーバーの確認ペインを示すスクリーンショット。

    フェールバックが完了すると、IoT ハブには、元のリージョンが現在の場所として、ペア リージョンがフェールオーバーの場所として再び表示されます (最初の表示と同じ)。

リソースをクリーンアップする

このチュートリアル用に作成したリソースを削除するには、リソース グループを削除します。 これにより、そのグループ内に含まれているすべてのリソースも削除されます。 この場合は、IoT ハブとリソース グループ自体が削除されます。

  1. [リソース グループ] をクリックします。

  2. IoT ハブを含むリソース グループを見つけて選びます。

  3. グループ全体とその中のすべてのリソースを削除する場合は、[リソース グループの削除] を選びます。 プロンプトが表示されたら、リソース グループの名前を入力し、[削除] を選んでアクションを確定します。

    グループから特定のリソースのみを削除する場合は、削除する各リソースの横にあるチェックボックスをオンにしてから [削除] を選びます。 プロンプトが表示されたら、「yes」と入力し、[削除] を選んでアクションを確定します。

次の手順

このチュートリアルでは、手動フェールオーバーを構成して実行する方法と、フェールバックを開始する方法について説明しました。

次のチュートリアルに進み、バックエンド サービスからデバイスを構成する方法を学習してください。