Azure Disk Encryption 対応仮想マシンを別の Azure リージョンにレプリケートする

この記事では、Azure Disk Encryption (ADE) 対応の Azure VM を Azure リージョン間でレプリケートする方法について説明します。

Note

Site Recovery は現在、Windows オペレーティング システムを実行している VM について、Microsoft Entra ID がある場合とない場合の両方の ADE をサポートしています。 Linux オペレーティング システムでは、Microsoft Entra ID なしの ADE のみがサポートされます。 さらに、ADE 1.1 (Microsoft Entra ID なし) を実行しているマシンでは、VM でマネージド ディスクが使用されている必要があります。 アンマネージド ディスクを使用する VM はサポートされません。 ADE 0.1 (Microsoft Entra ID あり) から 1.1 に切り替える場合は、レプリケーションを無効にし、1.1 を有効にした後で、VM のレプリケーションを有効にする必要があります。

必要なユーザー アクセス許可

Site Recovery では、ユーザーが、ターゲット リージョン内にキー コンテナーを作成し、ソース リージョンのキー コンテナーからターゲット リージョンのキー コンテナーにキーをコピーするアクセス許可を持っていることが必要です。

Azure portal から Disk Encryption 対応 VM のレプリケーションを有効にするには、ユーザーは、ソース リージョンとターゲット リージョンの両方のキー コンテナーに対して次のアクセス許可を必要とします。

  • Key Vault のアクセス許可

    • List、Create、Get
  • Key Vault シークレットのアクセス許可

    • シークレットの管理操作
      • 取得、リスト、設定
  • キー コンテナー キーのアクセス許可 (ディスク暗号化キーを暗号化するために VM でキー暗号化キーが使用される場合にのみ必須)

    • キーの管理操作
      • 取得、リスト、作成
    • 暗号化操作
      • 暗号化と復号化

アクセス許可を管理するには、ポータル内でキー コンテナー リソースに移動します。 ユーザーに必要なアクセス許可を追加します。 次の例は、ソース リージョンにあるキー コンテナー ContosoWeb2Keyvault へのアクセス許可を有効にする方法を示しています。

  1. [ホーム]>[Keyvaults]>[ContosoWeb2KeyVault] > [アクセス ポリシー] に移動します。

    キー コンテナーのアクセス許可ウィンドウ

  2. ユーザーのアクセス許可がないことを確認できます。 [新規追加] を選択します。 ユーザーとアクセス許可の情報を入力します。

    Keyvault のアクセス許可

ディザスター リカバリー (DR) を有効にしているユーザーに、キーをコピーするためのアクセス許可がない場合は、該当するアクセス許可を持つセキュリティ管理者が、次のスクリプトを使用して、暗号化シークレットと暗号化キーをターゲット リージョンにコピーできます。

アクセス許可をトラブルシューティングするには、キー コンテナーのアクセス許可の問題に関するページを参照してください。

Note

ポータルから Disk Encryption 対応 VM のレプリケーションを有効にするには、少なくともキー コンテナー、シークレット、キーに対する "一覧表示" アクセス許可が必要です。

PowerShell スクリプトを使用して Disk Encryption キーを DR リージョンにコピーする

  1. 未加工のスクリプト コード "CopyKeys" を開きます

  2. このスクリプトをファイルにコピーして、ファイル名を Copy-keys.ps1 にします。

  3. Windows PowerShell アプリケーションを開き、このファイルを保存したフォルダーに移動します。

  4. Copy-keys.ps1 を実行します。

  5. Azure の資格情報を入力してサインインします。

  6. お客様の VM の Azure サブスクリプションを選択します。

  7. リソース グループが読み込まれるのを待ってから、VM のリソース グループを選択します。

  8. 表示された一覧から VM を選択します。 ディスクの暗号化に対応した VM のみが一覧に表示されます。

  9. [ターゲットの場所] を選択します。

    • [ディスクの暗号化のキー コンテナー]
    • [キー暗号化キー コンテナー]

    既定では、Site Recovery によってターゲット リージョンに新しいキー コンテナーが作成されます。 コンテナー名のサフィックスは "asr" です。これは、ソース VM のディスク暗号化キーに基づきます。 Site Recovery によって作成されたキー コンテナーが既に存在する場合は、それが再利用されます。 必要な場合は、一覧から別のキー コンテナーを選択します。

