Amazon EFS パフォーマンス - Amazon Elastic File System

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

Amazon EFS パフォーマンス

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

パフォーマンスの概要

Amazon EFS ファイルシステムは、無制限数のストレージサーバー間に分散されます。この分散型のデータストレージ設計により、ファイルシステムはペタバイト規模まで伸縮自在に拡張できます。また、コンピューティングインスタンス (、、 Amazon EC2 Amazon ECSなど) からデータAWS Lambdaへの超並列アクセスが可能になります。Amazon EFS 分散設計により、従来のファイルサーバーに本質的に存在したボトルネックや制約を回避できます。

この分散型データストレージ設計により、マルチスレッドアプリケーションと、複数のコンピューティングインスタンスから同時にデータにアクセスするアプリケーションが、かなりのレベルの集約スループットと IOPS を駆動できます。アプリケーションの例として、ビッグデータと分析ワークロード、メディア処理ワークフロー、コンテンツ管理およびウェブ配信などがあります。

さらに、リージョンのストレージクラスを使用するAmazon EFSファイルシステムの場合、データは リージョン内の複数のアベイラビリティーゾーンAWSに分散され、最高レベルの耐久性と可用性を提供します。以下の表では、 Amazon EFS および Amazon Elastic Block Store (Amazon EBS) クラウドストレージサービスのハイレベルなパフォーマンスとストレージ特性を比較しています。

パフォーマンスの比較: Amazon EFS と Amazon EBS
Amazon EFS Amazon EBS プロビジョンド IOPS
オペレーションあたりのレイテンシー 低、一定のレイテンシー。 最低、一定のレイテンシー。
スループットスケール 1 秒あたり 10+ GB。 1 秒あたり最大 2 GB。
ストレージ特性の比較: Amazon EFS と Amazon EBS
Amazon EFS 1 ゾーンのストレージクラスを使用する ファイルシステム Amazon EFS リージョン別ストレージクラスを使用する ファイルシステム Amazon EBS プロビジョンド IOPS
可用性と耐久性 データは、1 つのアベイラビリティーゾーンに冗長的に保存されます。 データは、複数のアベイラビリティーゾーンに冗長的に保存されます。 データは、1 つのアベイラビリティーゾーンに冗長的に保存されます。
アクセス 複数のアベイラビリティーゾーンから、最大数千のコンピューティングインスタンスを 1 つのファイルシステムに同時に接続できます。 複数のアベイラビリティーゾーンから、最大数千のコンピューティングインスタンスを 1 つのファイルシステムに同時に接続できます。 1 つのアベイラビリティーゾーン内の 1 つのコンピューティングインスタンスをファイルシステムに接続できます。
ユースケース ビッグデータと分析、メディア処理ワークフロー、コンテンツ管理、ウェブ配信、マルチ AZ 耐障害性を必要としないホームディレクトリ。 ビッグデータと分析、メディア処理ワークフロー、コンテンツ管理、ウェブ配信、ホームディレクトリ。 ブートボリューム、トランザクションおよび NoSQL データベース、データウェアハウスと ETL。

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

計測スループットについて

すべてのAmazon EFSファイルシステムには、プロビジョニングされたスループット (プロビジョニングされたファイルシステムがプロビジョニングされたスループットの量でプロビジョニングされたスループットが のスループット)、またはバーストスループットを使用するファイルシステムの EFS 標準または 1 ゾーンのストレージクラスに格納されたデータの量のいずれかによって決定される、関連付けられた計測スループットがあります。読み取りリクエストと書き込みリクエストは、異なるレートで計測されます。 は、他のリクエストの 3 分の 1 で読み取りリクエストをAmazon EFS計測します。

たとえば、読み取りスループットと書き込みスループットの両方のうち 30 MiB秒を駆動している場合、読み取り部分は計測スループットの 10MiB秒としてカウントされ、書き込み部分は 30 MiB秒としてカウントされ、組み合わされた計測スループットは 40 MiB秒になります。計測レートに合わせて調整されたこのスループットの組み合わせは、 MeteredIOBytes CloudWatch メトリクスに反映されます。詳細については、「 」を参照してくださいAmazon CloudWatch の メトリクスAmazon EFS

