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

Amazon EBS ボリュームの種類

Amazon EBS では以下のボリュームタイプを提供しており、これらはパフォーマンス特性と料金が異なるため、アプリケーションのニーズに応じてストレージのパフォーマンスとコストを調整できます。これらのボリュームタイプは、次の 2 つのカテゴリに分類されます。

  • I/O サイズの小さい頻繁な読み取り/書き込み操作を含むトランザクションワークロード用に最適化された SSD-Backed ボリューム。主要なパフォーマンス属性は IOPS です。

  • 大きなストリーミングワークロード用に最適化された HDD-Backed ボリューム。パフォーマンスの測定単位としては、IOPS よりスループット (MiB/秒単位で計測) の方が適しています。

次の表は、各ボリュームタイプのユースケースとパフォーマンス特性をまとめたものです。

 ソリッドステートドライブ (SSD)ハードディスクドライブ (HDD)
ボリュームタイプ汎用 SSD (gp2)*プロビジョンド IOPS SSD(io1スループット最適化 HDD(st1Cold HDD(sc1
説明さまざまなトランザクションワークロードに適した、価格とパフォーマンスのバランスが取れている汎用 SSD ボリュームミッションクリティカルなアプリケーションに適した、最高パフォーマンスの SSD ボリュームアクセス頻度とスループットが高いワークロード用に設計された低コストの HDD ボリュームアクセス頻度の低いワークロード用に設計された低コストの HDD ボリューム
ユースケース
  • ほとんどのワークロードに推奨される

  • システムブートボリューム

  • 仮想デスクトップ

  • 低レイテンシーのインタラクティブなアプリケーション

  • 開発・テスト環境 

  • 持続的な IOPS パフォーマンス、またはボリュームあたり 10,000 IOPS または 160 MiB/秒以上のスループットを必要とする重要なビジネスアプリケーション

    • MongoDB

    • Cassandra

    • Microsoft SQL Server

    • MySQL

    • PostgreSQL

    • Oracle

  • 低コストで安定した高速スループットを必要とするストリーミングワークロード

  • ビッグデータ

  • データウェアハウス

  • ログ処理

  • ブートボリュームには使用できない

  • アクセス頻度の低い大量データ用のスループット指向ストレージ

  • 低いストレージコストが重視されるシナリオ

  • ブートボリュームには使用できない

API 名gp2io1st1sc1
ボリュームサイズ1 GiB~16 TiB 4 GiB~16 TiB 500 GiB~16 TiB500 GiB~16 TiB
最大 IOPS**/ボリューム10,0002 万件500250
最大 スループット/ボリューム†160 MiB/秒320 MiB/秒500 MiB/秒250 MiB/秒
最大 IOPS/インスタンス48,00048,00048,00048,000
最大 スループット/インスタンス800 MiB/秒800 MiB/秒800 MiB/秒800 MiB/秒
主要なパフォーマンス属性IOPSIOPSMiB/秒MiB/秒

*デフォルトのボリュームタイプ

**gp2/io1 は 16 KiB I/O サイズ、st1/sc1 は 1 MiB I/O サイズに基づく

† このスループットを達成するには、r3.8xlargex1.32xlarge など、これをサポートするインスタンスが必要です。

次の表は、旧世代の EBS ボリュームタイプを示しています。旧世代のボリュームより高いパフォーマンスまたはパフォーマンスの安定性が必要であれば、汎用 SSD (gp2) など現行のボリュームタイプの使用を検討するようお勧めします。詳細については、「Amazon EBS の旧世代ボリューム」を参照してください。

旧世代ボリューム
ボリュームタイプEBS マグネティック
説明旧世代の HDD
ユースケースデータへのアクセス頻繁が低いワークロード
API 名standard
ボリュームサイズ1 GiB~1 TiB
最大 IOPS/ボリューム40~200
最大 スループット/ボリューム40 ~ 90 MiB/秒
最大 IOPS/インスタンス48,000
最大 スループット/インスタンス800 MiB/秒
主要なパフォーマンス属性IOPS

Note

Linux AMI では、2 TiB (2048 GiB) 以上のブートボリュームには GPT パーティションテーブルと GRUB 2 が必要です。現在の多くの Linux AMI は MBR パーティションスキームを使用しており、最大 2047 GiB のブートボリュームのみをサポートしています。インスタンスが 2 TiB 以上のブートボリュームで起動しない場合、使用中の AMI は、2047 GiB のブートボリュームサイズに制限されている可能性があります。ブートボリューム以外のボリュームには、Linux インスタンスでこの制限はありません。

インスタンスの構成、I/O 特性、ワークロードのデマンドなど、 EBS ボリュームのパフォーマンスに影響を与える可能性がある要因は複数存在します。EBS ボリュームを最大限活用するための詳細については、「Amazon EBS ボリュームのパフォーマンス on Linux インスタンス」を参照してください。

これらのボリュームタイプの料金情報については、Amazon EBS の料金を参照してください。

汎用 SSD (gp2) ボリューム

汎用 SSD (gp2) ボリュームは、さまざまなワークロードに対応できるコスト効率の高いストレージとして使用できます。これらのボリュームでは、レイテンシーは 1 桁台のミリ秒であり、長時間 3,000 IOPS にバーストできます。最小 100 IOPS (33.33 GiB 以下) から最大 10,000 IOPS (3,334 GiB 以上) まで、ベースラインパフォーマンスは 3 IOPS/GiB (ボリュームサイズ) の割合で線形に拡大します。gp2 ボリュームのサイズ範囲は、1 GiB~16 TiB です。

I/O クレジットおよびバーストパフォーマンス

gp2 ボリュームのパフォーマンスにはボリュームサイズが反映されます。ボリュームサイズによって、ボリュームのベースラインパフォーマンスレベルや I/O クレジットを取得する速さが決まります。ボリュームサイズが大きいほどベースラインパフォーマンスレベルが高くなり、I/O クレジットの取得速度も速くなります。I/O クレジットとは、ベースラインパフォーマンスでは不十分な場合、大量の I/O をバーストする際に gp2 ボリュームで使用できる帯域幅を表します。ボリュームが I/O に対して保持しているクレジットが多いほど、ベースラインパフォーマンスレベルを超えたバーストには時間がかかりますが、より高いパフォーマンスが必要な場合はボリュームのパフォーマンスが向上します。次の図は、gp2 のバーストバケット動作を示しています。

gp2 のバーストバケット

各ボリュームは、初期 I/O クレジットバランス (540 万 I/O クレジット) を受け取ります。これは、30 分間で 3,000 IOPS という最大バーストパフォーマンスを持続するには十分な数のクレジットです。この初期クレジットバランスは、ブートボリュームでの高速な初期起動サイクル、および他のアプリケーションでの優れたブートストラップエクスペリエンスを実現するために設計されました。ボリュームは、ボリュームサイズの 1 GiB あたり 3 IOPS というベースラインパフォーマンスレートで、I/O クレジットを取得します。たとえば、100 GiB の gp2 ボリュームではベースラインパフォーマンスは 300 IOPS になります。

ベースラインのパフォーマンスとバースト IOPS の比較

ベースラインパフォーマンスの I/O レベルよりも高いレベルが必要となる場合は、ボリュームはクレジットバランスの I/O クレジットを利用して、必要なパフォーマンスレベル (最大 3,000 IOPS) までバーストします。1,000 GiB を超えるボリュームのベースラインパフォーマンスは最大バーストパフォーマンス以上になり、I/O クレジットバランスが消耗することはありません。ボリュームで使用される I/O クレジットが毎秒取得される I/O クレジットよりも少ない場合、未使用の I/O クレジットは I/O クレジットバランスに追加されます。ボリュームの最大 I/O クレジットバランスは、初期クレジットバランス (540 万 I/O クレジット) と同じです。

次の表に、いくつかのボリュームサイズとボリュームに関連するベースラインパフォーマンス (I/O クレジットを取得するレート) を示します。また、最大のパフォーマンスレベルである 3,000 IOPS (完全なクレジットバランスで開始された時点のレベル) でのバースト期間、および空のクレジットバランスをボリュームが再補充する際にかかる秒数も示します。

ボリュームサイズ(GiB)

ベースラインパフォーマンス(IOPS)

3,000 IOPS での最大のバースト期間(秒数)

空のクレジットバランスを補充する秒数

1

100

1862

54,000

100

300

2,000

18,000

214 (最大スループットの最小サイズ)

642

2,290

8,412

250

750

2,4007,200

500

1,500

3,600

3,600

750

2,250

7,200

2,400

1,000

3,000

該当なし*

該当なし*

3,334 (最大 IOPS の最小サイズ)

10,000

該当なし*

該当なし*

16,384 (16 TiB、最大ボリュームサイズ)

10,000

該当なし*

該当なし*

* バーストと I/O クレジットは、バーストパフォーマンスがベースラインパフォーマンスを上回る 1,000 GiB 未満のボリュームのみに関連します。

ボリュームのバースト期間は、ボリュームのサイズ、必要なバースト IOPS、およびバーストが開始された時点のクレジットバランスによって異なります。これを次の式で示します。

                             (Credit balance)
Burst duration  =  ------------------------------------
                   (Burst IOPS) - 3(Volume size in GiB)

I/O クレジットバランスが空になったらどうなりますか。

gp2 ボリュームがすべての I/O クレジットバランスを使用した場合、I/O デマンドがベースラインレベルを下回り、未使用のクレジットが I/O クレジットバランスに追加されるまで、ボリュームの最大 IOPS パフォーマンスはベースライン IOPS パフォーマンスレベル (ボリュームがクレジットを取得するレート) で維持され、スループット制限はベースライン IOPS に最大スループットを乗算して 3,000 で除算した値まで低下します。

                                                    (Max throughput) x (Baseline IOPS)
Throughput limit with empty I/O credit balance  =  ------------------------------------
                                                                 3,000

たとえば、空のクレジットバランスを持つ 100 GiB の gp2 ボリュームのベースライン IOPS パフォーマンスの限度は 300 IOPS、スループット制限は 12.8 MiB/秒となります (128 MiB/秒 *300/3000)。ボリュームが大きくなると、ベースラインパフォーマンスが高くなり、クレジットバランスがより速く補充されるようになります。IOPS の測定方法の詳細については、「I/O 特性」を参照してください。

ボリュームのパフォーマンスがベースラインレベルに頻繁に制限されること (空の I/O クレジットバランスが原因) が確認される場合は、より大きな (ベースラインパフォーマンスレベルが高い) gp2 ボリュームの使用を考慮するか、10,000 IOPS を超える持続的な IOPS パフォーマンスが必要となるワークロードに適した io1 ボリュームに切り替えることを考慮してください。

スループットパフォーマンス

gp2 ボリュームの場合、170 GiB 以下のボリュームでは 128 MiB/秒のスループット制限があります。170 GiB を上回るボリュームでは、この制限は GiB あたり 768 KiB/秒のレートで最大 160 MiB/秒 (214 GiB 以上で) まで増加します。

gp2 ボリュームのスループット性能

プロビジョンド IOPS SSD (io1) ボリューム

プロビジョンド IOPS SSD (io1) ボリュームは、ランダムアクセス I/O スループットにおけるストレージパフォーマンスと整合性が重要な、I/O 集約型ワークロード (特にデータベースワークロード) のニーズを満たすように設計されています。io1 ボリュームの場合は、バケットとクレジットのモデルを使用してパフォーマンスを計算する代わりに、ボリュームの作成時に一定の IOPS レートを指定できます。Amazon EBS は、1 年の 99.9 パーセントにわたり、プロビジョンド IOPS の 10 パーセント以内のパフォーマンスを提供します。たとえば、5,000 IOPS のボリュームをプロビジョニングした場合、Amazon EBS は、1 年の 99.9 パーセントにわたり、平均 4,500 IOPS 以上を実現します。

io1 ボリュームのサイズは 4 GiB~16 TiB であり、ボリュームあたり最大 20,000 IOPS をプロビジョニングできます。リクエストされたボリュームサイズに対するプロビジョンド IOPS の最大割合 (GiB 単位) は 50:1 です。たとえば、100 GiB のボリュームは最大 5,000 IOPS でプロビジョニングできます。サイズが 400 GiB 以上のボリュームでは、最大 20,000 IOPS までプロビジョニングできます。

io1 ボリュームのスループット制限は、プロビジョンド IOPS ごとに 256 KiB、最大 (1,280 IOPS で) 320 MiB/秒です。

io1 ボリュームのスループット制限

発生する I/O あたりのレイテンシーは、プロビジョニングされる IOPS とワークロードのパターンによって異なります。最適な I/O レイテンシーを実現するためには、IOPS と GiB の比率を 2:1 より大きくしてプロビジョニングすることをお勧めします。たとえば、2,000 IOPS のボリュームは 1,000 GiB よりも小さくします。

Note

2012 年以前に作成された一部の AWS アカウントでは、us-east-1、us-west-1、または ap-northeast-1 で プロビジョンド IOPS SSD (io1) ボリュームをサポートしていないアベイラビリティーゾーンにアクセスできる可能性があります。これらのリージョンの 1 つに io1 ボリュームを作成できない場合 (またはブロックデバイスマッピングに io1 ボリュームのあるインスタンスを起動できない場合) は、リージョンの別のアベイラビリティーゾーンを試します。アベイラビリティーゾーンが io1 ボリュームをサポートするかどうかは、4 GiB の io1 ボリュームをそのゾーンに作成することで確認できます。

スループット最適化 HDD (st1) ボリューム

スループット最適化 HDD (st1) ボリュームは、IOPS ではなくスループットでパフォーマンスを示す、低コストの磁気ストレージに使用できます。このボリュームタイプは、Amazon EMR、ETL、データウェアハウス、ログ処理など、サイズの大きなシーケンシャルワークロードに適しています。ブート可能な st1 ボリュームはサポートされていません。

Note

このボリュームタイプは、サイズの大きなシーケンシャル I/O が含まれるワークロードに適しており、サイズの小さなランダム I/O を実行するワークロードのお客様には、gp2 の使用をお勧めします。詳細については、「HDD に対する読み取り/書き込みサイズが小さい場合の非効率性」を参照してください。

スループットクレジットとバーストパフォーマンス

gp2 と同様、st1 でもパフォーマンスのためにバーストバケットモデルが使用されます。ボリュームのベースラインスループット (ボリュームのスループットクレジットが蓄積されるレート) は、ボリュームサイズによって決まります。ボリュームのバーストスループット (クレジットがある場合に可能な消費レート) もボリュームサイズによって決まります。ボリュームが大きいほど、ベースラインとバーストスループットの値も大きくなります。また、ボリュームのクレジットが多いほど、バーストレベルでドライブ I/O に使用できる時間が長くなります。

次の図は、st1 のバーストバケット動作を示しています。

st1 のバーストバケット

スループットとスループットクレジットの上限により、st1 ボリュームで使用可能なスループットは、以下の計算式で示されます。

(Volume size) x (Credit accumulation rate per TiB) = Baseline Throughput

1 TiB の st1 ボリュームの場合、バーストスループットは 250 MiB/秒に制限され、バケットのクレジットは 40 MiB/秒で最大 1 TiB 分まで累積されます。

ボリュームが大きくなるとこれらの制限が直線的に拡大し、スループット制限は最大 500 MiB/秒になります。バケットが枯渇した後、スループットは TiB あたり 40 MiB/秒のベースラインレートに制限されます。

ボリュームサイズが 0.5~16 TiB の場合、ベースラインスループットの範囲は 20~500 MiB/秒 (上限) です。次に示すように、この上限には 12.5 TiB で到達します。

            40 MiB/s
12.5 TiB x ---------- = 500 MiB/s
             1 TiB                                                                 

バーストスループットの範囲は、125 MiB/秒~500 MiB/秒 (上限) です。次に示すように、この上限には 2 TiB で到達します。

         250 MiB/s
2 TiB x ---------- = 500 MiB/s
          1 TiB                                                                 

次の表は、st1 のベーススループット値およびバーストスループット値の範囲を示します。

ボリュームサイズ (TiB)ST1 ベーススループット (MiB/秒)ST1 バーストスループット (MiB/秒)
0.520125
140250
280500
3120500
4160500
5200500
6240500
7280500
8320500
9360500
10400500
11440500
12480500
12.5500500
13500500
14500500
15500500
16500500

次の図は、テーブルの値をグラフで示したものです。

st1 のベーススループットとバーストスループットの比較

Note

st1 ボリュームのスループットは、スナップショットの作成中もベースライン値で制限されます。

Cold HDD (sc1) ボリューム

Cold HDD (sc1) ボリュームは、IOPS ではなくスループットでパフォーマンスを示す、低コストの磁気ストレージに使用できます。sc1 は、st1 よりスループット制限が低く、サイズの大きなコールドデータのシーケンシャルワークロードに最適です。データへのアクセス頻度が低く、コストの削減が必要である場合は、低コストなブロックストレージとして sc1 を使用できます。ブート可能な sc1 ボリュームはサポートされていません。

Note

このボリュームタイプは、サイズの大きなシーケンシャル I/O が含まれるワークロードに適しており、サイズの小さなランダム I/O を実行するワークロードのお客様には、gp2 の使用をお勧めします。詳細については、「HDD に対する読み取り/書き込みサイズが小さい場合の非効率性」を参照してください。

スループットクレジットとバーストパフォーマンス

gp2 と同様、sc1 でもパフォーマンスのためにバーストバケットモデルが使用されます。ボリュームのベースラインスループット (ボリュームのスループットクレジットが蓄積されるレート) は、ボリュームサイズによって決まります。ボリュームのバーストスループット (クレジットがある場合に可能な消費レート) もボリュームサイズによって決まります。ボリュームが大きいほど、ベースラインとバーストスループットの値も大きくなります。また、ボリュームのクレジットが多いほど、バーストレベルでドライブ I/O に使用できる時間が長くなります。

sc1 のバーストバケット

スループットとスループットクレジットの上限により、sc1 ボリュームで使用可能なスループットは、以下の計算式で示されます。

(Volume size) x (Credit accumulation rate per TiB) = Baseline Throughput

1 TiB の sc1 ボリュームの場合、バーストスループットは 80 MiB/秒に制限され、バケットのクレジットは 12 MiB/秒で最大 1 TiB 分まで累積されます。

ボリュームが大きくなるとこれらの制限が直線的に拡大し、スループット制限は最大 250 MiB/秒になります。バケットが枯渇した後、スループットは TiB あたり 12 MiB/秒のベースラインレートに制限されます。

ボリュームサイズが 0.5~16 TiB の場合、ベースラインスループットの範囲は 6 MiB/秒~192 MiB/秒 (最大値) です。次に示すように、この最大値には 16 TiB で到達します。

           12 MiB/s
16 TiB x ---------- = 192 MiB/s
            1 TiB                                                                 

バーストスループットの範囲は 40 MiB/秒~250 MiB/秒 (上限) です。次に示すように、この上限には 3.125 TiB で到達します。

             250 MiB/s
3.125 TiB x ----------- = 250 MiB/s
              1 TiB                                                                 

次の表は、sc1 のベーススループット値およびバーストスループット値の範囲を示します。

ボリュームサイズ (TiB)SC1 ベーススループット (MiB/秒)SC1 バーストスループット (MiB/秒)
0.5640
11280
224160
336240
3.12537.5250
448250
560250
672250
784250
896250
9108250
10120250
11132250
12144250
13156250
14168250
15180250
16192250

次の図は、テーブルの値をグラフで示したものです。

sc1 のベーススループットとバーストスループットの比較

マグネティック(standard

マグネティック ボリュームは磁気ドライブを利用しています。データにシーケンシャルアクセスするワークロードや、小さなボリュームサイズで低コストのストレージが必要となるシナリオに最適です。これらのボリュームは、平均約 100 IOPS を実現し、バースト能力は最大約数百 IOPS です。ボリュームのサイズは 1 GiB~1 TiB です。

Note

マグネティック は、旧世代のボリュームです。新しいアプリケーションには、いずれかの新しいボリュームタイプの使用をお勧めします。詳細については、「Amazon EBS の旧世代ボリューム」を参照してください。

HDD ボリュームを使用するときのパフォーマンスに関する考慮事項

HDD ボリュームを使用して最適なスループットを実現するには、次の考慮事項を念頭に置いてワークロードを計画してください。

スループット最適化 HDD と Cold HDD

st1sc1 のバケットサイズはボリュームサイズによって異なり、フルバケットにはフルボリュームスキャンのための十分なトークンが含まれています。ただし、st1 ボリュームと sc1 ボリュームの場合は、サイズが大きくなるほど、インスタンスごとおよびボリュームごとのスループット制限により、ボリュームスキャンの完了にかかる時間が長くなります。ボリュームが小さなインスタンスにアタッチされている場合は、st1 または sc1 のスループット制限よりインスタンスごとのスループットの方に制限されます。

st1sc1 も、全体のうち 99% の時間はバーストスループットの 90% のパフォーマンス安定性を実現できるよう設計されています。毎時間、予測合計スループットの 99% 達成を目標に、準拠しない期間はほぼ均一に分散されています。

次の表は、フルバケットと十分なインスタンススループットを前提として、さまざまなサイズのボリュームに関する最も望ましいスキャン時間を示します。

スキャン時間は、一般的にこの式で示します。

 Volume size
------------- = Scan time
 Throughput

たとえば、パフォーマンス安定性の保証と他の最適化を想定すると、5 TiB のボリュームを持つ st1 のお客様は、フルボリュームスキャンが 2.91~3.27 時間で完了すると予測できます。

   5 TiB            5 TiB
----------- = ------------------- = 10,486 s = 2.91 hours (optimal) 
 500 MiB/s     0.00047684 TiB/s


               2.91 hours
2.91 hours + -------------- = 3.27 hours (minimum expected)
              (0.90)(0.99) <-- From expected performance of 90% of burst 99% of the time

同様に、5 TiB のボリュームを持つ sc1 のお客様は、フルボリュームスキャンが 5.83~6.54 時間で完了すると予測できます。

      5 TiB
------------------- = 20972 s = 5.83 hours (optimal) 
 0.000238418 TiB/s


               5.83 hours
5.83 hours + -------------- = 6.54 hours (minimum expected)
              (0.90)(0.99)

ボリュームサイズ (TiB)ST1 のスキャン時間、バーストを含む (時間)*SC1 のスキャン時間、バーストを含む (時間)*
11.173.64
21.173.64
31.753.64
42.334.66
52.915.83
63.506.99
74.088.16
84.669.32
95.2410.49
105.8311.65
116.4112.82
126.9913.98
137.5715.15
148.1616.31
158.7417.48
169.3218.64

* これらのスキャン時間では、1 MiBのシーケンシャル I/O を実行する際のキューの平均深度 (整数に四捨五入) として 4 以上を前提としています。

したがって、スキャンを早く (最大 500 MiB/秒) 完了するために必要なスループット指向のワークロードがある場合や、または 1 日に複数のフルボリュームスキャンが必要な場合は、st1 を使用してください。コストを最適化している場合、データのアクセス頻度が比較的低い場合、スキャンのパフォーマンスとして 250 MiB/秒を超える必要がない場合は、sc1 を使用してください。

HDD に対する読み取り/書き込みサイズが小さい場合の非効率性

st1 ボリュームおよび sc1 ボリュームのパフォーマンスモデルは、シーケンシャル I/O 用に最適化され、高スループットのワークロードに適しています。多様な IOPS およびスループットのワークロードに対して許容範囲のパフォーマンスを提供しますが、サイズの小さなランダム I/O のワークロードには向いていません。

たとえば、1 MiB 未満の I/O リクエストは、1 MiB の I/O クレジットとしてカウントされます。ただし、I/O がシーケンシャルであれば、1 MiB の I/O ブロックにマージされ、1 MiB の I/O クレジットとしてのみカウントされます。

インスタンスごとのスループット制限

st1 ボリュームと sc1 ボリュームのスループットは常に、次のいずれか小さい方によって決定されます。

  • ボリュームのスループット制限

  • インスタンスのスループット制限

ネットワークボトルネックを回避するには、すべての Amazon EBS ボリュームで、EBS 最適化 EC2 インスタンスを選択することをお勧めします。詳細については、「Amazon EBS 最適化インスタンス」を参照してください。