スループット最適化 HDD ボリュームと Cold HDD ボリューム - Amazon Elastic Compute Cloud

スループット最適化 HDD ボリュームと Cold HDD ボリューム

Amazon EBS によって提供される HDD-Backed ボリュームは、次のカテゴリに分類されます。

  • スループット最適化 HDD: 高いスループットを必要とするアクセス頻度の高いワークロード向けの低コストの HDD

  • Cold HDD: アクセス頻度の低いワークロード向けの最も低コストの HDD 設計

HDD がサポートするボリュームの概要

以下は、HDD-Backed ボリュームのユースケースと特性の概要です。インスタンスごとの最大 IOPS とスループットについては、「Amazon EBS 最適化インスタンスを使用する」を参照してください。

スループット最適化 HDD Cold HDD
ボリュームタイプ st1 sc1
耐久性 99.8%~99.9% の耐久性 (0.1%~0.2% の年間故障率) 99.8%~99.9% の耐久性 (0.1%~0.2% の年間故障率)
ユースケース
  • ビッグデータ

  • データウェアハウス

  • ログ処理

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

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

ボリュームサイズ 125 GiB~16 TiB 125 GiB~16 TiB
ボリュームあたりの最大 IOPS (1 MiB I/O) 500 250
ボリュームあたりの最大スループット 500 MiB/秒 250 MiB/秒
Amazon EBS マルチアタッチ サポート外 サポート外
ブートボリューム サポート外 サポート外

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

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

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

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

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

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

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

スループット最適化 HDD (st1) ボリュームは Cold HDD (sc1) ボリュームに類似していますが、アクセスが頻繁なデータをサポートするように設計されています。

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

スループット最適化 HDD (st1) ボリュームを EBS 最適化インスタンスにアタッチすると、一貫したパフォーマンスが維持され、1 年で 99% の期間、想定されるスループットパフォーマンスの少なくとも 90% のボリュームが提供されます。

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

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

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


            st1 バーストバケット

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

(Volume size) × (Credit accumulation rate per TiB) = Throughput

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

容量が大きいほど、これらの制限はリニアにスケールされ、スループットは最大 500 MiB/秒に制限されます。バケットが枯渇した後は、スループットは TiB あたり 40 MiB/秒のベースラインレートに制限されます。

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

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

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

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

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

ボリュームサイズ (TiB) ST1 ベーススループット (MiB/秒) ST1 バーストスループット (MiB/秒)
0.125 5 31
0.5 20 125
1 40 250
2 80 500
3 120 500
4 160 500
5 200 500
6 240 500
7 280 500
8 320 500
9 360 500
10 400 500
11 440 500
12 480 500
12.5 500 500
13 500 500
14 500 500
15 500 500
16 500 500

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


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

スループット最適化 HDD (st1) ボリュームのスナップショットを作成すると、スナップショットの進行中はボリュームのベースライン値までパフォーマンスが低下します。

CloudWatch メトリクスとアラームを使用してバーストバケットバランスをモニタリングする方法については、「ボリュームのバーストバケットバランスのモニタリング」を参照してください。

Cold HDD ボリューム

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

Cold HDD (sc1) ボリュームは、スループット最適化 HDD (st1) ボリュームに類似していますが、アクセス頻度が低いデータをサポートするように設計されています。

注記

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

Cold HDD (sc1) ボリュームを EBS 最適化インスタンスにアタッチすると、一貫したパフォーマンスが維持され、1 年で 99% の期間、想定されるスループットパフォーマンスの少なくとも 90% のボリュームが提供されます。

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

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


            sc1 バーストバケット

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

(Volume size) × (Credit accumulation rate per TiB) = Throughput

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

容量が大きいほど、これらの制限はリニアにスケールされ、スループットは最大 250 MiB/秒に制限されます。バケットが枯渇した後は、スループットは TiB あたり 12 MiB/秒のベースラインレートに制限されます。

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

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

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

80 MiB/s 3.125 TiB × ----------- = 250 MiB/s 1 TiB

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

ボリュームサイズ (TiB) SC1 ベーススループット (MiB/秒) SC1 バーストスループット (MiB/秒)
0.125 1.5 10
0.5 6 40
1 12 80
2 24 160
3 36 240
3.125 37.5 250
4 48 250
5 60 250
6 72 250
7 84 250
8 96 250
9 108 250
10 120 250
11 132 250
12 144 250
13 156 250
14 168 250
15 180 250
16 192 250

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


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

Cold HDD (sc1) ボリュームのスナップショットを作成すると、スナップショットの進行中はボリュームのベースライン値までパフォーマンスが低下します。

CloudWatch メトリクスとアラームを使用してバーストバケットバランスをモニタリングする方法については、「ボリュームのバーストバケットバランスのモニタリング」を参照してください。

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 seconds = 2.91 hours 500 MiB/s 0.00047684 TiB/s
  • 最大スキャン時間

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

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

  • 最適なスキャン時間

    5 TiB 5 TiB ----------- = ------------------- = 20972 seconds = 5.83 hours 250 MiB/s 0.000238418 TiB/s
  • 最大スキャン時間

    5.83 hours -------------- = 6.54 hours (0.90)(0.99)

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

ボリュームサイズ (TiB) ST1 のスキャン時間、バーストを含む (時間)* SC1 のスキャン時間、バーストを含む (時間)*
1 1.17 3.64
2 1.17 3.64
3 1.75 3.64
4 2.33 4.66
5 2.91 5.83
6 3.50 6.99
7 4.08 8.16
8 4.66 9.32
9 5.24 10.49
10 5.83 11.65
11 6.41 12.82
12 6.99 13.98
13 7.57 15.15
14 8.16 16.31
15 8.74 17.48
16 9.32 18.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 CloudWatch の Amazon EBS BurstBalance メトリクスを使用します。このメトリクスは、バーストバケット内の残りの st1sc1 のスループットクレジットを示します。BurstBalance メトリクス、および I/O に関連するその他のメトリクスの詳細については、「I/O の特性とモニタリング」を参照してください。CloudWatch では、BurstBalance 値があるレベルまで落ち込んだ時に通知するアラームを設定することもできます。詳細については、「CloudWatch アラームを作成する」を参照してください。