ブロックストレージサービスとは?Amazon Elastic Block Store (EBS)を紹介

データを保管する役割を担うストレージは、CPUやメモリと並んで重要な構成要素の一つです。
特に、仮想マシンに割り当てることができる「ブロックストレージ」のスペックは「サービスとしてのインフラストラクチャ」(infrastructure as a service: IaaS)の性能に大きく影響します。
主要なクラウドプラットフォームの一つであるAmazon Web Services (AWS)はブロックストレージサービスとしてAmazon Elastic Block Store (EBS)を提供しており、Amazon EBSでは用途に応じていくつかの種類のボリューム(ストレージ)が提供されています。
この記事ではAmazon EBSの概要について紹介すると共に、Amazon EBS ボリュームの種類を選び方について解説します。

Amazon EBS

特徴

Amazon EBSはストレージサービスであり、Amazon EBSを利用することによってデータを保管することができます。
Amazon EBSが提供するストレージは「Amazon EBSボリューム」または単に「ボリューム」と呼ばれ、AWSの仮想マシンサービスであるAmazon Elastic Compute Cloud (EC2)のインスタンス(仮想マシン)にAmazon EBSボリュームを割り当てることができます。
なお、Amazon EC2インスタンスにAmazon EBSボリュームを割り当てることを「アタッチ」と呼び、反対にAmazon EC2インスタンスからAmazon EBSボリュームの割り当てを解除することを「デタッチ」と呼びます。
Amazon EC2インスタンスは自身にアタッチされたAmazon EBSボリュームにアクセスすることができ、通常はext4などのファイルシステムを構築しファイル単位でデータを読み書きします。
また、Amazon EC2インスタンスを起動するためのOSもAmazon EBSに格納され、OSが格納されたAmazon EBSボリュームを作成する場合には「Amazon Machine Image」(AMI)と呼ばれるAmazon EBSボリュームのテンプレートが使用されます。

料金体系

Amazon EBSでは用途に応じていくつかの種類のボリュームが提供されており、料金体系も種類によって異なりますが1ヵ月にプロビジョニングされたストレージ1GBあたりに所定の利用料(ボリュームの種類によって単価は異なります)が発生する点は共通しています。
さらに、「プロビジョンド IOPS SSD (io1)」という種類のボリュームの場合、1ヵ月にプロビジョニングされたIOPSあたりに所定の利用料が追加で発生します。
IOPSとは"input/output operations per second"(1秒あたりの入出力オペレーションの回数)であり、IOPSが大きいほど単位時間あたりにアクセスできる回数が大きくなるため、高速にデータを読み書きすることができます。

Amazon S3やAmazon EFSとの違い

AWSはAmazon Simple Storage Service (S3)やAmazon Elastic File System (EFS)などの他のストレージサービスも提供しており、データを保管するという意味においてはAmazon EBSと共通しています。
しかしながら、これらのサービスが提供するストレージはAmazon EBSが提供するストレージとは種類が異なり、それぞれアクセス方法などに違いがあります。
まず、Amazon S3は「オブジェクトストレージ」と呼ばれる種類のストレージであり、HTTPSエンドポイントへアクセスしてオブジェクト単位でデータを読み書きします。
一方、Amazon EFSは「ファイルストレージ」と呼ばれる種類のストレージであり、NFSでマウントしてファイル単位でデータを読み書きします。
これらのストレージに対し、Amazon EBSは先に述べたように「ブロックストレージ」であり、Amazon EC2にアタッチしてブロック単位でデータを読み書きます。
Amazon S3やAmazon EFSではなくてAmazon EBSを選択するべき場合としては、例えばWebDAVのようにPaaSとして提供されないストレージを必要とする状況でAmazon EC2インスタンスを使用して自ら構築・運用する場合、Amazon EC2インスタンスにアタッチするブロックストレージとしてAmazon EBSが利用されます。
各種のストレージにはそれぞれ向き不向きがあり、要件などを考慮してどの種類のストレージを使うべきかを十分に検討することが重要です。

EBSボリュームの選び方