レプリケーションを有効にする

Azure Disk Encryption 対応 VM を別の Azure リージョンにレプリケートするには、次の手順に従います。 たとえば、プライマリ Azure リージョンが東アジア、セカンダリが東南アジアです。

  1. コンテナーの [Site Recovery] ページで、[Azure 仮想マシン][レプリケーションを有効にする] を選択します。

  2. [レプリケーションを有効にする] ページの [ソース] で、次の操作を行います。

    • リージョン: 仮想マシンを保護する Azure リージョンを選択します。 たとえば、ソースの場所は東アジアです。
    • サブスクリプション: ソース仮想マシンが属しているサブスクリプションを選択します。 これは、Recovery Services コンテナーと同じ Microsoft Entra テナント内の任意のサブスクリプションでもかまいません。
    • [リソース グループ]: ソース仮想マシンが属しているリソース グループを選択します。 選択したリソース グループ内のすべての VM が、次の手順で保護対象として表示されます。
    • 仮想マシン デプロイ モデル: ソース マシンの Azure デプロイ モデルを選択します。
    • [可用性ゾーン間のディザスター リカバリーを行いますか?]: 仮想マシンでゾーン ディザスター リカバリーを実行する場合は [はい] を選択します。

    レプリケーションを構成するために必要なフィールドが強調表示されているスクリーンショット。

  3. [次へ] を選択します。

  4. [仮想マシン] で、レプリケートする各 VM を選択します。 選択できるのは、レプリケーションを有効にできるマシンのみです。 最大 10 台の VM を選択できます。 次に、 [次へ] を選択します。

    仮想マシンを選択する場所が強調表示されているスクリーンショット。

  5. [レプリケーションの設定] では、次の設定を構成できます。

    1. [場所およびリソース グループ] 以下は次のとおりです。

      • [ターゲットの場所]: ソース仮想マシンのデータがレプリケートされる場所を選択します。 選択したマシンの場所に応じて、適切なターゲット リージョンの一覧が表示されます。 ターゲットの場所は、Recovery Services コンテナーと同じ場所にすることをお勧めします。

      • [ターゲット サブスクリプション]: ディザスター リカバリーに使用されるターゲット サブスクリプションを選択します。 既定では、ターゲット サブスクリプションはソース サブスクリプションと同じになります。

      • [ターゲット リソース グループ]: レプリケートされたすべての仮想マシンが属するリソース グループを選択します。

        • 既定では、名前に asr というサフィックスが付いた新しいリソース グループが、Site Recovery によってターゲット リージョンに作成されます。
        • Site Recovery によって作成されたリソース グループが既に存在する場合は、それが再利用されます。
        • リソース グループ設定はカスタマイズできます。
        • ターゲット リソース グループの場所は、ソース VM がホストされているリージョンを除き、どの Azure リージョンでもかまいません。

        Note

        [新規作成] を選択して、新しいターゲット リソース グループを作成することもできます。

        場所とリソース グループのスクリーンショット。

    2. [ネットワーク] 以下は次のとおりです。

      • フェールオーバー仮想ネットワーク: フェールオーバー仮想ネットワークを選択します。

        Note

        [新規作成] を選択して、新しいフェールオーバー仮想ネットワークを作成することもできます。

      • フェールオーバー サブネット: フェールオーバー サブネットを選択します。

        ネットワークのスクリーンショット。

    3. [ストレージ]: [View/edit storage configuration] (ストレージ構成の表示/編集) を選択します。 [ターゲットの設定のカスタマイズ] ページが表示されます。

      ストレージのスクリーンショット。

      • レプリカ マネージド ディスク: Site Recovery によってターゲット リージョンに新しいレプリカ マネージド ディスクが作成され、ソース VM のマネージド ディスクと同じストレージ タイプ (Standard または Premium) でソース VM のマネージド ディスクがミラーリングされます。
      • [キャッシュ ストレージ]: Site Recovery では、キャッシュ ストレージと呼ばれる追加のストレージ アカウントがソース リージョンに必要です。 ソース VM で行われる変更はすべて追跡され、キャッシュ ストレージ アカウントに送信されてから、ターゲットの場所にレプリケートされます。
    4. 可用性オプション: ターゲット リージョンの VM に適した可用性オプションを選択します。 Site Recovery によって作成された可用性セットが既に存在する場合は、それが再利用されます。 [可用性オプションの表示/編集] を選択して、可用性オプションを表示または編集します。

      Note

      • ターゲット可用性セットを構成しているときに、サイズの異なる VM 用に別の可用性セットを構成してください。
      • レプリケーションを有効にした後は、可用性の種類 (単一インスタンス、可用性セット、または可用性ゾーン) を変更できません。 可用性の種類を変更するには、レプリケーションを無効にし、有効にする必要があります。

      可用性オプションのスクリーンショット。

    5. [容量予約]: 容量予約を使用すると、復旧リージョン内で容量を購入した後で、その容量にフェールオーバーできます。 新しい容量予約グループを作成すること、または既存のものを使用することのいずれかが可能です。 詳しくは、容量予約のしくみに関する記事をご覧ください。 容量予約の設定を変更するには、[View or Edit Capacity Reservation group assignment] (容量予約グループの割り当ての表示または編集) を選びます。 フェールオーバーのトリガー時には、割り当てられた容量予約グループ内に新しい VM が作成されます。

      容量予約のスクリーンショット。

    6. 暗号化設定: [構成の表示/編集] を選択して、Disk Encryption と Key Encryption のキー コンテナーを構成します。

      • [ディスクの暗号化のキー コンテナー] :既定では、Site Recovery によってターゲット リージョンに新しいキー コンテナーが作成されます。 サフィックスは "asr" です。これは、ソース VM のディスク暗号化キーに基づいています。 Azure Site Recovery によって作成されたキー コンテナーが既に存在する場合は、それが再利用されます。
      • [キー暗号化キー コンテナー] :既定では、Site Recovery によってターゲット リージョンに新しいキー コンテナーが作成されます。 名前のサフィックスは "asr" です。これは、ソース VM キー暗号化キーに基づきます。 Azure Site Recovery によって作成されたキー コンテナーが既に存在する場合は、それが再利用されます。

      暗号化設定のスクリーンショット。

  6. [次へ] を選択します。

  7. [管理] で、次の操作を行います。

    1. [レプリケーション ポリシー] 以下は次のとおりです。
      • [レプリケーション ポリシー]: レプリケーション ポリシーを選択します。 復旧ポイントのリテンション履歴と、アプリ整合性スナップショットの頻度の設定を定義します。 既定では、既定の設定として復旧ポイントのリテンション期間を 24 時間とした新しいレプリケーション ポリシーが Site Recovery によって作成されます。
      • レプリケーション グループ: マルチ VM 整合性復旧ポイントを生成するために VM をまとめてレプリケートするレプリケーション グループを作成します。 マルチ VM 整合性を有効にすると、ワークロードのパフォーマンスに影響を及ぼす可能性があるので、複数のマシンが同じワークロードを実行しており、複数のマシン間の整合性が必要な場合にのみ使用します。
    2. [拡張機能の設定] 以下は次のとおりです。
      • [設定の更新][Automation アカウント] を選択します。

    [管理] タブを表示するスクリーンショット。

  8. [次へ] を選択します。

  9. [レビュー] で、VM の設定を確認し、[レプリケーションを有効にする] を選択します。

    [レビュー] タブを表示するスクリーンショット。

