初めに
先日はブロックストレージサービスである、EBSについて書かせて頂きました。
EBSの学習をされる際に、セットで出てくるのが今回ご紹介させて頂く「EFS」です。
聞いた事ある人も多いのではないでしょうか?
EBSと何が違うの?特徴って何?など解説させて頂きます。
EFSとは?
EFSとは、NFSをサポートするファイルストレージサービスです。
EC2インスタンスから、EFSファイルシステムをマウントして使用していきます。
※用語解説
・ファイルストレージ
データをファイルやフォルダ単位で階層構造として管理するストレージ
・NFS(Network File System:ファイル共有プロトコル)
・マウント
ストレージなどをOSに認識させて利用可能にすること
マウント方法
EBSでは、複数インスタンスからの同時アクセスや他AZからのアタッチは
出来ませんでしたね
しかし
EFSでは、複数EC2インスタンスからアクセスと他AZからのアクセスが可能です!
じゃあどっちを使っていけばいいの?と疑問が...
そちらに関してもまとめていきます!
EFSの特徴
項目 | 内容 |
---|---|
可用性 | 複数のAZにまたがっているので、 特定のAZに障害が発生しても他のAZでサービスが継続できる。 AWS Backupがデフォルトで有効になっている。 |
安全性 | デフォルトで保管時のデータ暗号化が有効になっている |
排他制御 | NFSを使用した場合、ロック機構(排他制御)が使用されている。 |
容量のスケーリング | 保存したデータ量に伴って自動的にスケーリング(拡張・縮小) |
ユースケース
EFS
項目 | 内容 |
---|---|
WEBアプリの共有 | 複数のWEBサーバーが同じファイルや画像に アクセスする必要がある場合 |
データ共有 | データを共有するアプリケーション |
ログファイル | 複数のEC2インスタンスが同じログファイルに 書き込む必要がある場合 |
バックアップ | 複数のバックアップジョブが同じバックアップストレージに アクセス可能 |
EBS
項目 | 内容 |
---|---|
DB | DBファイルやログファイルなどの永続ストレージとして使用 |
ブートストラップ | EC2インスタンスのブートストラップボリュームとして使用 |
高可用性 | スナップショットを使用して定期的に バックアップし高可用性を確保 |
つまり...
複数のEC2インスタンスを使用していたり、自動的なスケーリングをしたい時は、
EFS
特定のEC2インスタンスに固有のデータを保存したり、手動でスケーリングしたい時は、
EBS
最後に
今回、EFSとEBSについて学習をしてみて、どの場面で使用したらいいのか?という疑問が少し解消出来たと思います。
似た様な言葉が多く、頭が混乱してくる時もありますが、一つずつ整理していきたいと思います!