2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2インスタンスで2TB以上のEBSを割り当てる際の注意点

Posted at

背景

AWS EC2でWindows Serverをセットアップしている際、特定のインスタンスサイズのEC2に対して2TB以上のEBSを割り当てようとすると、2TBを超える容量が認識されないという問題に遭遇しました。本記事では、その原因と解決策について解説します。

問題の概要

特定のインスタンス(例:i3.large)でWindows Serverに2TB以上のEBSボリュームを割り当てた際、以下の問題が発生しました:

  • ディスク管理ツールでボリュームを確認すると、2TB以上の領域が利用できない。
  • 割り当てたEBS自体は正常に作成されているが、OS側で制限されているように見える。

原因

調査の結果、問題の原因は以下の通りでした:

  1. EC2インスタンスがBIOS経由で起動していたこと。
  2. BIOS経由で起動する場合、Windows OSのディスク形式が自動的にMBR(Master Boot Record)形式になること。
    • MBR形式のディスクは最大で2TBまでの容量しかサポートしていません。詳細はWindows公式ドキュメントに記載されています。
  3. MBR形式では2TB以上のディスク容量を認識できないため、GPT(GUID Partition Table)形式に変更する必要があること。

そのため、2TB以上のディスクを使用するには、MBR形式ではなくGPT形式を使用する必要があります。

解決策

解決策として、以下の2つが考えられます。

1. ディスクをGPT形式に変更する

以下の手順でMBR形式のディスクをGPT形式に変更します:

  1. EC2インスタンスにログインする。
  2. ディスクの管理ツールを開く。
  3. 該当のディスクを右クリックし、「ボリュームの削除」を選択して既存のパーティションを削除します(注意:データはすべて消去されます)。
  4. 再度ディスクを右クリックし、「GPTディスクに変換」を選択。
  5. 新しいパーティションを作成してフォーマットします。

これにより、2TB以上のEBSボリュームが正常に認識されるようになります。

PowerShellでも以下のコマンドで実行可能です。

# 管理者権限でPowerShellを実行してください

# 現在のディスク情報を確認
Get-Disk

# 対象のディスク番号を設定(適切なディスク番号に変更)
$DiskNumber = 1

# ディスクをクリアしてGPTに変換し、新しいパーティションを作成
Clear-Disk -Number $DiskNumber -RemoveData -Confirm:$false
Initialize-Disk -Number $DiskNumber -PartitionStyle GPT
New-Partition -DiskNumber $DiskNumber -UseMaximumSize -AssignDriveLetter | 
    Format-Volume -FileSystem NTFS -NewFileSystemLabel "<ドライブ名>" -Confirm:$false

2. UEFI経由で起動する

別の解決策として、インスタンスをUEFI経由で起動する設定に変更します。UEFIはGPTディスク形式をサポートしているため、2TB以上のディスクを制限なく利用できます。

UEFIでの起動要件

  1. OSがUEFIをサポートしていること
    Windows Server 2012以降はUEFIをサポートしています。(※EC2側がUEFIをサポートしていないとBIOS経由になります。)

  2. EC2インスタンスタイプがUEFIをサポートしていること
    すべてのインスタンスタイプがUEFI起動をサポートしているわけではないため、事前に確認が必要です。

以下のAWS CLIコマンドで、インスタンスタイプがUEFIをサポートしているか確認できます:

# 1. i3.largeの場合

aws ec2 describe-instance-types --instance-types i3.large --query "InstanceTypes[0].SupportedBootModes" --output table

-----------------------
|DescribeInstanceTypes|
+---------------------+
|  legacy-bios        |
+---------------------+
# m6i.largeの場合
aws ec2 describe-instance-types --instance-types m6i.large --query "InstanceTypes[0].SupportedBootModes" --output table

-----------------------
|DescribeInstanceTypes|
+---------------------+
|  legacy-bios        |
|  uefi               |
+---------------------+

結果にuefiと表示されていれば、そのインスタンスタイプはUEFIをサポートしています。

まとめ

Windows Serverで2TB以上のEBSを使用する場合、以下の点を確認してください:

  1. ディスクがGPT形式であること。
  2. インスタンスタイプがUEFIをサポートしていること。
  3. OSがUEFIに対応していること。

これらを満たしていない場合、MBR形式の制限により2TB以上のディスク容量を使用できません。UEFI起動とGPT形式を正しく設定することで、この問題を回避できます。

検証などで小さいサイズを割り当てていて、商用環境になった際にこの問題に直面することも考えられます。参考になりましたら幸いです。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?