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

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

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

インスタンスのインスタンスタイプによって、0 から 24 のインスタンスストアボリュームをインスタンスに使用できます。インスタンスで使用できる任意のインスタンスストアボリュームを使用するには、AMI の作成時またはインスタンスの起動時にそれらを指定する必要があります。インスタンスが実行中は、AMI の作成時、またはインスタンスの起動時に EBS ボリュームを追加するか、アタッチすることもできます。

インスタンスにボリュームを追加するときに、Amazon EC2 が使用するデバイス名を指定します。詳細については、「Windows インスタンスでのデバイスの名前付け」を参照してください。AWS Windows Amazon マシンイメージ (AMI) には、Amazon EC2 でインスタンスストアおよび EBS ボリュームを Windows ディスクおよびドライブ文字にマップするのに使用するドライバー一式が含まれています。Citrix paravirtualized (PV) または AWS 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 ロゴを右クリックし、[Disk Management] を選択します。Windows Server 2008 で、[Start] をクリックし、[Administrative Tools] をポイントし、[Computer Management] を選択します。次に、[Disk Management] を選択します。

  3. ディスクを確認します。[Disk 0] はルートボリュームで、これは C:\ としてマウントされる EBS ボリュームです。他に表示されているディスクがない場合、インスタンスにインスタンスストアボリュームがなく、AMI の作成時またはインスタンスの起動時に EBS ボリュームを指定しなかったことを意味します。それ以外の場合は、他のディスクが表示されます。たとえば、追加の空の EBS ボリュームとともに m3.medium インスタンスを起動した場合、次のディスクが利用できます。[Disk 1] は EBS ボリュームで、[Disk 2] はインスタンスストアボリュームです。

     ルートボリューム、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 # Create a hash table that maps each device to a SCSI target $Map = @{"0" = '/dev/sda1'} for($x = 1; $x -le 25; $x++) {$Map.add($x.ToString(), [String]::Format("xvd{0}",[char](97 + $x)))} for($x = 26; $x -le 51; $x++) {$Map.add($x.ToString(), [String]::Format("xvda{0}",[char](71 + $x)))} for($x = 52; $x -le 77; $x++) {$Map.add($x.ToString(), [String]::Format("xvdb{0}",[char](45 + $x)))} for($x = 78; $x -le 103; $x++) {$Map.add($x.ToString(), [String]::Format("xvdc{0}",[char](19 + $x)))} for($x = 104; $x -le 129; $x++) {$Map.add($x.ToString(), [String]::Format("xvdd{0}",[char]($x - 7)))} Try { # Use the metadata service to discover which instance the script is running on $InstanceId = (Invoke-WebRequest '169.254.169.254/latest/meta-data/instance-id').Content $AZ = (Invoke-WebRequest '169.254.169.254/latest/meta-data/placement/availability-zone').Content $Region = $AZ.Substring(0, $AZ.Length -1) #Get the volumes attached to this instance $BlockDeviceMappings = (Get-EC2Instance -Region $Region -Instance $InstanceId).Instances.BlockDeviceMappings } 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 | % { $Drive = $_ # Find the partitions for this drive Get-WmiObject -Class Win32_DiskDriveToDiskPartition | Where-Object {$_.Antecedent -eq $Drive.Path.Path} | %{ $D2P = $_ # Get details about each partition $Partition = Get-WmiObject -Class Win32_DiskPartition | Where-Object {$_.Path.Path -eq $D2P.Dependent} # Find the drive that this partition is linked to $Disk = Get-WmiObject -Class Win32_LogicalDiskToPartition | Where-Object {$_.Antecedent -in $D2P.Dependent} | %{ $L2P = $_ #Get the drive letter for this partition, if there is one Get-WmiObject -Class Win32_LogicalDisk | Where-Object {$_.Path.Path -in $L2P.Dependent} } $BlockDeviceMapping = $BlockDeviceMappings | Where-Object {$_.DeviceName -eq $Map[$Drive.SCSITargetId.ToString()]} # Display the information in a table New-Object PSObject -Property @{ Device = $Map[$Drive.SCSITargetId.ToString()]; Disk = [Int]::Parse($Partition.Name.Split(",")[0].Replace("Disk #","")); Boot = $Partition.BootPartition; Partition = [Int]::Parse($Partition.Name.Split(",")[1].Replace(" Partition #","")); SCSITarget = $Drive.SCSITargetId; DriveLetter = If($Disk -eq $NULL) {"NA"} else {$Disk.DeviceID}; VolumeName = If($Disk -eq $NULL) {"NA"} else {$Disk.VolumeName}; VolumeId = If($BlockDeviceMapping -eq $NULL) {"NA"} else {$BlockDeviceMapping.Ebs.VolumeId} } } } | Sort-Object Disk, Partition | Format-Table -AutoSize -Property Disk, Partition, SCSITarget, DriveLetter, Boot, VolumeId, Device, VolumeName

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

Copy
Set-ExecutionPolicy RemoteSigned

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

 アクセスキー設定なしの PowerShell スクリプトの出力。

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

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

次の表は、Citrix PV および AWS PV ドライバーがインスタンスストアボリュームを 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