【AWS SAA対策 #19】複数のEC2でファイルを共有!Amazon EFSで実現する高可用なストレージ設計

AWS

「複数のWebサーバーで、アップロードされた画像を共有したい」「特定のサーバーが壊れても、データは消えずに他のサーバーから読み書きできるようにしたい」

こんな時、各EC2インスタンスについているEBS(Elastic Block Store)では、基本的に1対1の接続になるため、データの共有が困難です。

私は模擬試験で「何百ものEC2インスタンスから同時にアクセスでき、高い可用性を持つストレージは?」と問われ、「S3をマウントすればいいのかな?」と迷いました。しかし、POSIX準拠のファイルシステムとして標準的な操作ができ、自動でスケーリングしてくれる正解はAmazon EFS(Elastic File System)でした。

Amazon EFSが「共有ストレージ」に最適な理由

EFSは、ネットワーク経由で接続するマネージドなファイルシステム(NFS)です。

  • 同時アクセス
    数千台のEC2インスタンスから同時にマウント(接続)して、同じファイルを読み書きできます。
  • 高い可用性と耐久性
    データは複数のアベイラビリティゾーン(AZ)にまたがって保存されるため、1つのAZに障害が起きてもデータは守られ、アクセスも継続できます。
  • 運用が楽
    容量を予め決める必要はありません。ファイルを追加すれば自動で増え、消せば減る。まさに「エアスティック(伸縮自在)」です。

【試験対策】EBS vs S3の使い分け

ここがSAA試験で最も重要です!要件にあわせて最適なストレージを選べるようになりましょう。

特徴EBSEFSS3
接続数1対1(基本)多対1(共有可能)無制限
アクセス速度非常に高速(低レイテンシー)高速(ファイルシステム)普通(HTTP/HTTPS)
可用性1つのAZ内マルチAZ(高い)リージョン全体(非常に高い)
主な用途OSの起動、DBの保存Webサーバーの共有画像、CMS静的コンテンツ、バックアップ

コストを抑える「ライフサイクル管理」

EFSには、コストを劇的に抑えるための「低頻度アクセス(IA)」ストレージクラスがあります。
「30日間アクセスがないファイルは、自動的に安価なIAクラスに移動する」といった設定が可能です。前回のS3ライフサイクルポリシーと似た考え方ですね!

試験で役立つ!キーワード判別法

ストレージ選定の問題で、以下の言葉があればAmazon EFS が正解です。

  • 「複数のインスタンスから共有アクセスが必要」
  • 「POSIX準拠のファイル・システム(NFS v4)」
  • 「高可用性と耐久性を備えた共有ストレージ」
  • 「オンプレミスのサーバーからもマウントしたい」

今回の学び:攻略の格言

「みんなで使う(共有する)ならEFS。AZをまたいでデータを守り、容量はAWSにお任せで自動伸縮!」

あとがき:一歩ずつ、合格へ

最後まで読んでいただき、ありがとうございました!

「共有ストレージ」と聞くと、昔は自分たちで専用のサーバー(NAS)を立てて苦労して管理していましたが、AWSなら数クリックで高可用な環境が手に入る。本当にいい時代になったなと感じます。

EFSも使いこなせば、オートスケーリングでサーバーがどんどん増減するような柔軟なWebシステムも、自身を持って設計できるようになりますね。

それでは、次回の記事でお会いしましょう!