ブロック・ストレージの容量とパフォーマンス
ワークロードにとって最適なブロック・ストレージのボリューム・サイズとパフォーマンス・レベルを選択することは重要です。 Block Storage for VPC をプロビジョニングする際、ボリュームのサイズと必要なパフォーマンス・レベルを指定することができます。
容量
Block Storage for VPC では、要件に合わせて、さまざまな範囲のストレージ容量を利用できます。 データ・ボリュームに選択した ストレージ・プロファイルに基づい て、10~16,000GBの容量を1GB単位で指定できます。 デフォルトでは、ブート・ボリュームは 100 GB です。 カスタムイメージからインスタンスをプロビジョニングする場合、最大250GBまでのブートボリューム容量を指定できます。
可用性を選択 特別なアクセス権を持つ許可リストのお客様として、最大32,000GBの第2世代データボリュームをプロビジョニングできます。 また、第二世代ブートボリュームを最初に作成した後に、その容量を32,000GBまで増やすこともできます。
Block Storage ボリュームプロファイル
Block Storage for VPCボリュームをプロビジョニングするとき、ストレージ要件に最適な ボリューム プロファイル を指定します。 事前定義された 3 つのティア・プロファイルがあります。また、カスタム・プロファイルを選択することもできます。 階層型ファミリーのプロファイル は、最大容量16,000GBまでのボリュームに対して、あらかじめ定義されたIOPS/GBパフォーマンスを提供します。 カスタム・プロファイルは、選択できるボリューム容量と IOPS の範囲が定義されています。 これらのプロファイルは、ソリッド・ステート・ドライブ (SSD) を基盤としています。
可用性の選択 許可リストに登録されたお客様として、3000~64,000 IOPSの範囲でカスタムIOPSを持つSSD定義パフォーマンスプロファイルで ボリュームをプロビジョニングできます。 新しいボリュームを 3rd 世代のインスタンス・プロファイルを 持つ仮想サーバー・インスタンスにアタッチすると、48,000 を超える IOPS レベルを達成できます。 カスタム容量とカスタムIOPSに加えて、第2世代ボリュームのカスタム・スループット制限を指定することもできます。 プロビジョニングされた帯域幅の上限は、125~1024 MBps(1000~8192 Mbps)の範囲内で任意に設定できる。
ボリューム帯域幅の割り振り方法
VSIで利用可能な帯域幅は、接続されたストレージ容量とネットワークに分割されます。 初期ボリュームとネットワーク帯域幅の割り当ては、インスタンスプロファイル に依存します。 インスタンスの合計帯域幅の割り振りを調整し、ネットワーク帯域幅とボリューム帯域幅のバランスを取ることができます。 初期ボリュームとネットワーク帯域幅の割り振りを指定しない場合、合計インスタンス帯域幅の 25% がボリューム帯域幅に割り振られ、75% がネットワーク帯域幅に割り振られます。 詳しくは、インスタンス・プロファイルの帯域幅割り振りを参照してください。
プロビジョニングされたボリュームの帯域幅は、インスタンスにアタッチされたときにボリュームに割り当てられる可能性のある最大の帯域幅です。 接続されたボリュームの合計最大帯域幅がインスタンスで使用可能な量を超える場合、各ボリューム接続の帯域幅は比例して設定されます。 帯域幅は、対応するボリュームの最大帯域幅に基づいて割り振られます。 詳しくは、ブロック・ストレージ・ボリュームの帯域幅割り振りを参照してください。
I/Oサイズがパフォーマンスに与える影響
IOPS指標は、ストレージデバイスが1秒間に実行できる読み取りおよび/または書き込み操作の数を示す。 ボリュームのIOPS値は、すべてのボリュームプロファイルについて、16KBのブロックサイズ、50対50の読み取り/書き込みランダム作業負荷に基づいています。 16 KB のデータの読み取り/書き込みごとに、1 回の読み取り/書き込み操作としてカウントされます。16 KB 未満の単一の書き込みは、単一の書き込み操作としてカウントされます。
プロビジョニングされたボリュームのスループット上限は、IOPSの数値に事前設定されたスループット乗数を掛けて決定されます。 プリセット値は、3 IOPS/GBまたは5 IOPS/GBの階層化プロファイルの場合は16 KB、10 IOPS/GBの階層化またはカスタムボリュームプロファイルの場合は256 KBです。 指定するIOPSが高いほど、スループットも高くなる。 最大スループットは1024MBps(8192Mbps)。 最大スループット値の詳細については、ブロック・ストレージ・プロファイル・ファミリー を参照してください。
アプリケーションのI/Oサイズは、ストレージ・ボリューム・プロファイルのスループット乗数と異なる場合があり、ワークロードのパフォーマンスに直接影響します。 アプリケーションのI/Oサイズが16KBより小さい場合、スループット制限の前にIOPS制限に達する。 逆に、アプリケーションのI/Oサイズが事前設定のスループット乗数よりも大きい場合、スループットの制限がIOPSの制限に達する前に、スループットの制限に達する可能性があります。
以下の表は、アプリケーションのI/OサイズとプロビジョニングされたIOPSがスループットにどのように影響するかの例を示しています。スループットは、以下のように計算されます。
- 平均アプリケーションI/Oサイズ x IOPS = スループット
平均 I/O サイズ (KB) | IOPS | スループット (Mbps) |
---|---|---|
4 (Linux® の場合の標準) | 1,000 | 4 |
8 (Oracle の場合の標準) | 1,000 | 8 |
16 | 1,000 | 16 |
32 (SQL Server の場合の標準) | 500 | 16 |
64 | 250 | 16 |
128 | 128 | 16 |
これらの例では、パフォーマンスの上限は1000 IOPSまたは16 MBpsのスループットです。 より小さなI/Oサイズを使用すれば最大IOPSを達成できるが、スループットはボリュームが処理できる値より小さくなる。
次の例は、IOPSの値が同じ場合、平均I/Oサイズが小さくなるとスループットがどのように減少するかを示しています。
- 16 KB * 6000 IOPS == ~94 MBps
- 8 KB * 6000 IOPS == ~47 MBps
- 4 KB * 6000 IOPS == ~23 MBps
IOサイズを変更せずにストレージボリュームのパフォーマンスを向上させたい場合は、IOPS値を調整することができます。 そのためには、ボリュームの容量も増やす必要があるかもしれない。 詳細については、 ブロックストレージボリュームのIOPSを調整するを 参照してください。 第一世代ボリュームのスループット制限を直接調整することはできません。
第二世代ボリュームIOサイズ、IOPS、Throughputの関係を理解することは、第2世代ボリュームを作成したり、IOPSやThroughputの値を調整したりする場合に特に重要です。 設定するIOPS値は、16KBのIOサイズを想定している。 プリセットのスループット値は、指定されたIOPS値にプリセットの16KB IOサイズを乗算することで計算される。 アプリケーションで16KBより大きなIOサイズを使用する場合、スループット制限に達するため、最大IOPS値を達成できない可能性があります。 このような場合は、ボリュームのThroughput値を増やして、より多くのIOPSを得ることができます。 詳細については、 Block Storage for VPC ボリュームのスループット制限の調整を 参照してください