Linux VM の Azure Disk Encryption のトラブルシューティング ガイド

Important

Azure Disk Encryption は、 2028 年 9 月 15 日に廃止される予定です。 その日まで、中断することなく Azure Disk Encryption を引き続き使用できます。 2028 年 9 月 15 日に、ADE 対応ワークロードは引き続き実行されますが、暗号化されたディスクは VM の再起動後にロック解除に失敗し、サービスが中断されます。

新しい VM の ホストで暗号化 を使用するか、 コンフィデンシャル コンピューティング ワークロード用の OS ディスク暗号化を使用して機密 VM サイズ を検討します。 サービスの中断を回避するために、すべての ADE 対応 VM (バックアップを含む) を提供終了日より前にホストで暗号化に移行する必要があります。 詳細については、「 Azure Disk Encryption からホストでの暗号化への移行 」を参照してください。

適用対象: ✔️ Linux VM ✔️ フレキシブルなスケール セット

このガイドは、所属組織が Azure Disk Encryption を使用しいる IT プロフェッショナル、情報セキュリティ アナリスト、クラウド管理者を対象としています。 この記事では、ディスク暗号化に関連する問題のトラブルシューティングを行います。

これらの手順を実行する前に、まず、暗号化しようとしている VM が サポートされている VM サイズとオペレーティング システムの中にあり、すべての前提条件を満たしていることを確認します。

Linux OS ディスクの暗号化のトラブルシューティング

Linux オペレーティング システム (OS) ディスクの暗号化には、ディスク全体の暗号化プロセスを実行する前に OS ドライブをマウント解除する必要があります。 ドライブをマウント解除できない場合は、"次の操作後のマウント解除に失敗しました …" というエラー メッセージが表示されることがあります。

このエラーは、サポートされているストック ギャラリー イメージから変更された環境を使用して VM で OS ディスク暗号化を試みる場合に発生する可能性があります。 サポートされているイメージから逸脱すると、OS ドライブのマウントを解除する拡張機能に影響を与える場合があります。 偏差の例を次に示します。

  • カスタマイズされたイメージが、サポートされているファイル システムやパーティション構成と一致しなくなった。
  • SAP、MongoDB、Apache Cassandra、Docker などの大規模なアプリケーションは、暗号化の前に OS にインストールされて実行されている場合、サポートされない。 Azure Disk Encryptionディスク暗号化用の OS ドライブの準備で必要に応じて、これらのプロセスを安全にシャットダウンすることはできません。 開いているファイル ハンドルを OS ドライブに保持しているアクティブなプロセスがまだ存在する場合、Azure Disk Encryptionは OS ドライブのマウントを解除できないため、OS ドライブの暗号化に失敗します。
  • 暗号化が有効化された時刻に近い時刻にカスタム スクリプトが実行された、または暗号化プロセス中に、VM でその他の変更が実行された。 この競合は、Azure Resource Manager テンプレートに、同時に実行する複数の拡張機能が定義されている場合、またはカスタム スクリプト拡張機能またはその他のアクションがディスクの暗号化と同時に実行された場合に発生する可能性があります。 このような手順をシリアル化して分離すると、問題が解決する可能性があります。
  • 暗号化を有効にする前にセキュリティ強化 Linux (SELinux) が無効になっていないため、マウント解除手順は失敗します。 SELinux は、暗号化が完了した後に再び有効にすることができます。
  • OS ディスクが Logical Volume Manager (LVM) スキームを使用している。 一部の LVM データ ディスクはサポートされていますが、LVM OS ディスクはサポートされていません。
  • 最小メモリ要件が満たされていない (OS ディスクの暗号化には 7 GB を推奨)。
  • データ ドライブは、/mnt/ ディレクトリ下に、または相互に再帰的にマウントされます (例: /mnt/data1、/mnt/data2、/data3 + /data3/data4)。

Ubuntu 14.04 LTS の既定のカーネルの更新

Ubuntu 14.04 LTS イメージには、既定のカーネル バージョン 4.4 が付属しています。 このカーネルバージョンには、OS暗号化プロセス中にメモリ不足(OOM)キラーが dd コマンドを不適切に終了する既知の問題があります。 このバグは、最新のAzureチューニングされた Linux カーネルで修正されています。 このエラーを回避するには、イメージの暗号化を有効にする前に、次のコマンドを使用して、Azureチューニングされたカーネル 4.15 以降に更新します。

sudo apt-get update
sudo apt-get install linux-azure
sudo reboot

VM が新しいカーネルに再起動したら、次を実行して新しいカーネルのバージョンを確認します。

uname -a

Azure 仮想マシン エージェントおよび拡張機能のバージョンを更新する

