メニュー
Amazon Elastic Compute Cloud
Windows インスタンス用ユーザーガイド

Windows インスタンスのボリュームへのディスクのマッピング

EBS ボリュームを持つ Windows インスタンスは、ルートボリュームとして機能します。Windows インスタンスが AWS PV または Citrix PV ドライバーを使用している場合、オプションで最大 25 個のボリュームを追加し、合計 26 個のボリュームを作成できます。詳細については、「インスタンスボリューム数の制限」を参照してください。

インスタンスのインスタンスタイプによって、0 から 24 のインスタンスストアボリュームをインスタンスに使用できます。インスタンスで使用できる任意のインスタンスストアボリュームを使用するには、AMI の作成時またはインスタンスの起動時にそれらを指定する必要があります。インスタンスが実行中は、AMI の作成時、またはインスタンスの起動時に EBS ボリュームを追加するか、アタッチすることもできます。ボリュームを使用可能にする方法の詳細については、「Windows でボリュームを使用できるようにする」参照してください。

インスタンスにボリュームを追加するときに、Amazon EC2 が使用するデバイス名を指定します。詳細については、「Windows インスタンスでのデバイスの名前付け」を参照してください。AWS Windows Amazon マシンイメージ (AMI) には、Amazon EC2 でインスタンスストアおよび EBS ボリュームを Windows ディスクおよびドライブ文字にマップするのに使用するドライバー一式が含まれています。AWS PV または Citrix PV ドライバーを使用する Windows AMI からインスタンスを起動した場合、このページ記載された関係を使用して、Windows ディスクをインスタンスストアおよび EBS ボリュームにマップできます。Windows AMI で Red Hat PV ドライバーを使用している場合、Citrix ドライバーを使用するようにインスタンスを更新できます。詳細については、「Windows AMI での PV ドライバーのアップグレード」を参照してください。

Windows Disk Management を使用したディスクの一覧表示

Windows Disk Management を使用して Windows インスタンス上のディスクを検索できます。

Windows インスタンス上のディスクを見つけるには

  1. リモートデスクトップを使用して Windows インスタンスにログインします。詳細については、「Windows インスタンスへの接続」を参照してください。

  2. [Disk Management] ユーティリティを起動します。

    Windows Server 2012 または Windows Server 2016 では、タスクバーで、Windows ロゴを右クリックし、[Disk Management] を選択します。Windows Server 2008 では、[Start]、[Administrative Tools]、[Computer Management]、[Disk Management] の順に選択します。

  3. ディスクを確認します。ルートボリュームは、C:\ としてマウントされた EBS ボリュームです。他に表示されているディスクがない場合は、AMI を作成したとき、またはインスタンスを起動したときに追加のボリュームを指定しませんでした。

    以下は、インスタンスストアボリューム (ディスク 2) と追加の EBS ボリューム (ディスク 1) で、m3.medium インスタンスを起動した場合に使用可能なディスクの例です。

     ルートボリューム、1 つのインスタンスストアボリューム、および 1 つの EBS ボリュームによるディスク管理。
  4. [Disk 1] というラベルが付けられた灰色のペインを右クリックし、[Properties] を選択します。[Location] の値を書き留め、デバイス名に対するディスクデバイスマッピング のテーブルで調べます。たとえば、次のディスクに Bus Number 0, Target Id 9, LUN 0 という場所があるとします。EBS のテーブルから、この場所のデバイス名は xvdj であることがわかります。

     EBS ボリュームの場所。
  5. EBS ボリュームのデバイス名をそのボリューム ID にマッピングするには、コンピュータの Amazon EC2 コンソールを開きます。ナビゲーションペインの [Instances] を選択し、インスタンスを選択します。[Block devices] でデバイス名をクリックし、EBS ID を見つけます。この例では、ボリューム ID は vol-0a07f3e37b14708b9 です。

     Amazon EC2 コンソールでブロックデバイスマッピングを表示します。

    Amazon EC2 コンソールには、EBS ボリュームのみが表示されます。

Windows PowerShell を使用したディスクの一覧表示

次の PowerShell スクリプトでは、各ディスクと対応するデバイス名およびボリュームを一覧表示できます。

