Amazon Elastic File System
ユーザーガイド

Amazon EFS のパフォーマンス

以下では、Amazon EFS のパフォーマンスの概要を示し、利用可能なパフォーマンスモードとスループットモードを説明して、役に立つパフォーマンスのヒントをいくつか紹介します。

パフォーマンスの概要

Amazon EFS ファイルシステムは、数の制限を受けない複数のストレージサーバーに分散され、ペタバイト規模までの拡大を実現して、Amazon EC2 インスタンスからデータへの超並列アクセスが可能になります。Amazon EFS の分散設計により、従来のファイルサーバーに本質的に存在したボトルネックや制約を回避できます。

分散型のデータストレージ設計となっているため、マルチスレッドアプリケーションや、複数の Amazon EC2 インスタンスから同時にデータにアクセスするアプリケーションでは、全体のスループットと IOPS のレベルを大幅に向上できます。アプリケーションの例として、ビッグデータと分析ワークロード、メディア処理ワークフロー、コンテンツ管理およびウェブ配信などがあります。

さらに、Amazon EFS のデータは複数のアベイラビリティーゾーン (AZ) に分散されるため、高いレベルの耐久性と可用性が実現されています。下の表は、Amazon で提供されるファイルおよびブロッククラウドストレージについて、高いレベルのパフォーマンスとストレージの特徴を比較したものです。

パフォーマンスの比較、Amazon EFS と Amazon EBS

Amazon EFS Amazon EBS プロビジョンド IOPS
オペレーションあたりのレイテンシー 低、一定のレイテンシー。 最低、一定のレイテンシー。
スループットスケール 1 秒あたり 10+ GB。 1 秒あたり最大 2 GB。

ストレージ特性の比較、Amazon EFS と Amazon EBS

Amazon EFS Amazon EBS プロビジョンド IOPS
可用性と耐久性 データは、複数の AZ に冗長的に保存されます。 データは、単一の AZ に冗長的に保存されます。
アクセス 複数 AZ の最大数千の Amazon EC2 インスタンスから、ファイルシステムに同時に接続できます。 単一 AZ の単一 Amazon EC2 インスタンスから、ファイルシステムに接続できます。
ユースケース ビッグデータと分析、メディア処理ワークフロー、コンテンツ管理、ウェブ配信、ホームディレクトリ。 ブートボリューム、トランザクションおよび NoSQL データベース、データウェアハウスと ETL。

Amazon EFS は分散型であるため、可用性、耐久性、およびスケーラビリティが高いレベルで実現されています。分散型のアーキテクチャによって、それぞれのファイル操作のレイテンシーオーバーヘッドも小さくなります。このオペレーションあたりのレイテンシーのため、通常は平均 I/O サイズの増加に応じて全体のスループットが向上します。大量のデータにオーバーヘッドが分散するためです。Amazon EFS は、高度に並列化されたワークロード (複数スレッドや複数の Amazon EC2 インスタンスからの並列的なオペレーションなど) がサポートされているため、全体的なスループットと 1 秒あたりのオペレーションについて高いレベルを実現できます。

Amazon EFS ユースケース

Amazon EFS は、以下のユースケースのパフォーマンス要件を満たすように設計されています。

ビッグデータと分析

Amazon EFS は、コンピューティングノードに対する高いスループットと書き込み後の読み取りの整合性と、低レイテンシーのファイルオペレーションの両方を必要とするビッグデータアプリケーションに必要なスケーリングとパフォーマンスを提供します。

メディア処理ワークフロー

動画編集、スタジオ制作、放送処理、サウンドデザインおよびレンダリングといったメディアワークフローは、多くの場合、大容量ファイルを操作するための共有ストレージに依存します。高いスループットと共有ファイルアクセスを備えた強いデータ整合性モデルであれば、これらの業務にかかる時間を短縮し、複数のローカルファイルリポジトリを全ユーザー共通の単一ロケーションにまとめることができます。

コンテンツ管理とウェブ配信

Amazon EFS は、ウェブサイト、オンライン出版、およびアーカイブなどの幅広いアプリケーションのための情報を保存して処理する、高い耐久性とスループットを備えた、コンテンツ管理システム用ファイルシステムとして使用できます。

ホームディレクトリ