Note

初期レプリケーションの間は、状態の更新に少し時間がかかり、処理が進行していないように見える場合があります。 [更新] をクリックして、最新の状態を取得します。

ターゲット VM の暗号化設定を更新する

次のシナリオでは、ターゲット VM の暗号化設定の更新が必要になります。

  • VM 上で Site Recovery のレプリケーションを有効にした。 その後、ソース VM 上でディスク暗号化を有効にした。
  • VM 上で Site Recovery のレプリケーションを有効にした。 その後、ソース VM 上でディスク暗号化キーまたはキー暗号化キーを変更した。

上記の理由により、キーはソースとターゲットの間で同期されません。 そのため、キーをターゲットにコピーし、次の方法で Azure Site Recovery メタデータ ストレージを更新する必要があります。

  • ポータル
  • REST API
  • PowerShell

Azure portal からターゲット VM の暗号化設定を更新する

VM で Site Recovery を使っており、後でその VM でディスク暗号化を有効にした場合、ターゲット設定にキー コンテナーが存在しない可能性があります。 新しいキー コンテナーをターゲットに追加する必要があります。

ターゲット設定でキー コンテナー (KV1 など) を使っている場合は、ターゲット リージョンの別のキー コンテナーを使ってキーを変更できます。 元のキー コンテナー KV1 とは異なる既存のキー コンテナーを選ぶことも、新しいキー コンテナーを使うこともできます。 Azure Site Recovery ではインプレースでキーを変更できないため、ターゲット リージョンで別のキー コンテナーを使う必要があります。

