ブロックストレージとは何ですか?

ブロックストレージは、データストレージとストレージデバイスを制御するテクノロジーです。これは、ファイルやデータベースエントリなどの任意のデータを受け取り、同じサイズのブロックに分割します。その後、ブロックストレージシステムは、高速なアクセスと取得のために最適化された方法で、基盤となる物理ストレージにデータブロックを格納します。デベロッパーは、効率的かつ高速で、信頼性の高いデータアクセスを必要とするアプリケーション用にブロックストレージを使用することを好みます。 ブロックストレージは、データへのより直接的なパイプラインとお考えください。それに対してファイルストレージには、データにアクセスする前に処理するファイルシステム (NFS、SMB) からなる余分なレイヤーがあります。

ブロックストレージにはどのようなメリットがありますか?

組織は、次のメリットのためにブロックレベルストレージを使用します。

ハイレベルなパフォーマンス

メタデータは、ストレージシステムに含まれるプライマリデータを記述する追加データです。ブロックストレージは限られたメタデータを使用しますが、読み取り/書き込みオペレーションでは各ブロックに割り当てられた一意の識別子に依存します。これにより、データ送信のオーバーヘッドが削減され、サーバーはブロックストレージ内のデータに効率的にアクセスして取得できます。

ブロックストレージのメタデータは限られているため、ブロックストレージは、高性能なワークロードに必要な超低レイテンシーを提供します。これは、データベースなどのレイテンシーの影響を受けやすいアプリケーションで必要です。例えば、Viasat は Amazon Elastic Block Store (Amazon EBS) を使用して、高スループット (高トランザクション) データをキャプチャし、ストレージコストを最適化します。 組織は、パフォーマンス、コストの最適化、スケール、俊敏性のために Amazon EBS を使用し、データ保護のために Amazon EBS Snapshots を使用します。

ブロックストレージアーキテクチャはデータへの複数のパスを提供しますが、ファイルストレージは 1 つのパスしか提供しません。そのため、ブロックストレージは、高性能アプリケーションで好まれます。

柔軟でスケーラブルな使用

ブロックストレージデバイスは、特定のネットワーク環境の制約を受けません。個々のブロックは、Windows や Linux などのさまざまなオペレーティングシステム用に設定できます。デベロッパーは、可用性を高く維持するために、複数の環境でデータを共有できます。また、ブロックストレージアーキテクチャは非常にスケーラブルです。デベロッパーは、キャパシティの増大するニーズを満たすために、既存のブロックに新しいブロックを追加できます。

頻繁な変更

ブロックストレージは、パフォーマンスを低下させることなく、頻繁なデータの書き込みをサポートします。システムは、ファイル全体を書き換える代わりに、修正が必要な特定のブロックを識別します。その後、選択したブロックを新しいデータで書き換えます。このため、頻繁に更新する必要がある大きなファイルを管理する上で、ブロックストレージは非常に効率的です。

きめ細かいコントロール

デベロッパーは、ブロックストレージへのデータの格納を高度に制御できます。例えば、急速に変化するデータを特定のブロックにグループ化し、静的ファイルを他のブロックに保存することで、パフォーマンスを最適化できます。これにより、進行中の更新はファイル全体ではなく少数のデータブロックにのみ影響するため、システムパフォーマンスが向上します。例えば、ブロックストレージを使用すると、高速で変化するデータを高性能のソリッドステートドライブ (SSD) に階層化し、ウォームデータやコールドデータを低コストのハードディスクドライブ (HDD) に保存できます。

 

ブロックストレージにはどのようなユースケースがありますか?

ブロックストレージには独自の特性があるため、トランザクション、ミッションクリティカル、I/O を多用するアプリケーションに適したオプションです。ブロックストレージは、リレーショナルデータベース、トランザクションデータベース、時系列データベース、コンテナ、ブートディスク、ハイパーバイザーファイルシステムなど、幅広いアプリケーションのために使用されます。

ストレージエリアネットワーク

デベロッパーは、ブロックストレージをストレージエリアネットワーク (SAN) としてデプロイすることがよくあります。SAN は、複数のネットワークシステムに対して、ブロックストレージを、それらのブロックがローカルにアタッチされたデバイスであるかのように提示する、複雑なネットワークテクノロジーです。SAN は通常、ファイバーチャネル相互接続を使用します。対照的に、ネットワークアタッチドストレージ (NAS) は、イーサネット経由でファイルを提供する単一のデバイスです。

