Important
Azure Disk Encryption は、 2028 年 9 月 15 日に廃止される予定です。 その日まで、中断することなく Azure Disk Encryption を引き続き使用できます。 2028 年 9 月 15 日に、ADE 対応ワークロードは引き続き実行されますが、暗号化されたディスクは VM の再起動後にロック解除に失敗し、サービスが中断されます。
新しい VM の ホストで暗号化 を使用するか、 コンフィデンシャル コンピューティング ワークロード用の OS ディスク暗号化を使用して機密 VM サイズ を検討します。 サービスの中断を回避するために、すべての ADE 対応 VM (バックアップを含む) を提供終了日より前にホストで暗号化に移行する必要があります。 詳細については、「 Azure Disk Encryption からホストでの暗号化への移行 」を参照してください。
この記事では、仮想マシンを Azure Disk Encryption (ADE) からホストでの暗号化に移行するための詳細なガイダンスを提供します。 インプレース変換はサポートされていないため、移行プロセスでは新しいディスクと VM を作成する必要があります。
移行の概要
Azure Disk Encryption (ADE) は BitLocker (Windows) または dm-crypt (Linux) を使用して VM 内のデータを暗号化しますが、ホストでの暗号化では VM の CPU リソースを使用せずに VM ホスト レベルでデータを暗号化します。 ホストでの暗号化では、コンピューティングとストレージの間の一時ディスク、キャッシュ、データ フローなど、すべての VM データにエンドツーエンドの暗号化を提供することで、Azure の既定のサーバー側暗号化 (SSE) が強化されます。
詳細については、「 マネージド ディスク暗号化オプションの概要 」および「 ホストでの暗号化を使用したエンドツーエンド暗号化の有効化」を参照してください。
移行の制限事項と考慮事項
移行プロセスを開始する前に、移行戦略に影響を与える次の重要な制限事項と考慮事項を確認してください。
インプレース移行なし: ADE で暗号化されたディスクをホストでの暗号化に直接変換することはできません。 移行するには、新しいディスクと VM を作成する必要があります。
Linux OS ディスクの制限: Azureでは、Linux OS ディスクでの ADE の無効化はサポートされていません。 ADE で暗号化された OS ディスクを使用する Linux VM の場合は、新しい OS ディスクを使用して新しい VM を作成します。
Windows ADE 暗号化パターン: Windows VM では、Azure Disk Encryptionは OS ディスクのみ、またはすべてのディスク (OS + データ ディスク) のみを暗号化できます。 Windows VM 上のデータ ディスクのみを暗号化することはできません。
UDE フラグの永続化: Azure Disk Encryption で暗号化されたディスクには、暗号化解除後も保持される Unified Data Encryption (UDE) フラグがあります。 コピー オプションを使用するスナップショットとディスク コピーの両方で、この UDE フラグが保持されます。 移行では、Upload メソッドを使用して新しいマネージド ディスクを作成し、VHD BLOB データをコピーする必要があります。このデータは、ソース ディスクのメタデータを含まない新しいディスク オブジェクトを作成します。
ダウンタイムが必要: 移行プロセスでは、ディスク操作と VM の再作成のために VM のダウンタイムが必要です。
ドメイン参加済み VM: VM が Active Directory ドメインの一部である場合は、さらに手順が必要です。
- 削除する前に、ドメインから元の VM を削除します。
- 新しい VM を作成した後、ドメインに再度参加します。
- Linux VM の場合は、VM をマネージド ドメインに手動で参加させます。
詳細については、「Microsoft Entra Domain Services とは」を参照してください。
[前提条件]
移行を開始する前に、次の手順を実行します。
データをバックアップする: 移行プロセスを開始する前に、すべての重要なデータのバックアップを作成します。
プロセスをテストする: 可能であれば、最初に非運用 VM で移行プロセスをテストします。
暗号化リソースを準備する: VM サイズがホストでの暗号化をサポートしていることを確認します。 最新の VM サイズでは、この機能がサポートされています。 VM サイズの要件の詳細については、 ホストでの暗号化を使用したエンドツーエンドの暗号化の有効化に関するページを参照してください。
ドキュメントの構成: ネットワーク設定、拡張機能、接続されているリソースなど、現在の VM 構成を記録します。
移行の手順
次の移行手順は、ほとんどのシナリオで機能し、オペレーティング システムごとに具体的な違いがあります。
Important
暗号化された OS ディスクを持つ Linux VM は、インプレースで復号化できません。 これらの VM の場合は、新しい OS ディスクを使用して新しい VM を作成し、データを移行します。 以下の一般的なプロセスを確認した後、「 暗号化された OS ディスクを使用した Linux VM の移行 」セクションを参照してください。
Azure Disk Encryption を無効にする
まず、可能であれば既存のAzure Disk Encryptionを無効にします。
- Windows: 暗号化を無効にし、Windowsで暗号化拡張機能を削除する方法に関する記事の手順に従います。
- Linux: データ ディスクのみが 暗号化されている場合は、「暗号化を無効にする」に従って 、Linux で暗号化拡張機能を削除します。 OS ディスクが暗号化されている場合は、暗号化されたOS ディスクを使用した Linux VM の移行に関する記事を参照してください。
ADE 無効化コマンドを実行すると、Azure portal の VM 暗号化の状態がすぐに "SSE + PMK" に変わります。 ただし、OS レベルでの実際の復号化プロセスには時間がかかり、暗号化されたデータの量によって異なります。 次の手順に進む前に、OS レベルの復号化が完了していることを確認する必要があります。
Windows VM の場合:
- 管理者としてコマンド プロンプトを開き、
manage-bde -statusを実行します。 - すべてのボリュームに "完全に復号化された" 状態が表示されていることを確認します。
- 暗号化解除の割合に、暗号化されたすべてのボリュームに対して 100% が表示されていることを確認します。
Linux VM の場合 (データ ディスクのみ):
-
sudo cryptsetup status /dev/mapper/<device-name>を実行します。 - 暗号化されたデバイスがアクティブでなくなったことを確認します。
-
lsblkを実行して、暗号化されたマッピングが残っていないことを確認します。
完全な暗号化解除を待ってからディスクの移行を続行し、データの整合性を確保します。
新しいマネージド ディスクを作成する
ADE 暗号化メタデータを引き継がない新しいディスクを作成します。 このプロセスは、Windows VM と Linux VM の両方で機能し、Linux OS ディスクに固有の考慮事項があります。
Important
Azureからマネージド ディスクをコピーするときに、512 バイトのオフセットを追加します。 Azureは、ディスク サイズを報告するときにフッターを省略します。 このオフセットを追加しないと、コピーは失敗します。 次のスクリプトでは、このオフセットが自動的に追加されます。
OS ディスクを作成する場合は、--hyper-v-generation <yourGeneration>にaz disk createを追加します。
# Set variables
sourceDiskName="MySourceDisk"
sourceRG="MyResourceGroup"
targetDiskName="MyTargetDisk"
targetRG="MyResourceGroup"
targetLocation="eastus"
# For OS disks, specify either "Windows" or "Linux"
# For data disks, omit the targetOS variable and --os-type parameter
targetOS="Windows"
# Get source disk size in bytes
sourceDiskSizeBytes=$(az disk show -g $sourceRG -n $sourceDiskName --query '[diskSizeBytes]' -o tsv)
# Create a new empty target disk with upload capability
az disk create -g $targetRG -n $targetDiskName -l $targetLocation --os-type $targetOS --for-upload --upload-size-bytes $(($sourceDiskSizeBytes+512)) --sku standard_lrs
# Generate SAS URIs for both disks
targetSASURI=$(az disk grant-access -n $targetDiskName -g $targetRG --access-level Write --duration-in-seconds 86400 --query [accessSas] -o tsv)
sourceSASURI=$(az disk grant-access -n $sourceDiskName -g $sourceRG --access-level Read --duration-in-seconds 86400 --query [accessSas] -o tsv)
# Copy the disk data by using AzCopy
azcopy copy $sourceSASURI $targetSASURI --blob-type PageBlob
# Revoke SAS access when complete
az disk revoke-access -n $sourceDiskName -g $sourceRG
az disk revoke-access -n $targetDiskName -g $targetRG
この方法では、クリーンな移行に不可欠な Azure Disk Encryption メタデータ (UDE フラグ) なしで新しいディスクが作成されます。
暗号化を使用して新しい VM を作成する
選択した暗号化方法で新しく作成したディスクを使用して、新しい VM を作成します。
セキュリティ要件に応じて、複数の暗号化オプションから選択できます。 この記事では、最も一般的な移行パスである、ホストで暗号化を使用して新しい VM を作成する手順について説明します。 その他の暗号化オプションについては、「 マネージド ディスク暗号化オプションの概要」を参照してください。
ホストで暗号化を使用して新しい VM を作成する
ホストでの暗号化は、Azure Disk Encryptionのカバレッジに最も近いものになります。 このセクションでは、ホストでの暗号化について説明します。
OS ディスクの場合:
# For Windows OS disks
az vm create
--resource-group "MyResourceGroup"
--name "MyVM-New"
--os-type "Windows"
--attach-os-disk "MyTargetDisk"
--encryption-at-host true
# For Linux OS disks
# az vm create
# --resource-group "MyResourceGroup"
# --name "MyVM-New"
# --os-type "Linux"
# --attach-os-disk "MyTargetDisk"
# --encryption-at-host true
データ ディスクの場合:
# Enable encryption at host on the VM
az vm update
--resource-group "MyResourceGroup"
--name "MyVM-New"
--encryption-at-host true
# Attach the newly created data disk
az vm disk attach
--resource-group "MyResourceGroup"
--vm-name "MyVM-New"
--name "MyTargetDisk"
新しいディスクを確認して構成する
ホストで暗号化を使用して新しい VM を作成した後、オペレーティング システム用にディスクを正しく確認して構成します。
Windows VM の場合:
- ディスク文字が正しく割り当てられていることを確認します。
- アプリケーションがディスクに正しくアクセスできることを確認します。
- 特定のディスク ID を参照するアプリケーションまたはスクリプトを更新します。
Linux VM の場合:
-
/etc/fstabを新しいディスク UUID で更新します。 - データ ディスクを正しいマウント ポイントにマウントします。
# Get UUIDs of all disks
sudo blkid
# Mount all disks defined in fstab
sudo mount -a
Windowsと Linux の両方で、アプリケーションまたはワークロードに固有のより多くの構成手順が必要になる場合があります。
暗号化とクリーンアップを確認する
ホストでの暗号化が Windows VM と Linux VM の両方で適切に構成されていることを確認します。
# Check encryption at host status
az vm show --resource-group "MyResourceGroup" --name "MyVM-New" --query "securityProfile.encryptionAtHost"
ホストでの暗号化が正常に動作していることを確認した後:
- VM の機能をテストして、アプリケーションが正しく動作することを確認します。
- データがアクセス可能で、そのままであることを確認します。
- 移行に問題がなければ、元のリソースを削除します。
# Delete the original VM
az vm delete --resource-group "MyResourceGroup" --name "MyVM-Original" --yes
# Delete the original disk
az disk delete --resource-group "MyResourceGroup" --name "MySourceDisk" --yes
暗号化された OS ディスクを使用した Linux VM の移行
Linux OS ディスクでは暗号化を無効にできないため、プロセスはWindowsとは異なります。
ホストで暗号化が有効になっている新しい VM を作成します。
az vm create \ --resource-group "MyResourceGroup" \ --name "MyVM-New" \ --image "Ubuntu2204" \ --encryption-at-host true \ --admin-username "azureuser" \ --generate-ssh-keysデータ移行オプションの場合:
- アプリケーション データ: SCP、rsync、またはその他のファイル転送方法を使用してデータをコピーします。
- 構成: 重要な構成ファイルと設定をレプリケートします。
- 複雑なアプリケーション: アプリケーションに適したバックアップと復元の手順を使用します。
# Example of using SCP to copy files from source to new VM az vm run-command invoke -g MyResourceGroup -n MyVM-Original --command-id RunShellScript \ --scripts "scp -r /path/to/data azureuser@new-vm-ip:/path/to/destination"
新しい VM を作成した後:
元の環境と一致するように新しい VM を構成します。
- 同じネットワーク構成を設定します。
- 同じアプリケーションとサービスをインストールします。
- 同じセキュリティ設定を適用します。
元の VM を使用停止する前に、十分にテストします。
この方法は、Windows VM と Linux VM の両方で機能しますが、暗号化された OS ディスクを持つ Linux VM では、インプレースで暗号化を解除できない場合に特に重要です。
データ移行のガイダンスについては、「SCP を使用して VHD をAzureにアップロードし、ファイルを Linux VM にコピーする」を参照してください。
AVD ホスト プールに推奨される方法
Azure Virtual Desktop (AVD) 環境では、ディスク レベルの移行を試みるのではなく、セッション ホストを再デプロイすることをお勧めします。
プールされたホスト プールと個人用ホスト プールの両方で、サポートされている方法は、Azure Disk Encryption (ADE) が有効なセッション ホストを、ホストで暗号化が有効になっている新しい仮想マシンに置き換える方法です。
手順
新しいゴールデン イメージを作成します。
- Azure Disk Encryptionが有効になっていないことを確認します。
- アプリケーションと構成を検証します。
新しいセッション ホストをデプロイします。
- Azure Compute Gallery またはカスタム イメージを使用します。
- VM 作成時にホストで暗号化を有効にします。 詳細については、 ホストでの暗号化を使用したエンドツーエンドの暗号化の有効化に関するページを参照してください。
新しいセッション ホストをホスト プールに追加します。
- セッション ホストが正常であり、接続を受け入れることを確認します。
ワークロードを検証します。
- FSLogixなど、ユーザー プロファイルへのアクセスを確認します。
- アプリケーションとポリシーを検証します。
既存の ADE 対応セッション ホストをドレインします。
- ドレイン モードを有効にして、新しいセッションをブロックします。
- 既存のセッションが終了するまで待つか、ユーザーを手動でサインオフします。
古いセッション ホストを削除して使用を停止します。
- ホスト プールからセッション ホストを削除します。
- 関連付けられている仮想マシンとディスクを削除します。
ドメインに参加している VM に関する考慮事項
VM が Active Directory ドメインのメンバーである場合は、移行プロセス中にさらに手順が必要です。
移行前のドメインステップ
- ドキュメント ドメイン メンバーシップ: 現在のドメイン、組織単位 (OU)、および特別なグループ メンバーシップを記録します。
- コンピューター アカウントのメモ: Active Directoryでコンピューター アカウントを管理します。
- ドメイン固有の構成をバックアップする: ドメイン固有の設定、グループ ポリシー、または証明書を保存します。
ドメインの削除プロセス
ドメインから削除する: 元の VM を削除する前に、次のいずれかの方法を使用してドメインから削除します。
- Windowsで
Remove-ComputerPowerShell コマンドレットを使用します。 - ワークグループに変更するには、[システムプロパティ]ダイアログを使用します。
- Active Directory ユーザーとコンピューターからコンピューター アカウントを手動で削除します。
- Windowsで
Active Directoryのクリーンアップ: 孤立したコンピューター アカウントまたは DNS エントリを削除します。
移行後にドメインに再参加
新しい VM をドメインに参加させる: ホストで暗号化を使用して新しい VM を作成した後、ドメインに参加させます。
-
Windows:
Add-Computerを使用するPowerShell コマンドレットまたはシステム プロパティ。 - Linux: ドメインをホストするドメイン サービスに対して手動構成を使用します。
-
Windows:
ドメイン設定を復元する: ドメイン固有の構成、グループ ポリシー、または証明書を再適用します。
ドメイン機能の確認: ドメイン認証、グループ ポリシー アプリケーション、ネットワーク リソース アクセスをテストします。
Linux ドメイン参加
Microsoft Entra Domain Servicesを使用する Linux VM の場合は、手動の Linux ドメイン参加手順を使用して VM をマネージド ドメインに参加させます。 詳細については、「Ubuntu Linux 仮想マシンを Microsoft Entra Domain Services マネージド ドメインに参加させる」を参照してください。
ドメインに関する重要な考慮事項
- 新しい VM には別のコンピューター SID があり、一部のアプリケーションに影響する可能性があります。
- Kerberos チケットとキャッシュされた資格情報を更新します。
- ドメイン統合アプリケーションによっては、再構成が必要な場合があります。
- 移行中にドメイン サービスが一時的に失われる可能性を計画します。
移行後の検証
移行が完了したら、ホストでの暗号化が正しく機能していることを確認します。
ホストの状態で暗号化を確認する: ホストでの暗号化が有効になっていることを確認します。
az vm show --resource-group "MyResourceGroup" --name "MyVM-New" --query "securityProfile.encryptionAtHost"VM の機能をテストする: アプリケーションとサービスが正しく動作していることを確認します。
ディスク暗号化の確認: ディスクが適切に暗号化されていることを確認します。
Get-AzDisk -ResourceGroupName "MyResourceGroup" -DiskName "MyVM-OS-New" | Select-Object Name, DiskStateパフォーマンスの監視: 移行前と移行後のパフォーマンスを比較して、予想される改善点を確認します。
暗号化検証の詳細については、 ホストでの暗号化を使用したエンドツーエンドの暗号化の有効化に関するページを参照してください。
Cleanup
移行と検証が成功した後:
古い VM を削除する: 元の ADE で暗号化された VM を削除します。
古いディスクを削除する: 元の暗号化されたディスクを削除します。
Key Vault アクセス ポリシーの更新: 他のディスク暗号化ソリューションでは、標準の Key Vault 承認メカニズムが使用されます。 Azure Disk Encryption の Key Vault が不要になった場合は、そのアクセス ポリシーを更新して、特別なディスク暗号化設定を無効にします。
az keyvault update --name "YourKeyVaultName" --resource-group "YourResourceGroup" --enabled-for-disk-encryption false
- リソースのクリーンアップ: 移行中に作成された一時的なリソースをすべて削除します。
- ドキュメントの更新: ホストでの暗号化への移行を反映するようにインフラストラクチャのドキュメントを更新します。
一般的な問題と解決策
VM サイズはホストでの暗号化をサポートしていません
解決策: サポートされている VM サイズの一覧 を確認し、必要に応じて VM のサイズを変更します。
移行後に VM を起動できない
解決策: すべてのディスクが正しく接続されていること、および OS ディスクがブート ディスクとして設定されていることを確認します。
ホストでの暗号化が有効になっていない
解決策: --encryption-at-host true パラメーターを使用して VM が作成され、サブスクリプションがこの機能をサポートしていることを確認します。
パフォーマンスの問題が解決しない
解決策: ホストでの暗号化が適切に有効になっており、VM サイズが予想されるパフォーマンスをサポートしていることを確認します。
次のステップ
- マネージド ディスク暗号化オプションの概要
- ホストでの暗号化を使用してエンドツーエンドの暗号化を有効にする - Azure portal
- ホストでの暗号化を使用してエンドツーエンドの暗号化を有効にする - Azure PowerShell
- ホストでの暗号化を使用してエンドツーエンドの暗号化を有効にする - Azure CLI
- Azure Disk Storage のサーバー側暗号化
- Windows VM の Azure Disk Encryption
- Linux VM 用の Azure Disk Encryption
- Azure Disk Encryption に関する FAQ
- VHD を Azure にアップロードするか、マネージド ディスクを別のリージョンにコピーする