Copy
# List the Windows disks function Get-EC2InstanceMetadata { param([string]$Path) (Invoke-WebRequest -Uri "http://169.254.169.254/latest/$Path").Content } function Convert-SCSITargetIdToDeviceName { param([int]$SCSITargetId) If ($SCSITargetId -eq 0) { return "/dev/sda1" } $deviceName = "xvd" If ($SCSITargetId -gt 25) { $deviceName += [char](0x60 + [int]($SCSITargetId / 26)) } $deviceName += [char](0x61 + $SCSITargetId % 26) return $deviceName } Try { $InstanceId = Get-EC2InstanceMetadata "meta-data/instance-id" $AZ = Get-EC2InstanceMetadata "meta-data/placement/availability-zone" $Region = $AZ.Remove($AZ.Length - 1) $BlockDeviceMappings = (Get-EC2Instance -Region $Region -Instance $InstanceId).Instances.BlockDeviceMappings $VirtualDeviceMap = @{} (Get-EC2InstanceMetadata "meta-data/block-device-mapping").Split("`n") | ForEach-Object { $VirtualDevice = $_ $BlockDeviceName = Get-EC2InstanceMetadata "meta-data/block-device-mapping/$VirtualDevice" $VirtualDeviceMap[$BlockDeviceName] = $VirtualDevice $VirtualDeviceMap[$VirtualDevice] = $BlockDeviceName } } Catch { Write-Host "Could not access the AWS API, therefore, VolumeId is not available. Verify that you provided your access keys." -ForegroundColor Yellow } Get-WmiObject -Class Win32_DiskDrive | ForEach-Object { $DiskDrive = $_ $Volumes = Get-WmiObject -Query "ASSOCIATORS OF {Win32_DiskDrive.DeviceID='$($DiskDrive.DeviceID)'} WHERE AssocClass=Win32_DiskDriveToDiskPartition" | ForEach-Object { $DiskPartition = $_ Get-WmiObject -Query "ASSOCIATORS OF {Win32_DiskPartition.DeviceID='$($DiskPartition.DeviceID)'} WHERE AssocClass=Win32_LogicalDiskToPartition" } If ($DiskDrive.PNPDeviceID -like "*PROD_PVDISK*") { $BlockDeviceName = Convert-SCSITargetIdToDeviceName($DiskDrive.SCSITargetId) $BlockDevice = $BlockDeviceMappings | Where-Object { $_.DeviceName -eq $BlockDeviceName } $VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null } } ElseIf ($DiskDrive.PNPDeviceID -like "*PROD_AMAZON_EC2_NVME*") { $BlockDeviceName = Get-EC2InstanceMetadata "meta-data/block-device-mapping/ephemeral$($DiskDrive.SCSIPort - 2)" $BlockDevice = $null $VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null } } Else { $BlockDeviceName = $null $BlockDevice = $null $VirtualDevice = $null } New-Object PSObject -Property @{ Disk = $DiskDrive.Index; Partitions = $DiskDrive.Partitions; DriveLetter = If ($Volumes -eq $null) { "N/A" } Else { $Volumes.DeviceID }; EbsVolumeId = If ($BlockDevice -eq $null) { "N/A" } Else { $BlockDevice.Ebs.VolumeId }; Device = If ($BlockDeviceName -eq $null) { "N/A" } Else { $BlockDeviceName }; VirtualDevice = If ($VirtualDevice -eq $null) { "N/A" } Else { $VirtualDevice }; VolumeName = If ($Volumes -eq $null) { "N/A" } Else { $Volumes.VolumeName }; } } | Sort-Object Disk | Format-Table -AutoSize -Property Disk, Partitions, DriveLetter, EbsVolumeId, Device, VirtualDevice, VolumeName

注記

このスクリプトでは、PS の AWS ツールで設定されたプロファイル、またはインスタンスにアタッチされた IAM ロールが必要です。

このスクリプトを実行する前に、次のコマンドを実行して、PowerShell スクリプトの実行を有効にしてください。

Copy
Set-ExecutionPolicy RemoteSigned