SAN アーキテクチャは、次の 3 つのレイヤーで構成されています。

  • ホストレイヤーは、ストレージアクセスを管理するサーバーで構成されています
  • ストレージレイヤーは、磁気テープ、ディスクドライブ、光メディアなどの物理ブロックストレージデバイスで構成されています
  • ファブリックレイヤーは、SAN スイッチ、プロトコルブリッジ、ルーター、ケーブル、ゲートウェイデバイスなどのデバイスと SAN サーバーおよび SAN ストレージをブリッジします

SAN は、長距離間で同期または非同期のレプリケーションを使用して冗長性を採用していることに注意することが重要です。これにより、地理的な場所にアクセスできない場合のダウンタイムが軽減されます。

SAN アーキテクチャは、ブロックストレージを含む統合環境内の複数のタイプのストレージと連携できます。ブロックストレージは、SAN 上のファイルストレージに代わる高効率な代替手段を提供します。

コンテナ

デベロッパーはブロックストレージを使用して、コンテナ化されたアプリケーションをクラウドで保存します。コンテナは、任意のコンピューティング環境におけるデプロイのためのアプリケーションとそのリソースファイルを含むソフトウェアパッケージです。コンテナと同様に、ブロックストレージも同程度に柔軟かつスケーラブルで、効率的です。ブロックストレージを使用すると、デベロッパーは、サーバー、場所、および運用環境間でコンテナをシームレスに移行できます。

トランザクションワークロード

トランザクションワークロードは、ビジネスプロセスの特定のポイントで生成される一連のデータです。例えば、売上記録、運用ログ、ログインアラートは、トランザクションワークロードです。時間の影響を受けやすいミッションクリティカルなトランザクションを処理する組織は、このようなワークロードを低レイテンシー、大容量、フォールトトレラントなデータベースに格納します。

ブロックストレージにより、デベロッパーは、堅牢かつスケーラブルで、非常に効率的なトランザクションデータベースをセットアップできます。各ブロックは自己完結型のユニットであるため、格納されているデータが増えても、データベースは最適なパフォーマンスを発揮します。さらに、個々のストレージブロックを異なるサーバーでホストできるため、アクセスのボトルネックを防ぐことができます。

ミッションクリティカルなアプリケーションでは、データの冗長性を確保するために、ブロックストレージは Redundant Array of Inexpensive Disks (RAID) によって保護されます。RAID システムは、データファイルをセカンダリストレージにバックアップし、プライマリディスクに障害が発生した場合にコピーを回復します。これにより、トランザクションワークロードをブロックストレージに格納および取得するときに、アプリケーションが中断されないようにします。

分析とデータウェアハウジング

ブロックストレージは、データを独立した分散ユニットとして格納し、Hadoop および Kafka 分析アプリケーションのパフォーマンスを実現するために、Hadoop の HDFS アーキテクチャ (Hadoop 分散ファイルシステム) とともに使用されます。

仮想マシン

仮想マシン (VM) は、ソフトウェア定義のコンピューティングリソースを使用して、コンピュータが別のオペレーティング環境を実行できるようにするテクノロジーです。例えば、VM を搭載した Windows デスクトップで Linux オペレーティングシステムを実行できます。ハイパーバイザーは、セカンダリオペレーティング環境を実行するために必要なメモリ、ドライブ、およびコンピューティングサービスを割り当てる抽象化レイヤーです。

ブロックストレージは、一般的な VM ハイパーバイザーをサポートします。ユーザーは、オペレーティングシステム、ファイルシステム、および他のコンピューティングリソースをブロックストレージボリュームにインストールできます。これは、ブロックストレージボリュームをフォーマットし、VM ファイルシステムに変換することによって行います。これにより、仮想ドライブのサイズを簡単に増減し、あるホストから別のホストに仮想ストレージを送信できます。 

ブロックストレージはどのように機能しますか?

ブロックストレージシステムでは、データを独立した固定サイズのブロックまたはピースに分割できます。各ブロックは個別のデータストレージです。データファイルなどの完全な情報は、複数の非連続ブロックに格納されます。

ブロックストレージシステムは、ファイルタイプ、所有権、タイムスタンプなどの高レベルのメタデータを保持しません。デベロッパーは、それぞれのブロックへのデータの格納を管理するために、アプリケーションシステムでデータルックアップテーブルを設計する必要があります。アプリケーションは、読み取り/書き込みの効率を高めるために、異なるオペレーティング環境でデータを保存する場合があります。

データの書き込み

