AWS のストレージサービス EBS と EFS の違い

はじめに

AWS より提供されているストレージサービスには、以下に記載しているようにいくつか種類があります。

  • Amazon Elastic Block Store (Amazon EBS)
  • Amazon Elastic File System (Amazon EFS)
  • Amazon Simple Storage Service (Amazon S3)
  • Amazon S3 Glacier
  • AWS Storage Gateway   など

上記はそれぞれ様々な特徴を持ち、利用する際には目的に応じて適切に使い分けていく必要があります。今回はこの中から Amazon EBS と Amazon EFS について確認していきます。

Amazon EBS の特徴

Amazon EBS は、AWS より提供されている Amazon Elastic Compute Cloud (EC2) と共に使用するためのブロックストレージサービスです。AWS マネジメントコンソールから操作できる仮想ディスクとして、EC2 インスタンスにアタッチして使用することが可能です。

Amazon EBS の主な特徴としては以下の通りです。

  • ボリュームタイプ
    アプリケーションの特性に応じて、パフォーマンスや料金が異なる4つのボリュームタイプから最適なものを選択することができます。タイプは大きく分けて、HDD(ハードディスクドライブ) と SSD(ソリッドステートドライブ) の2つから選択することができ、さらにその中でも汎用的なパフォーマンスを持つものと、高いスループットに適したものの2つが用意されています。
  • データの永続性
    Amazon EBS ボリュームに保存されるデータは、EC2 インスタンスの運用状況に左右されずに永続的なデータ保存が可能です。ただし、デフォルトの設定ではインスタンスの起動時に作成およびアタッチされたルート EBS ボリュームに関してはインスタンスの終了時に削除されてしまうため、インスタンス終了後も EBS ボリュームのデータを残す場合には設定を変更するか、後述するスナップショットを利用してバックアップを行います。
  • セキュリティ
    AWS が管理するキー、もしくはユーザーが AWS Key Management Service (KMS) を使用して作成と管理を行っているキーを使用することで、EBS ボリューム、およびスナップショットをシームレスに暗号化することができます。さらに、EC2 インスタンスと EBS ボリューム間を移動するデータも暗号化されます。また、Amazon EBS ボリュームへのアクセスは AWS Identity and Access Management (IAM) によりアクセス制御を行うことができます。
  • 可用性
    Amazon EBS ボリュームは 99.999% の可用性を持つよう設計されています。EBS ボリュームを作成することで、そのボリュームは同じアベイラビリティーゾーン内で自動的にレプリケートされるため、手動で冗長化を行う必要はありません。
  • スナップショット
    任意のタイミングで EBS ボリュームのスナップショットを作成することが可能です。スナップショットのデータは Amazon S3 に保存され、バックアップやリストアに使用することができます。EC2 インスタンスは他のアベイラビリティーゾーン内の EBS ボリュームにアクセスできませんが、スナップショットから別のアベイラビリティーゾーンに復元することは可能なため、スナップショットを利用することでアベイラビリティーゾーンを跨いで同じ内容の EBS ボリュームを使用することができます。また、スナップショットをコピーすることにより、異なるリージョン間を跨いで EBS ボリュームを利用するといったことも可能です。

Amazon EFS の特徴

Amazon EFS は、AWS が提供するフルマネージド型の共有ファイルストレージサービスです。Amazon EFS を利用することで、マウントを行ったOSとの間でデータの読取りや書込みを行うことができます。

Amazon EFS の主な特徴としては以下の通りです。

  • NFS v4.0 および v4.1 プロトコルをサポート
    Amazon EFS は、NFSv4 プロトコル経由で EC2 インスタンスとオンプレミスサーバーによる数千もの安全な同時アクセスが可能です。
  • 2種類のストレージクラスによるストレージコストの削減
    Amazon EFS では、標準と低頻度アクセス(IA)の2種類のストレージクラスがあり、EFS 低頻度アクセス(EFS IA) ストレージクラスは、アクセス頻度の低いファイル用に用意されています。EFS ライフサイクル管理ポリシーというものを有効にすることで、アクセス頻度の低いファイルは標準ストレージクラスから EFS IA ストレージクラスに自動的に移動され、ストレージコストの削減が見込めます。
  • データ保護
    Amazon EFS では、格納されたデータは AWS Key Management Service (KMS) によって管理される暗号化キーによって暗号化を行い、伝送中のデータは業界標準の転送レイヤーセキュリティ (TLS) を用いて暗号化を行い、データを保護します。
  • セキュリティ
    Amazon EFS では、ファイルシステムへのネットワークアクセスに関しては Amazon Virtual Private Cloud (Amazon VPC) セキュリティグループルールを使用して制御を行い、ファイルシステムへのアプリケーションアクセスに関しては AWS Identity and Access Management (IAM) ポリシーと EFS アクセスポイントを使用して制御を行うことができます。
  • 可用性と耐久性
    Amazon EFS のファイルとディレクトリはすべて、リージョン内の複数のアベイラビリティーゾーンに格納されます。これにより、AZ の停止やシステムおよびコンポーネントの障害、ネットワーク接続エラーからデータの保護を行うことができます。
  • 柔軟性
    Amazon EFS のストレージ容量はファイルの追加や削除に応じてアプリケーションを停止させることなく自動的に拡張もしくは縮小が行われるため、必要に応じたストレージ容量が動的に提供されます。その為、容量の管理を行うことなく無駄の無いストレージ運用が可能です。
  • バースト機能
    Amazon EFS には、ストレージの負荷に対してスケーラブルに対応するために「バースト機能」という機能を備えています。これにより予期しない一時的なファイルストレージの高負荷に対しても、一時的に処理能力を向上させて対応することを可能です。

Amazon EBS と Amazon EFS の違い

Amazon EBS と Amazon EFS では、実際にどのような違いがあるのかを見ていきます。

・データの保存形式
Amazon EBS は「ブロックストレージ」というタイプであり、EC2 インスタンスにアタッチするためのボリュームを提供しています。一方 Amazon EFS は「ファイルストレージ」というタイプであり、Linux 等のOSでマウント可能なファイルシステムを提供しています。
・アクセス
基本的に Amazon EBS は1つの EC2 インスタンスにアタッチして使用するため、複数のインスタンスで同時に共有することはできません。一方、Amazon EFS では最大数千の EC2 インスタンスからの同時アクセスが可能なストレージが提供されています。
また、Amazon EBS は同じアベイラビリティーゾーンにある EC2 インスタンスからのみアクセスできますが、Amazon EFS はオンプレミスサーバーからもアクセスすることが可能です。
※例外として、io1 EBS ボリュームを使用することで、制限はあるものの最大16個までのインスタンスにアタッチすることができます。
・データの可用性、耐久性
Amazon EBS はデータを単一のアベイラビリティーゾーンに冗長的に保存するのに対し、Amazon EFS ではデータを複数のアベイラビリティーゾーンに冗長的に保存するため、データの保護という観点では Amazon EFS の方が優れていると言えるでしょう。ただしこれはあくまで一つの観点に基づいたもので、例えば Amazon EBS はスナップショットを利用することで容易にバックアップの作成が行えるため、どちらのサービスも高い可用性、耐久性を有しています。

まとめ

AWS から提供されているストレージサービス、Amazon EBS と Amazon EFS についてまとめました。Amazon EBS は EC2 インスタンスと一緒に使用するため外付けハードディスクに近く、Amazon EFS は NAS に似たファイルストレージとしての運用が求められます。どちらも比較的用途が明確なため、混同することなく使い分けることはそう難しくはないでしょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

Amazon EBS を使用する

次の記事

AWS Elemental MediaLiveとは?