Amazon EFS ユースケース

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

ビッグデータと分析

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

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

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

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

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

ホームディレクトリ

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

パフォーマンスモード

さまざまなクラウドストレージワークロードをサポートするために、 Amazon EFS には汎用モードと最大 I/O モードの 2 つのパフォーマンスモードが用意されています。ファイルシステムは、作成時にパフォーマンスモードを選択し、変更することはできません。

注記

最大 I/O パフォーマンスモードは、1 ゾーンストレージクラスを使用するファイルシステムでは使用できません。

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

注記

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

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

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

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

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

注記

最大 I/O パフォーマンスモードは、1 ゾーンストレージクラスを使用するファイルシステムでは使用できません。

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

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

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

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

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

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

別のパフォーマンスモードに移行するには、他のパフォーマンスモードで作成された別のファイルシステムにデータを移行します。DataSync を使用して、2 つの EFS ファイルシステム間でファイルを転送できます。詳細については、「との間のデータ転送 Amazon EFS」を参照してください。

レイテンシーの影響を受けやすいワークロードには、最大 I/O パフォーマンスモードによる高い I/O レベルと、汎用パフォーマンスモードによる低レイテンシーが必要です。このタイプのワークロードでは、複数の汎用パフォーマンスモードファイルシステムを作成することをお勧めします。この場合、ワークロードとアプリケーションがサポートできる限り、これらのすべてのファイルシステム全体にアプリケーションのワークロードを分散することをお勧めします。

このアプローチにより、複数の EFS ファイルシステムにまたがる論理ファイルシステムおよびシャードデータを作成できます。各ファイルシステムはサブディレクトリとしてマウントされ、アプリケーションはこれらのサブディレクトリに並列でアクセスできます。このアプローチにより、レイテンシーの影響を受けやすいワークロードは、複数のファイルシステムにわたって集計された、1 秒あたりのレベルが高いファイルシステムオペレーションにスケールできます。同時に、これらのワークロードは、汎用パフォーマンスモードのファイルシステムによって提供される低レイテンシーを活用できます。

スループットモード

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

注記

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

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

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

サイズに関係なく、すべての EFS ファイルシステムは、100 MiB秒の計測スループットまでバーストできます。ファイルシステムの計測スループットを計算する場合、 は書き込みリクエストの 1/3 で読み取りリクエストをAmazon EFS計測します。標準ストレージクラスに 1 TiB を超えるファイルシステムは、ファイルシステムに保存されたデータの 1 TiB あたり 100 MiB秒までバーストできます。たとえば、10 TiB のファイルシステムは、1,000 MiB秒の計測スループット (10 TiB x 100 MiB/s/TiB) までバーストできます。

ファイルシステムがバーストできる時間は、そのサイズによって決まります。バーストモデルは、通常のファイルシステムワークロードが必要なときにいつでも仮想的にバーストできるように設計されています。バーストスループットモードを使用するファイルシステムの場合、許容されるスループットは、スタンダードストレージクラスにのみ保存されているデータ量に基づいて決定されます。EFS ストレージクラスの詳細については、「EFS ストレージクラスの管理」を参照してください。

Amazon EFS バーストクレジット

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

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

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

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

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

ファイルシステムのサイズ バーストスループット ベースラインスループット
100 GiB のファイルシステムは...
  • 1 日あたり最大 72 分間、300 MiB秒の読み取り専用までバースト

  • 1 日あたり最大 72 分間、書き込み専用で 100 MiB秒までバーストするか、または

  • 最大 15 MiB秒の読み取り専用の連続駆動

  • 最大 5 MiB秒の書き込み専用ドライブ

1 TiB ファイルシステムは...
  • 1 日あたり 12 時間、300 MiB秒の読み取り専用へのバースト

  • 1 日あたり 12 時間、100 MiB秒への書き込み専用バースト、または

  • 150 MiB秒の連続読み取り駆動

  • ドライブ 50 MiB秒 (書き込み専用)