書き込みシーケンス中、アプリケーションは、データを複数のブロックサイズのセクションに分割します。データを複数のブロックに書き込み、ブロックの識別子をデータルックアップテーブルに記録します。ルックアップテーブルを使用すると、サーバーはブロックに格納されているデータの相対アドレスを計算できます。

データの読み取り

ユーザーがブロックストレージシステムの特定のファイルをリクエストすると、サーバーはデータルックアップテーブルを使用して、データの断片が格納されている場所を特定します。その後、アプリケーションは複数のブロックからデータを取得し、元の順序でそれらをマージします。

ストレージの他のタイプにはどのようなものがありますか?

ブロックストレージに加えて、オブジェクトとファイルストレージのオプションもあります。各タイプには独自のメリットがあります。

オブジェクトストレージ

オブジェクトストレージは、オブジェクトと呼ばれる非構造化形式でデータを格納および管理するテクノロジーです。各オブジェクトは一意の識別子でタグ付けされ、基盤となるコンテンツを説明するメタデータを含みます。例えば、写真のオブジェクトストレージには、撮影者、解像度、形式、作成時刻に関するメタデータが含まれます。デベロッパーは、オブジェクトストレージを使用して、テキスト、動画、画像などの非構造化データを保存します。 

ブロックストレージとオブジェクトストレージ

どちらのストレージソリューションも、ユースケースによっては有益です。ブロックストレージは、さまざまなユースケースにおいて、低レイテンシーを提供し、高いパフォーマンスを発揮していることを示唆する値を示します。その機能は、構造化データベースストレージ、VM ファイルシステムボリューム、および大量の読み取り/書き込み負荷に主に役立ちます。オブジェクトストレージは、特に耐久性、無制限のストレージ、スケーラビリティ、および複雑なメタデータ管理が全体的なパフォーマンスに関連する要素である場合に、大量の非構造化データのために使用するのが最適です。

ファイルストレージ

ファイルストレージは、ファイルとフォルダの階層構造でデータを格納します。ネットワーク環境では、ファイルベースのストレージは、ットワークアタッチドストレージ (NAS) テクノロジーを使用することがよくあります。NAS を使用すると、ユーザーは、ローカルハードドライブと同様の方法で、ネットワークストレージデータにアクセスできます。ファイルストレージはユーザーフレンドリーで、ユーザーはファイル共有コントロールを管理できます。

ブロックストレージとファイルストレージ

ファイルストレージシステムは特定の環境でデータを格納しますが、ブロックストレージシステムはさまざまなオペレーティングシステムと統合できます。ファイルストレージは、エンドユーザーコンピューティング用に直感的なインターフェイスを提供します。一方、オペレーションレイテンシーを増大させることなく、新しいデータブロックをブロックストレージシステムに追加できます。 

インスタンスストレージ

インスタンスストアは、インスタンスに一時的なブロックレベルのストレージを提供します。このストレージは、ホストコンピュータに物理的に接続されているディスク上にあります。インスタンスストアは、バッファ、キャッシュ、スクラッチデータ、その他の一時コンテンツなど、頻繁に変更される情報の一時的なストレージや、ロードバランシングされたウェブサーバーのプールなど、インスタンスのフリート全体でレプリケートされるデータに最適です。

インスタンスストアは、ブロックデバイスとして公開される 1 つ以上のインスタンスストアボリュームで構成されます。インスタンスストアのサイズと使用可能なデバイスの数は、インスタンスタイプによって異なります

AWS はブロックストレージのニーズをどのようにサポートできますか?

Amazon EBS は、クラウドワークロードのための使いやすいブロックストレージソリューションです。デベロッパーは Amazon EBS を使用して、Amazon Elastic Compute Cloud (Amazon EC2) ワークロード用に永続的なストレージサービスを提供します。

  • Amazon EBS は、ミッションクリティカルで I/O を多用するアプリケーションのために、高度にスケーラブルなストレージソリューションを提供します。
  • Amazon EBS スナップショットは、ブロックストレージのデータ保護のための簡単で安全な方法を提供します。
  • デベロッパーは、SAP HANA、Oracle、Microsoft SQL Server、MySQL、Cassandra、MongoDB など、さまざまなタイプのデータベースを Amazon EBS にインストールできます。

 

今すぐ無料の AWS アカウントを作成して、ブロックストレージの使用を開始しましょう。

AWS ブロックストレージの次のステップ

追加の製品関連リソースを確認する
クラウドストレージサービスの無料オファーを見る 
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで構築を始めましょう。

サインイン