この例では、必要なアクセス許可を持つ新しい空のキー コンテナー KV2 を作成することを前提としています。 その後、以下の手順を使ってコンテナーを更新できます。

  1. ポータルで Recovery Services コンテナーに移動します。
  2. "レプリケートされた項目">[プロパティ]>[コンピューティング] を選びます
  3. メニューから KV2 を選んで、ターゲット キー コンテナーを更新します。 ターゲット キー コンテナーの更新のスクリーンショット。
  4. [保存] を選んで、新しいキー/シークレットを使ってソース キーを新しいターゲット キー コンテナー KV2 にコピーし、Azure Site Recovery メタデータを更新します。

    Note

    新しいキー コンテナーを作成すると、コストに影響する可能性があります。 以前に使っていた元のターゲット キー コンテナー (KV1) を使う場合は、別のキー コンテナーで上記の手順を完了した後で使用できます。
    別のキー コンテナーを使ってコンテナーを更新した後、元のターゲット キー コンテナー (KV1) を使うには、手順 1 から 4 を繰り返し、ターゲット キー コンテナーで KV1 を選びます。 これにより、新しいキー/シークレットが KV1 にコピーされ、それがターゲットに使われます。

REST API を使ってターゲット VM の暗号化設定を更新する

  1. Copy-Keys スクリプトを使って、キーをターゲット コンテナーにコピーする必要があります。
  2. Replication Protected Items - Update Rest API を使って、Azure Site Recovery メタデータを更新します。

PowerShell を使ってターゲット VM の暗号化設定を更新する

  1. Copy-Keys スクリプトを使って、キーをターゲット コンテナーにコピーします。
  2. Set-AzRecoveryServicesAsrReplicationProtectedItem コマンドを使って、Azure Site Recovery メタデータを更新します。

Azure 間 VM レプリケーションの間のキー コンテナーのアクセス許可の問題のトラブルシューティング

Azure Site Recovery では、シークレットを読み取ってターゲット リージョンのキー コンテナーにコピーするために、ソース リージョンのキー コンテナーに対する読み取りアクセス許可と、ターゲット リージョンのキー コンテナーに対する書き込みアクセス許可が少なくとも必要です。

原因 1:ソース リージョンのキー コンテナーで、キーを読み取るための "GET" アクセス許可がない
修正方法: サブスクリプション管理者であるかどうかに関係なく、キー コンテナーへの GET アクセス許可があることが重要です。

  1. ソース リージョンのキー コンテナーに移動します (この例では、"ContososourceKeyvault" >[アクセス ポリシー])
  2. [プリンシパルの選択] で、ユーザー名を追加します (例: "dradmin@contoso.com")
  3. [キーのアクセス許可] で、GET を選択します
  4. [Secret Permission](シークレットのアクセス許可) で、GET を選択します
  5. アクセス ポリシーを保存します

原因 2:ターゲット リージョンのキー コンテナーで、キーを書き込むために必要なアクセス許可がない。

: ソース リージョン上のキー コンテナー ContososourceKeyvault を持つ VM をレプリケートしようとしました。 ソース リージョンのキー コンテナーに対するすべてのアクセス許可は持っています。 しかし、保護中に、アクセス許可を持たない作成済みのキー コンテナーである ContosotargetKeyvault を選択しました。 エラーが発生しました。

ターゲット キー コンテナーでのアクセス許可が必要です

修正方法:[ホーム]>[Keyvaults](Keyvault)>[ContosotargetKeyvault]>[アクセス ポリシー] に移動して、適切なアクセス許可を追加します。

次のステップ

  • テスト フェールオーバーの実行に関する詳細を確認する。