Amazon EFS は、共通のデータセットにアクセスし、それらを共有する必要のある多くのユーザーを擁する組織にストレージを提供できます。管理者は、Amazon EFS を使用して、組織全体のユーザーがアクセスできるファイルシステムを作成し、ユーザーおよびグループのファイルレベル、またはディレクトリレベルのアクセス許可を作成することができます。

パフォーマンスモード

さまざまなクラウドストレージワークロードをサポートするため、Amazon EFS には 2 つのパフォーマンスモードがあります。ファイルシステムを作成するときに、ファイルシステムのパフォーマンスモードを選択します。

2 つのパフォーマンスモードには追加コストがかからないため、パフォーマンスモードに関係なく、Amazon EFS ファイルシステムの料金が請求され、計測されます。ファイルシステムの制限の詳細については、「Amazon EFS ファイルシステムの制限」を参照してください。

注記

Amazon EFS ファイルシステムのパフォーマンスモードは、ファイルシステムの作成後は変更できません。

汎用パフォーマンスモード

大部分の Amazon EFS ファイルシステムには、汎用パフォーマンスモードをお勧めします。汎用は、ウェブ配信環境、コンテンツ管理システム、ホームディレクトリ、一般的なファイルサービスなど、レイテンシーに敏感なユースケースに最適です。ファイルシステムを作成するときにパフォーマンスモードを選択しない場合、Amazon EFS はデフォルトで汎用モードを選択します。

最大 I/O パフォーマンスモード

最大 I/O モードのファイルシステムは、ファイル操作のレイテンシーがわずかに長くなる代わりに、より高いレベルの集計スループットと 1 秒あたりの操作にスケールできます。ビッグデータ解析、メディア処理、ゲノム解析などの高度に並列化されたアプリケーションやワークロードは、このモードからメリットを得られます。

適切なパフォーマンスモードの使用

使用するパフォーマンスモードを決定するための推奨事項は次のとおりです。

  1. デフォルトの汎用パフォーマンスモードを使用して、新しいファイルシステムを作成します

  2. アプリケーション (またはアプリケーションに近いユースケース) を一定期間実行して、パフォーマンスをテストします。

  3. パフォーマンスのテスト中に、Amazon EFS の PercentIOLimit Amazon CloudWatch メトリクスを監視します。このメトリクスおよび他のメトリクスへのアクセスの詳細については、「Amazon CloudWatch メトリクス」を参照してください。

テスト中にかなりの時間、返された PercentIOLimit の割合が 100 パーセントまたはそれに近い場合、アプリケーションは、最大 I/O パフォーマンスモードを使用する必要があります。それ以外の場合は、デフォルトの汎用モードを使用する必要があります。

スループットモード

ファイルシステムに選択できるスループットモードは、バーストスループットとプロビジョニングされたスループットの 2 つがあります。バーストスループットモードで、Amazon EFS のスループットは、スタンダードストレージクラスのファイルシステムのサイズが大きくなるにつれて上昇します。EFS ストレージクラスの詳細については、「EFS ストレージクラス」を参照してください。プロビジョニングされたスループットモードでは、保存されたデータ量とは別に、ファイルシステムのスループット (MiB/秒) を簡単にプロビジョンできます。

注記

プロビジョニングされたスループットモードでは、ファイルシステムのスループットを削減できます。ただし、前回の削減から 24 時間を超えている必要があります。さらに、プロビジョニングされたスループットモードとデフォルトのバーストスループットモード間で変更できます。ただし、前回のスループットモードの変更から 24 時間を超えている必要があります。

バーストモードでのスループットのスケーリング

バーストスループットモードで、Amazon EFS のスループットは、スタンダードストレージクラスに保存されているファイルシステムのサイズが大きくなるにつれて上昇します。ファイルベースのワークロードは通常高低差が激しく、短期間で高レベルのスループットが発生し、残りの時間は低レベルのスループットになります。これに対応するために、Amazon EFS は一定期間内のスループットレベルのバーストが許可されるように設計されています。

サイズに関係なく、すべてのファイルシステムのスループットを 100 MiB/秒までバーストできます。スタンダードストレージクラスで 1 TiB を超えるものは、ファイルシステムに保存されたデータの 1 TiB あたり 100 MiB/秒までバーストすることができます。たとえば、10 TiB のファイルシステムは、1,000 MiB/秒のスループットまでバーストすることができます (10 TiB x 100 MiB/s/TiB)。ファイルシステムがバーストできる期間は、サイズに応じて決まります。バーストモデルは、一般的なファイルシステムワークロードが必要な時にいつでも仮想的にバーストできるように設計されています。

