EFS・FSx

Amazon EFS と Amazon FSx は、複数のサーバーから同時に使えるファイルストレージのマネージドサービスです。SAA では「OS・プロトコル・用途から、EFS と 4 種類の FSx のどれを選ぶか」がよく問われます。

ひとことで言うと: EFS は Linux 向けの共有フォルダ、FSx は「Windows のファイルサーバー」「HPC 用の超高速ファイルシステム」などの定番製品を AWS が丸ごと運用してくれるサービスです。

たとえるなら、社内の共有フォルダを自前のサーバーで運用する代わりに、容量の追加も故障対応も管理会社に任せるイメージです。どの会社(製品)に任せるかは、使っている OS や接続方式で決まります。

このページで押さえる論点

ファイルストレージとは

ファイルストレージは、フォルダとファイルの階層で整理したデータを、ネットワーク越しに複数のサーバーから同時に読み書きできるストレージです。パソコンの「共有フォルダ」と同じ感覚で使えます。接続には次のようなプロトコル(通信の決まりごと)を使います。

EBS は原則 1 台のインスタンスにつなぐディスク、S3 は API でオブジェクトを読み書きするストレージです。「複数の EC2 から同じファイルを同時に読み書きしたい」「既存のアプリがファイルパスでデータを扱う」なら、ファイルストレージを選びます。

Amazon EFS の基本

Amazon EFS(Elastic File System)は、NFS(NFSv4.0 / v4.1)でマウントする、サーバーレスのファイルシステムです。容量を事前に決める必要がなく、ファイルを置いた分だけ自動で増え、消した分だけ減ります。料金も使った容量に応じてかかります。

ファイルシステムのタイプデータの保存先向いている場面
リージョン(推奨)リージョン内の複数の AZ に冗長化して保存。AZ の障害時も使い続けられる本番環境、可用性・耐久性が必要なデータ
1 ゾーン1 つの AZ だけに保存。AZ 全体の障害でデータを失うおそれがある開発環境、再作成できるデータでコストを下げたい

EFS のストレージクラスとライフサイクル管理

EFS には、アクセス頻度に応じた 3 つのストレージクラスがあります。S3 と同じく、保存料金が安いクラスほど、アクセスしたときの料金がかかります。

ストレージクラス想定するアクセス
EFS 標準(Standard)頻繁にアクセスするファイル
EFS 低頻度アクセス(IA)四半期に数回程度
EFS アーカイブ(Archive)年に数回程度

ライフサイクル管理は、一定期間アクセスがないファイルを自動で安いクラスへ移す機能です。S3 のライフサイクルルールが「作成からの日数」で動くのに対し、EFS は最後にアクセスされてからの日数で判断します。コンソールで作成したときの既定値は次のとおりです。

ディレクトリやファイル名などのメタデータは、常に標準ストレージに置かれます。

EFS のスループットモードとパフォーマンスモード

EFS の性能は、スループットモード(どれだけのデータ量を運べるか)とパフォーマンスモード(レイテンシーと同時処理のバランス)の 2 つの設定で決まります。

スループットモード仕組み向いている場面
エラスティック(推奨)読み書きの量に合わせて自動でスケールし、読み書きしたデータ量に応じて課金負荷が予測できない、急に跳ね上がる
プロビジョンド必要なスループットを指定し、その量に応じて課金。保存容量と関係なく高いスループットを出せる必要な性能が分かっていて、保存容量は小さい
バースト保存容量に比例したベースライン(1 GiB あたり 50 KiB/秒)で動き、クレジットがある間は一時的に上げられる保存容量に見合ったスループットで足りる

パフォーマンスモードには汎用(既定・レイテンシーが最も低い)と最大 I/O(高度に並列化された処理向け、ただし 1 回ごとのレイテンシーが高い)があります。AWS はすべてのファイルシステムで汎用モードを使うことを強く推奨しています。最大 I/O は 1 ゾーンのファイルシステムやエラスティックスループットでは使えません。

