EFS(Elastic File System) いーえふえす(いらすてぃっくふぁいるしすてむ)
簡単に言うとこんな感じ!
EFSは「AWSが提供するクラウド上の共有ファイルサーバー」だよ!複数のサーバーから同時にアクセスできるのに、容量は使った分だけ自動で増減するから、事前に「何GB買おう…」って悩まなくていいんだ!
EFS(Elastic File System)とは
EFS(Elastic File System) は、Amazon Web Services(AWS)が提供するフルマネージドの共有ファイルストレージサービスです。「Elastic(弾力的)」という名前のとおり、ファイルの増減に合わせてストレージ容量が自動的にスケールするため、あらかじめ容量を決めて購入する必要がありません。
最大の特徴は、複数のサーバー(EC2インスタンスやコンテナ)から同時にマウントして使える点です。たとえばWebアプリケーションのサーバーが10台あっても、全台が同じEFSにアクセスしてファイルを共有できます。オンプレミスでいう「NASやファイルサーバー」をクラウド上でフルマネージドで使えるイメージです。
NFS(Network File System) というプロトコルをベースにしており、Linuxサーバーからは通常のファイルシステムと同じ感覚で利用できます。インフラ担当者がサーバーのセットアップ・パッチ適用・バックアップなどを管理する必要がなく、AWSが運用を担ってくれる点がビジネス上のメリットです。
EFSの主な特徴・構造
| 特徴 | 内容 |
|---|---|
| 自動スケーリング | ファイルの追加・削除に合わせて容量が自動増減。上限なし |
| 同時マウント | 複数のEC2・Lambda・ECSなどから同時にアクセス可能 |
| マルチAZ対応 | データは複数のアベイラビリティゾーンに自動で冗長化 |
| NFSプロトコル | NFS v4.1 / v4.2 に対応。Linuxから透過的に利用可能 |
| フルマネージド | サーバー管理・パッチ・バックアップをAWSが担当 |
| 暗号化 | 保存時・転送時の暗号化をサポート |
「NAS をクラウドにあげた」イメージで覚えよう
オフィスで使う NAS(ネットワーク接続ストレージ) を思い出してください。複数のPCから同じフォルダを開いて、ファイルを読み書きできる共有ドライブです。EFSはまさにそれをAWSクラウド上でマネージドサービスとして提供したもの。「クラウドNAS、容量は使い放題・増減おまかせ」と覚えると忘れません。
EFSのストレージクラス(コスト最適化)
| クラス | 用途 | 特徴 |
|---|---|---|
| スタンダード | 頻繁にアクセスするファイル | 高スループット・低レイテンシ |
| スタンダード-IA(低頻度アクセス) | たまにしか使わないファイル | スタンダードの最大92%コスト削減 |
| 1ゾーン | 単一AZで十分な用途 | マルチAZより低コスト |
| 1ゾーン-IA | 単一AZ+低頻度アクセス | 最もコストを抑えたい場合 |
ライフサイクルポリシーを設定すると、一定期間アクセスのないファイルを自動でIAクラスへ移動してくれます。
歴史と背景
- 2016年6月:EFSがGA(一般提供)開始。当初は米国リージョンのみ
- 2017年〜:東京リージョンを含む複数のリージョンに展開拡大
- 2018年:NFSv4.1サポート強化、VPCピアリングやAWS Direct Connect経由のオンプレミスアクセスが一般化
- 2019年:EFS Infrequent Access(IA)クラスが登場。コスト最適化の選択肢が広がる
- 2020年:1ゾーンストレージクラスが追加。開発・テスト環境向けに低コストオプション
- 2021〜:AWS Backupとの統合が深まり、EFSのバックアップ管理がさらに簡単に
- 背景の課題:クラウド移行が進む中、既存のLinuxアプリはNFSでの共有ファイルアクセスを前提に作られているものが多く、そのままクラウドで動かすための「橋渡し」としてEFSが重要な役割を担うようになった
AWSの主要ストレージサービスとの比較
EFSはAWSの3種類の主要ストレージのうちの「ファイルストレージ」に位置します。
EFS vs EBS vs S3 詳細比較
| 比較項目 | EFS | EBS | S3 |
|---|---|---|---|
| アクセス方式 | NFS(ファイル共有) | ブロックデバイス | HTTP API |
| 同時アクセス | ◎ 複数サーバーから可 | △ 基本1台のみ | ◎ 制限なし |
| OS対応 | Linux系のみ | Linux・Windows | 問わない |
| 容量管理 | 自動スケール | 事前にサイズ指定 | 自動スケール |
| コスト感 | やや高め | 中程度 | 低め |
| 主な用途 | 共有コンテンツ・CMS | DBデータ・OSボリューム | バックアップ・静的ファイル |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 7530 | NFSv4.0 の仕様定義 |
| RFC 8881 | NFSv4.1 の仕様定義(EFSが主に対応するバージョン) |
| RFC 7862 | NFSv4.2 の仕様定義(pCopy等の拡張機能) |
関連用語
- EBS(Elastic Block Store) — EC2に1対1でアタッチする仮想ハードディスクサービス
- S3(Simple Storage Service) — AWSのオブジェクトストレージ。画像・動画・バックアップの保管に使われる
- NFS(Network File System) — EFSが採用しているネットワーク越しのファイル共有プロトコル
- EC2(Elastic Compute Cloud) — EFSをマウントして使うAWSの仮想サーバーサービス
- マウント — ストレージをOSのディレクトリとして使えるようにする操作
- [アベイラビリティゾーン(AZ