Amazon EFS は、クレジットシステムを使用して、ファイルシステムがバーストできる時期を判断します。各ファイルシステムは、スタンダードストレージクラスに保存されているファイルシステムのサイズによって決定されるベースラインレートで時間の経過とともにクレジットを取得し、データを読み書きするたびにクレジットを使用します。ファイルシステムは、データを読み書きするたびにクレジットを使用します。ベースラインレートは、ストレージの 1 TiB あたり 50 MiB/秒です (同様に、ストレージの 1 GiB あたり 50 KiB/秒)。

蓄積されたバーストクレジットにより、ファイルシステムは、ベースラインレートを上回るスループットを駆動できます。ファイルシステムは、ベースラインレートでのスループットを発揮し続けることができます。それが非アクティブであるか、スループットがベースラインレートを下回ると、ファイルシステムはバーストクレジットを蓄積します。

たとえば、100 GiB のファイルシステムは、残りの 95 パーセントで非アクティブになっていると、5 パーセントの時間 (100 MiB/秒で) バーストすることができます。24 時間にわたって、ファイルシステムは、432,000 MiB のクレジットを獲得します。これは、100 MiB/秒で、72 分間バーストするのに使用することができます。

1 TiB を超えるファイルシステムは、残りの 50 パーセントで非アクティブになっていると、常に最大 50 パーセントの時間バーストすることができます。

次の表に、バーストの動作の例を示します。

ファイルシステムサイズ 読み取り/書き込みスループットの集計
100 GiB のファイルシステムは...
  • 毎日最大 72 分間、100 MiB/秒までバーストするか、または

  • 最大 5 MiB/秒まで連続駆動

1 TiB ファイルシステムは...
  • 毎日 12 時間、100 MiB/秒までバーストするか、または

  • 50 MiB/秒で連続駆動

10 TiB ファイルシステムは...
  • 毎日 12 時間、1 GiB/秒までバーストするか、または

  • 500 MiB/秒で連続駆動

一般的に、より大きなファイルシステムは ...
  • 毎日 12 時間、ストレージの 1 TiB あたり 100 MiB/秒までバーストするか、または

  • ストレージ 1 TiB あたり 50 MiB/秒で連続駆動

注記

ベースラインレートの計算に使用される最小ファイルシステムサイズは、1 GiB です。したがって、すべてのファイルシステムのベースラインレートは少なくとも 50 KiB/秒です。

ベースラインレートとバーストレートを決定する際に使用されるファイルシステムのサイズは、DescribeFileSystems オペレーションを通じて利用可能な計測されたサイズと同じです

ファイルシステムは、1 TiB より小さいファイルシステムの場合、2.1 TiB、または 1 TiB を超えるファイルシステムの場合は、1 TiB あたり 2.1 TiB の最大クレジットバランスを得ることができます。この方法は、ファイルシステムが連続して最大 12 時間バーストするのに十分なクレジットを蓄積できることを示しています。

次の表に、サイズの異なるファイルシステムのバースト動作のより詳細な例を示します。

ファイルシステムサイズ (GiB) ベースライン集計スループット (MiB/秒) バースト集計スループット (MiB/秒) 最大バースト期間 (分/1 日) ファイルシステムがバースト可能な時間の % (1 日あたり)
10 0.5 100 7.2 0.5%
256 12.5 100 180 12.5%
512 25.0 100 360 25.0%
1024 50.0 100 720 50.0%
1536 75.0 150 720 50.0%
2048 100.0 200 720 50.0%
3072 150.0 300 720 50.0%
4096 200.0 400 720 50.0%

注記

前述したように、新しいファイルシステムの最初のバーストクレジットバランスは 2.1 TB です。開始時のこのバランスを使用して、ストレージから発生したクレジットを使用せずに、6.12 時間 100 MB/秒のバーストが可能です。この開始時の計算式は 2.1 x 1024 x (1024/100/3600) として計算され、6.116 時間、切り上げて 6.12 時間となります。

バーストクレジットの管理