Azure Disk Encryption操作は、サポートされていないバージョンの Azure Virtual Machine Agent を使用する仮想マシン イメージで失敗する可能性があります。 暗号化を有効にする前に、Linux イメージを 2.2.38 より前のバージョンのエージェントで更新します。 詳細については、「VM で Azure Linux エージェントを更新する方法」および「Azure の仮想マシンのエージェントの最小バージョンのサポート」を参照してください。

Microsoft.Azure.Security.AzureDiskEncryption または Microsoft.Azure.Security.AzureDiskEncryptionForLinux ゲスト エージェント拡張機能の適切なバージョンも必要です。 Azure 仮想マシン エージェントの前提条件が満たされ、サポートされているバージョンの仮想マシン エージェントが使用されている場合は、拡張機能のバージョンがプラットフォームによって自動的に管理および更新されます。

Microsoft。OSTCExtensions.AzureDiskEncryptionForLinux 拡張機能は非推奨となり、サポートされなくなりました。

Linux のディスクを暗号化できない

場合によっては、OS ディスク暗号化の開始時に Linux ディスク暗号化 が停止し、SSH が無効になっているように見えます。 暗号化プロセスは、ストック ギャラリー イメージで完了するまでに 3 ~ 16 時間かかる場合があります。 マルチテラバイト サイズのデータ ディスクを追加する場合、プロセスには数日かかる場合があります。

Linux OS ディスクの暗号化シーケンスは、OS ドライブを一時的にマウント解除します。 その後、OS ディスク全体のブロック単位の暗号化を実行した後、OS ディスクを暗号化された状態で再マウントします。 Linux のディスク暗号化では、暗号化が行われている間、VM を同時に使用することはできません。 暗号化を完了するために必要な時間は、VM のパフォーマンス特性によって大幅に異なる可能性があります。 これらの特性には、ディスクのサイズとストレージ アカウントのストレージが Standard であるか Premium (SSD) であるかが含まれます。

OS ドライブが暗号化されている間、VM はサービス状態に入り、進行中のプロセスの中断を防ぐため SSH を無効にします。 暗号化の状態を確認するには、Azure PowerShell の Get-AzVmDiskEncryptionStatus コマンドを使用して ProgressMessage フィールドを確認します。 データおよび OS ディスクが暗号化される際に、ProgressMessage によって一連の状態が報告されます。

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings :
ProgressMessage            : Transitioning

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Encryption succeeded for data volumes

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Provisioning succeeded

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : EncryptionInProgress
DataVolumesEncrypted       : EncryptionInProgress
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : OS disk encryption started

ProgressMessage は、暗号化プロセスの大部分にわたって "OS disk encryption started" (OS ディスクの暗号化が開始されました) のままです。 暗号化が正常に完了すると、ProgressMessage は戻って次のようになります。

PS > Get-AzVMDiskEncryptionStatus -ResourceGroupName "MyResourceGroup" -VMName "myVM"

OsVolumeEncrypted          : Encrypted
DataVolumesEncrypted       : NotMounted
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Encryption succeeded for all volumes

このメッセージが表示されたら、暗号化された OS ドライブを使用する準備が整い、VM をもう一度使用できます。

このプロセスの途中で OS 暗号化が失敗したことをブート情報、進行状況メッセージ、またはエラーが報告した場合は、暗号化の直前に作成されたスナップショットまたはバックアップに VM を復元します。 メッセージの例として、このガイドで説明されている "マウント解除に失敗しました" というエラーがあります。

暗号化を再試行する前に、VM の特性を再評価して、すべての前提条件が満たされていることを確認してください。

ファイアウォール内の Azure Disk Encryption のトラブルシューティング

分離されたネットワークでのディスク暗号化

暗号化状態のトラブルシューティング

VM 内で暗号化を解除した後でも、ポータルにディスクが暗号化済みとして表示される場合があります。 この問題は、高レベルのAzure Disk Encryption管理コマンドを使用する代わりに、低レベルのコマンドを使用して VM 内からディスクを直接暗号化解除する場合に発生する可能性があります。 上位レベルのコマンドは、VM 内からディスクを暗号化解除します。 VM の外部では、VM に関連付けられている重要なプラットフォーム レベルの暗号化設定と拡張機能の設定も更新されます。 これらの設定が調整されていない場合、プラットフォームは暗号化の状態を報告したり、VM を適切にプロビジョニングしたりできません。

PowerShell で Azure Disk Encryption を無効にするには、最初に Disable-AzVMDiskEncryption、次に Remove-AzVMDiskEncryptionExtension を使用します。 暗号化を無効にする前に Remove-AzVMDiskEncryptionExtension を実行すると、失敗します。

CLI で Azure Disk Encryption を無効にするには、az vm encryption disable を使用します。

次のステップ

このドキュメントでは、Azure Disk Encryption で発生する一般的な問題の詳細と、それらの問題のトラブルシューティング方法について説明しました。 このサービスと機能の詳細については、次の記事を参照してください。