スクリプトをコピーし、Windows インスタンスに .ps1 ファイルとして保存します。アクセスキーを設定しないでスクリプトを実行すると、次のような出力が表示されます。

Disk Partitions DriveLetter EbsVolumeId           Device    VirtualDevice VolumeName
---- ---------- ----------- -----------           ------    ------------- ----------
   0          0 N/A         N/A                   xvdca     ephemeral0    N/A
   1          0 N/A         N/A                   xvdcb     ephemeral1    N/A
   2          1 C:          vol-0700f4fea74dd54c3 /dev/sda1 root          Windows
   3          0 N/A         vol-04969de6b6616d55c xvdf      ebs2          N/A

インスタンスを起動したときに Amazon EC2 にアクセスできるようにするポリシーで IAM ロールを指定した場合、または AWS Tools for Windows PowerShell ユーザーガイド の「AWS の認証情報の使用」で説明されているように Windows インスタンスで認証情報を設定した場合は、NA ではなく、VolumeId の EBS ボリュームのボリューム ID が取得されます。

デバイス名に対するディスクデバイスマッピング

次の表は、Citrix PV および AWS PV ドライバーが non-NVMe インスタンスストアボリュームを Windows ボリュームにどのようにマップするかを示しています。使用できるインスタンスストアボリュームの数は、インスタンスタイプによって決まります。詳細については、「インスタンスストアボリューム」を参照してください。

場所 デバイス名

Bus Number 0, Target ID 78, LUN 0

xvdca

Bus Number 0, Target ID 79, LUN 0

xvdcb

Bus Number 0, Target ID 80, LUN 0

xvdcc

Bus Number 0, Target ID 81, LUN 0

xvdcd

Bus Number 0, Target ID 82, LUN 0

xvdce

Bus Number 0, Target ID 83, LUN 0

xvdcf

Bus Number 0, Target ID 84, LUN 0

xvdcg

Bus Number 0, Target ID 85, LUN 0

xvdch

Bus Number 0, Target ID 86, LUN 0

xvdci

Bus Number 0, Target ID 87, LUN 0

xvdcj

Bus Number 0, Target ID 88, LUN 0

xvdck

Bus Number 0, Target ID 89, LUN 0

xvdcl

次の表は、Citrix PV および AWS PV ドライバーが EBS ボリュームを Windows ボリュームにどのようにマップするかを示しています。詳細については、「Windows インスタンスでのデバイスの名前付け」を参照してください。

場所 デバイス名

Bus Number 0, Target ID 0, LUN 0

/dev/sda1 です

Bus Number 0, Target ID 1, LUN 0

xvdb

Bus Number 0, Target ID 2, LUN 0

xvdc

Bus Number 0, Target ID 3, LUN 0

xvdd

Bus Number 0, Target ID 4, LUN 0

xvde

Bus Number 0, Target ID 5, LUN 0

xvdf

Bus Number 0, Target ID 6, LUN 0

xvdg

Bus Number 0, Target ID 7, LUN 0

xvdh

Bus Number 0, Target ID 8, LUN 0

xvdi

Bus Number 0, Target ID 9, LUN 0

xvdj

Bus Number 0, Target ID 10, LUN 0

xvdk

Bus Number 0, Target ID 11, LUN 0

xvdl

Bus Number 0, Target ID 12, LUN 0

xvdm

Bus Number 0, Target ID 13, LUN 0

xvdn

Bus Number 0, Target ID 14, LUN 0

xvdo

Bus Number 0, Target ID 15, LUN 0

xvdp

Bus Number 0, Target ID 16, LUN 0

xvdq

Bus Number 0, Target ID 17, LUN 0

xvdr

Bus Number 0, Target ID 18, LUN 0

xvds

Bus Number 0, Target ID 19, LUN 0

xvdt

Bus Number 0, Target ID 20, LUN 0

xvdu

Bus Number 0, Target ID 21, LUN 0

xvdv

Bus Number 0, Target ID 22, LUN 0

xvdw

Bus Number 0, Target ID 23, LUN 0

xvdx

Bus Number 0, Target ID 24, LUN 0

xvdy

Bus Number 0, Target ID 25, LUN 0

xvdz