前段ではAmazon EBSの概要について紹介しました。
先に述べたようにAmazon EBSではいくつかの種類のボリュームが提供されており、用途に応じた適切な種類のボリュームを選択する必要があります。
以下、Amazon EBSで提供されるボリュームの種類を紹介すると共に、それぞれの種類のボリュームを使うべき場面について解説します。

汎用SSD(gp2)

汎用SSD(gp2)は名前の通り様々な目的のために使用することができるボリュームの種類であり、ハードディスクドライブ(HDD)タイプのボリュームと比較して低いレイテンシー(遅延)でデータを読み書きすることができます。
主な用途として、仮想デスクトップ環境や開発/テスト環境のためのボリュームとして使用するなどが考えられます。
汎用SSD(gp2)のIOPSはデータ容量に応じて変化し、1GBあたり3IOPSが与えられるため、例えば100GBのボリュームであればIOPSは300となります。
なお、汎用SSD(gp2)のIOPSの下限は100であり、それを下回る場合(33.33GB以下の場合)はIOPSが100となります。
一方、汎用SSD(gp2)のIOPSの上限は16,000であり、それを下回る場合(5,334GB以上の場合)はIOPSが16,000となります。

プロビジョンドIOPS SSD(io1)

プロビジョンドIOPS SSD(io1)は汎用SSD(gp2)と同じくソリッドステートドライブ(SSD)タイプのボリュームですが、データ容量に加えてIOPSを設定できる点が汎用SSD(gp2)とは異なります。
主な用途として、リレーショナルデータベースやNoSQLデータベースのサーバー向けのボリュームとして使用するなどが考えられます。
プロビジョンドIOPS SSD(io1)のIOPSの上限は32,000ですが、インスタンスによってはIOPSの上限が64,000に設定できる場合もあります。
プロビジョンドIOPS SSD(io1)では、データ容量に加えてIOPSについても使用量に応じて料金が発生します。

スループット最適化HDD(st1)

スループット最適化HDD(st1)はHDDタイプのボリュームであり、SSDタイプのボリュームと比べるとレイテンシーが高いですが、次に紹介するCold HDD(sc1)と比較すると高速にデータを読み書きすることができます。
なお、レイテンシーが低いことは必ずしも低速を意味する訳ではなく、ランダムアクセスよりもシーケンシャルアクセスが多い場合、単位時間あたりに読み書きできるデータ量(「スループット」と呼ばれます)においてHDDはSSDを上回る場合もあります。
主な用途として、バッチ処理やビッグデータ処理のためのボリュームとして使用するなどが考えられます。
スループット最適化HDD(st1)のIOPSの上限は500であり、SSDタイプのIOPSと比較すると桁が2つほど下がります。
しかしながら、SSDタイプのボリュームの1IOPSあたりに読み書きするデータ量が16KBであるのに対し、HDDタイプのボリュームの1IOPSあたりに読み書きするデータ量が1MBであるため、IOPSだけで性能の優劣を比較することはできません。

Cold HDD (sc1)

Cold HDD(sc1)はスループット最適化HDD(st1)と同じくHDDタイプのボリュームであり、4つのボリュームの種類の中でストレージ1GBあたりの料金が最も低く設定されています。
主な用途として、アクセス頻度の低いアーカイブデータのためのボリュームとして使用するなどが考えられます。
Cold HDD(sc1)のIOPSの上限は250であり、スループット最適化HDD(st1)の半分となっています。
なお、HDDタイプのボリュームであるスループット最適化HDD(st1)とCold HDD(sc1)はシステムブート用のボリュームとしては使用することができないため、システムブート用のボリュームとしてはSSDタイプのボリュームを使用する必要があります。

おわりに

ストレージはCPUやメモリと比べると低速であり、システム全体の性能を制約するボトルネックになりがちです。
ストレージに起因するボトルネックを解消する必要がある状況では、ストレージの種類や特性についての知識を持つことが望まれます。

ネットワークからクラウドまでトータルサポート!!
NTT東日本のクラウド導入・運用サービスを確認してください!!

Amazon Web Services(AWS)、Microsoft Azureの
導入支援サービスのご相談、お問い合わせをお待ちしております。

ページ上部へ戻る