1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Managed Diskを暗号化しているVMが起動できなくなった話

Posted at

背景

  • 仕事で使っているVMで、平日朝8時に自動起動するようにしている
  • 普段通りRDP接続を試みるも接続できない
    • セッションを張ろうとしてタイムアウトする
  • PortalからVMの状態を確認 -> Status: Failed
  • どうやらEncrypted Data Diskのマウントに失敗している模様
    • 前の週の金曜日まではマウントできていた
  • Ignite 開催中

MSさん、なんかUpdateしましたね?

環境

  • Target
    • Azure VM
      • Windows Server 2016 (1607)
      • Managed Disk (OS/Data)
      • Azure Disk Encryption: Enable (OS/Data)
  • Client
    • Windows 10 Enterprise (1703)
      • Azure PowerShell (5.6.0)

トラブルシューティング開始

ひとまずData DiskをDetach

  • Portalにてポチポチ
  • もしくはPowerShell
$vm = Get-AzureRmVM -ResourceGroupName hogeRG -Name win01
$vm = Remove-AzureRmVMDataDisk -VM $vm -DataDiskNames win01-data
Update-AzureRmVM -ResourceGroupName hogeRG -VM $vm

VMが起動できることを確認

  • Portalにてポチポチ
  • もしくはPowerShell
Start-AzureRmVM -ResourceGroupName hogeRG -Name win01
# $vm | Start-AzureRmVM
# でもできると思う (Portalを開いていたのでPortalから起動した)

無事に起動。

なにも考えずにAttachしてみる

  • Portalにてポチポチ
  • もしくはPowerShell
$disk = Get-AzureRmDisk -ResourceGroupName hogeRG -DiskName win01-data
$vm = Get-AzureRmVM -ResourceGroupName hogeRG -Name win01
$vm = Add-AzureRmVMDataDisk -VM $vm -Caching None -Lun 0 -CreateOption Attach -ManagedDiskId $disk.Id
Update-AzureRmVM -ResourceGroupName hogeRG -VM $vm

エラーが返ってくる。

Disk '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/hogeRG/providers/Microsoft.Compute/disks/win01-data' contains encryption settings and cannot be used as a data disk. In order to use it as a data disk, remove the encryption settings and ensure that the virtual machine’s OS disk has the applicable encryption settings defined.

Data DiskをAttachできる状態にしてAttachする

正直わけわからん状態だったがPortalをよく見てみると、暗号化が無効のディスクとしてAttachしようとしている様子。

ワークアラウンドとしては以下が思いつく。

  1. 暗号化が有効になっているディスクとしてAttachする
  2. Diskの暗号化を解除してAttachする

1. 暗号化が有効になっているディスクとしてAttachしてみる

MSさん謹製のドキュメントにこんなものがあったので、Data Diskでもできるんじゃね?ってことでやってみた。

Azure Disk Encryption に関する付録 - OS ディスクをアタッチするときにシークレット URL を指定する

ここで上げているCmdletがSet-AzureRmVMOSDiskなのでSet-AzureRmVMDataDiskに置き換えてみる。

PS > Set-AzureRmVMDataDisk -VM
VM                   DiskSizeInGB         Verbose              InformationAction    OutVariable
Name                 StorageAccountType   Debug                ErrorVariable        OutBuffer
Lun                  WriteAccelerator     ErrorAction          WarningVariable      PipelineVariable
Caching              DefaultProfile       WarningAction        InformationVariable

Set-AzureRmVMOSDiskにあったDiskEncryptionKeyVaultIdオプションやDiskEncryptionKeyUrlオプションがない。

つまりこのCmdletではできない。

Add-AzureRmVMDataDiskを見てもそれらしいオプションは存在しない。

よってこの方法ではAttachできない。

2. Diskの暗号化を解除してAttachする

Diskの暗号化をしたときはVMにAttachした状態でやったので、Disk単体で解除なんてできるのか?と不安だったができた。

PortalではできないのでPowerShellにて。
使うCmdletは以下。

New-AzureRmDiskUpdateConfig

Exampleでは、EncryptionSettingsEnabledオプションを有効にしているが、ここでは無効にする。

$diskupdateconfig = New-AzureRmDiskUpdateConfig -EncryptionSettingsEnabled $false
Update-AzureRmDisk -ResourceGroupName hogeRG -DiskName win01-data -DiskUpdate $diskupdateconfig

無効になっていることを確認する。

(Get-AzureRmDisk -ResourceGroupName hogeRG -DiskName win01-data).EncryptionSettings

Enabled DiskEncryptionKey KeyEncryptionKey
------- ----------------- ----------------
  False

やったぜ。
早速Attachしてみる。

$vm = Get-AzureRmVM -ResourceGroupName hogeRG -Name win01
$vm = Add-AzureRmVMDataDisk -VM $vm -Caching None -Lun 0 -CreateOption Attach -ManagedDiskId $disk.Id
Update-AzureRmVM -ResourceGroupName hogeRG -VM $vm

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
                         True         OK OK

ぱんぱかぱーん!
OSからも認識していることを確認!

まとめ

AzureはやっぱりPowerShellに限る。
あとMSさん、"さいれんとあっぷでーと"は勘弁して...。

また同じことが起こったら面倒だから、暗号化解除しておこうかしら...。
Security Centerで怒られるけど...。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?