「保存しているデータは少ないのに高いスループットが必要で、バーストモードではクレジットが足りない」という問題なら、エラスティックかプロビジョンドに切り替えます。

Amazon FSx の 4 種類

Amazon FSx は、実績のある商用・オープンソースのファイルシステムを、AWS がフルマネージドで提供するサービスです。次の 4 種類があり、既存の環境や必要なプロトコルで選びます。

種類プロトコルクライアント OS使いどころ
FSx for Windows File ServerSMBWindows・Linux・macOSWindows のファイルサーバーの移行。Active Directory 連携
FSx for LustreLustre 独自(POSIX 準拠)Linux のみHPC、機械学習、動画処理などの高速な並列処理
FSx for NetApp ONTAPNFS・SMB・iSCSIWindows・Linux・macOSNetApp ONTAP などの NAS からの移行、複数プロトコル
FSx for OpenZFSNFSWindows・Linux・macOSZFS などの Linux ベースのファイルサーバーからの移行

FSx for Windows File Server

Windows Server 上に作られた、Windows ネイティブのファイル共有です。SMB でアクセスし、Microsoft Active Directory(AWS Managed Microsoft AD または自社の AD)と連携してユーザー認証とアクセス制御(Windows の ACL)を行います。

FSx for Lustre

HPC(ハイパフォーマンスコンピューティング)や機械学習向けの、高速な並列ファイルシステムです。ミリ秒未満のレイテンシーで、多数のサーバーから同時に大量のデータを読み書きできます。

FSx for NetApp ONTAP と FSx for OpenZFS

FSx for NetApp ONTAP は、NFS・SMB・iSCSI を 1 つのストレージで扱えるのが特徴です。Linux と Windows の両方から同じデータを使いたい場合や、オンプレミスの NetApp 製品から移行する場合に選びます。FSx for OpenZFS は、ZFS を使った Linux のファイルサーバーを NFS のまま移行する場合に選びます。

どのファイルストレージを選ぶか

問題文の「OS」「プロトコル」「用途」を拾えば、ほぼ答えが決まります。下のフローチャートで試してみましょう。

比較・選択フローチャート

質問に答えてファイルストレージを選ぶ

要件を思い浮かべて「はい / いいえ」で答えてください。答えた経路が上から順に表示されます。

    ※簡略化しています: 性能・料金・可用性(シングル AZ / マルチ AZ)の細かい違いは分岐に含めていません。FSx for Windows File Server や NetApp ONTAP、OpenZFS も Linux から使えますが、ここでは典型的な選び方だけを示しています。

    問題文のキーワード → 選ぶべき答え

    問題文によく出る言い回し選ぶべき答えと理由
    「複数の Linux EC2 で共有」「NFS」「容量の管理をしたくない」Amazon EFS。容量が自動で増減する
    「複数の AZ の EC2 から同じファイルにアクセス」「AZ 障害に耐える共有ストレージ」Amazon EFS(リージョンタイプ)
    「めったに使わないファイルのコストを自動で下げたい」(EFS)EFS のライフサイクル管理で IA / アーカイブへ
    「負荷が予測できない」「スループットが急増する」(EFS)エラスティックスループット
    「Windows のファイル共有」「SMB」「Active Directory」「NTFS の ACL」FSx for Windows File Server
    「Windows のファイルサーバーで AZ 障害に耐えたい」FSx for Windows File Server のマルチ AZ
    「HPC」「機械学習」「並列処理」「S3 のデータを高速処理」FSx for Lustre(S3 とリンク)
    「短期間の処理で、一時的なデータでよい」「最安」(Lustre)FSx for Lustre のスクラッチ
    「NetApp から移行」「NFS・SMB・iSCSI を同時に」「マルチプロトコル」FSx for NetApp ONTAP
    「ZFS のファイルサーバーから移行」FSx for OpenZFS

    引っかけポイント

    まとめ: SAA 試験で押さえるポイント

    確認問題

    参考リンク

    AWS 公式ドキュメント(外部サイトが開きます)。