Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

Managed Disks を PowerShellで操作する

Managed Disksの操作には3.5以降のAzure PowerShellが必要です。この記事を執筆時点で Web Platform Installerからはインストールできないので、以下から入手する必要があります。

Release 3.5.0 · Azure/azure-powershell · GitHub

Diskの状態を見る

Diskの状態を見るにはGet-AzureRmDisk コマンドを使います。出力は例は以下の通り。沢山あるときは、Format-Tableでパイプすれば、見やすくなるでしょう。

PS C:\> Get-AzureRmDisk

ResourceGroupName  : MANAGEDDISKS
AccountType        : StandardLRS
TimeCreated        : 2017/02/09 12:13:10
OsType             : Windows
CreationData       : Microsoft.Azure.Management.Compute.Models.CreationData
DiskSizeGB         : 128
EncryptionSettings : 
OwnerId            : /subscriptions/xxx/resourceGroups/manageddisks/providers/Microsoft.Compute/virtualMachines/mmvm
ProvisioningState  : Succeeded
Id                 : /subscriptions/xxx/resourceGroups/MANAGEDDISKS/providers/Microsoft.Compute/disks/mmvm
Name               : mmvm
Type               : Microsoft.Compute/disks
Location           : japaneast
Tags               : {}

空のDiskを作る

2つのコマンドを組み合わせます。New-AzureRmDiskConfigで構成オブジェクトを作って、New-AzureRmDiskへの入力とします。

> $config = New-AzureRmDiskConfig -AccountType StandardLRS -OsType Windows -Location japaneast -CreateOption Empty -DiskSizeGB 32
> New-AzureRmDisk -ResourceGroupName manageddisks -DiskName datadisk -Disk $config

AccountType        : StandardLRS
TimeCreated        : 2017/02/10 10:38:04
OsType             : Windows
CreationData       : Microsoft.Azure.Management.Compute.Models.CreationData
DiskSizeGB         : 32
EncryptionSettings : 
OwnerId            : 
ProvisioningState  : Succeeded
Id                 : /subscriptions/xxx/resourceGroups/manageddisks/providers/Microsoft.Compute/disks/datadisk
Name               : datadisk
Type               : Microsoft.Compute/disks
Location           : japaneast
Tags               : 

既存のVMにアタッチする

上で作ったDataDiskを既存のVMにアタッチしてみます。今までのようにBLOB URIではなく、Managed DiskのIDを指定するのが違うところでしょうか。特に操作感は変わらないと思います。

$disk = Get-AzureRmDisk -ResourceGroupName manageddisks -DiskName datadisk
$vm = Get-AzureRmVM -ResourceGroupName manageddisks -Name mmvm
$vm = Add-AzureRmVMDataDisk -VM $vm -Name datadisk -CreateOption Attach -ManagedDiskId $disk.Id -Lun 2
Update-AzureRmVM -ResourceGroupName manageddisks -VM $vm

以上