ファイルシステムに、正のバーストクレジットバランスがあると、バーストすることができます。Amazon EFS の BurstCreditBalance Amazon CloudWatch メトリクスを表示することによって、ファイルシステムのバーストクレジットバランスを確認することができます。このメトリクスおよび他のメトリクスへのアクセスの詳細については、「Amazon EFS のモニタリング」を参照してください。

ファイルシステムのバースト能力 (時間の長さとバーストレートの両方) は、そのサイズに関連するものです。より大きいファイルシステムは、より長い期間、より大きなレートでバーストすることができます。場合によっては、アプリケーションがより大きくバーストする必要があり、その結果ファイルシステムがバーストクレジットを使い切ることがあります。このような場合、ファイルシステムのサイズを増やすか、プロビジョニングされたスループットモードに切り替える必要があります。

必要なレベルのアクティビティを維持するのに必要なファイルシステムのサイズを計算するために、過去のスループットのパターンを使用します。次の手順は、これを行う方法について説明しています。

必要なレベルのアクティビティを維持するのに必要なファイルシステムのサイズを計算するには

  1. 過去の使用状況を見て、スループットの必要を特定します。Amazon CloudWatch コンソールから、過去 14 日間、毎日の集計を使用して TotalIOBytes メトリクスの sum 統計を確認します。 TotalIOBytes の最大値を持つ日を特定します。

  2. この数を 24 時間、60 分、60 秒、1024 バイトで割り、その日にアプリケーションが必要とする平均 KiB/秒を求めます。

  3. 平均スループット数 (KiB/秒で) を EFS が提供するベースラインスループット数 (50 KiB/秒/GiB) で割り、この平均スループットを維持するために必要なファイルシステムサイズ (GiB) を計算します。

プロビジョニングモードでのスループットの指定

プロビジョニングされたスループットモードは、ストレージへのスループット速度が高い (TiB あたり MiB/秒) アプリケーション、またはバーストスループットモードで許容されている以上の要件のアプリケーションで使用できます。たとえば、ファイルシステムのデータ量がスループットの要求に対して小さい開発ツール、ウェブ配信、コンテンツ管理アプリケーションに Amazon EFS を使用しているとします。ファイルシステムは、アプリケーションが必要とする高レベルのスループットを、ファイルシステムを底上げせずに取得できます。

プロビジョニングされたスループットの使用には追加料金が関連付けられます。プロビジョニングされたスループットモードを使用すると、使用するストレージおよび個別にプロビジョニングされたスループットに対して課金されます。詳細については、https://aws.amazon.com/efs/pricing を参照してください。

選択したスループットモードにかかわらず、スループットの制限は変わりません。これらの制限の詳細については、「引き上げることができる Amazon EFS の制限」を参照してください。

ファイルシステムがプロビジョニングされたスループットモードの場合は、ファイルシステムのプロビジョニングされたスループットを必要な時に増やすことができます。プロビジョニングされたスループットモードでは、ファイルシステムのスループットを削減できます。ただし、前回の削減から 24 時間を超えている必要があります。さらに、プロビジョニングされたスループットモードとデフォルトのバーストスループットモード間で変更できます。ただし、前回のスループットモードの変更から 24 時間を超えている必要があります。

ファイルシステムの計測サイズがプロビジョニングしたスループットの量よりも高いベースライン率である場合、ファイルシステムはデフォルトの Amazon EFS バーストスループットモードに従います。ファイルシステムがバーストスループットモードで使用できる量よりもプロビジョニングされたスループットが低い場合は、料金は発生しません。詳細については、「バーストモードでのスループットのスケーリング」を参照してください。

適切なスループットモードの使用

デフォルトでは、バーストスループットモードでアプリケーションを実行することをお勧めします。パフォーマンスの問題が発生した場合は、BurstCreditBalance CloudWatch メトリクスを確認します。BurstCreditBalance メトリックスの値がゼロまたは安定して減少している場合、プロビジョニングされたスループットがお客様のアプリケーションに最適です。

注記

前述したように、新しいファイルシステムの最初のバーストクレジットバランスは 2.1 TB です。開始時のこのバランスを使用して、ストレージから発生したクレジットを使用せずに、6.12 時間 100 MB/秒のバーストが可能です。この開始時の計算式は 2.1 x 1024 x (1024/100/3600) として計算され、6.116 時間、切り上げて 6.12 時間となります。