10 TiB ファイルシステムは...
  • 1 日あたり 12 時間、3 GiB秒の読み取り専用にバーストする

  • 1 GiB秒の書き込み専用まで 1 日あたり 12 時間バーストするか、または

  • 1.5 GiB秒のドライブの読み取り専用

  • 書き込み専用で 500 MiB秒駆動

一般的に、より大きなファイルシステムは ...
  • 1 TiB あたり 300 MiB秒の読み取り専用ストレージへのバースト (1 日あたり 12 時間)

  • 1 日 12 時間、ストレージの TiB あたり 100 MiB秒への書き込み専用バースト、または

  • ストレージ TiB あたり 150 MiB秒の読み取り専用ストレージの連続駆動

  • ストレージ TiB あたり 50 MiB秒の書き込み専用ドライブ

注記

Amazon EFS は、ベースラインレートが低い場合でも、すべてのファイルシステムに 1 MiB秒の計測スループットを提供します。

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

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

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

ファイルシステムサイズ (GiB) ベースライン計測スループット (MiB秒) バースト計測スループット (MiB秒) 最大バースト期間 (最小/日) % タイムファイルシステムがバースト可能 (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%
注記

* 20 GiB 未満のファイルシステムの場合、最小計測スループットは 1 MiB秒です。

前述のように、新しいファイルシステムの初期バーストクレジットバランスは 2.1 TiB です。この初期バランスを使用すると、ストレージから獲得したクレジットを消費することなく、6.12 時間、100 MB/秒の計測スループットでバーストできます。この開始時の計算式は 2.1 x 1024 x (1024/100/3600) として計算され、6.116 時間、切り上げて 6.12 時間となります。

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

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

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

過去のスループットのパターンを使用して、必要なレベルのアクティビティの維持に必要なファイルシステムのサイズを計算します。この計算方法を次の手順で示します。

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

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

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

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

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

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

プロビジョニングされたスループットの使用には追加料金が関連付けられます。プロビジョニングされたスループットモードを使用すると、使用したストレージと、提供されている量を超えてプロビジョニングしたスループットに対して課金されます。提供されるスループットの量は、標準ストレージクラスに保存されているデータの量に基づきます。EFS ストレージクラスの詳細については、「EFS ストレージクラスの管理」を参照してください。料金の詳細については、Amazon EFS料金表を参照してください。

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

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

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

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

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

大量のデータをファイルシステムに移行する予定がある場合は、プロビジョニングされたスループットモードに切り替えることを検討してください。この場合、割り当てられたバースト機能よりも高いスループットをプロビジョニングして、データのロードを高速化できます。移行後に、プロビジョニングされたスループットの量を減らすか、通常のオペレーションではバーストスループットモードに切り替えることを検討してください。

CloudWatch メトリクスで測定される、ファイルシステムを駆動している計測スループットMeteredIOBytesPermittedThroughput メトリクスを比較します。ファイルシステムを (MeteredIOBytes) に駆動している計算された平均スループットが よりも低い場合はPermittedThroughput、プロビジョニングされたスループットの量を減らして、低コストになることを検討してください。EFS CloudWatch メトリクスを使用したファイルシステムのモニタリングの詳細についてはAmazon CloudWatch の メトリクスAmazon EFS、「」を参照してください。

場合によっては、通常のオペレーション中に計算された平均スループットが、バーストスループットモードのストレージ容量に対する計測スループットの比率以下になることがあります。この比率は、保存されるデータの TiB あたり 50 MiB/ 秒です。このような場合は、バーストスループットモードに切り替えることを検討してください。それ以外の場合は、通常のオペレーション中に計算された平均スループットがこの比率を上回っている可能性があります。このような場合は、プロビジョニングされたスループットを、現在のプロビジョニングされたスループットと、通常のオペレーション中に計算された平均スループットの間のポイントまで下げることを検討してください。

ファイルシステムのスループットモードは、AWS マネジメントコンソール、AWS CLI、または EFS API を使用して変更できます。CLI では、update-file-system アクションを使用します。EFS API では、UpdateFileSystem オペレーションを使用します。

注記

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