4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【技術検証】EFSを2台のEC2インスタンスにマウントし、ファイル共有の挙動を確認してみた

Posted at

はじめに

Amazon EFS(Elastic File System)について、最近あまり触る機会が少なかったので、改めてどのようなサービスでどのようなことができるのか、復習する意味で触ってみました。

このサービスです!

この記事は、過去に行った技術検証の発展形となります。前回は1台のEC2インスタンスのみで EFS をマウントしていましたが、今回は2台のEC2インスタンスを使用し、ファイルシステムが正しく共有されるかを検証しました!

前回の記事です!

書こうと思ったきっかけ

久しぶりにマネジメントコンソールを眺めていると、新しいサービスが増えている一方で、以前使っていたサービスについて忘れていることも多くなっていると感じました。その中でEFSについても改めて理解し直したいと思い、簡単な技術検証をしてみました。

実際にやってみた

前提条件

  • すでに EFSファイルシステム が作成済み(例:fs-xxxxxxxx)

Screenshot 2025-06-29 at 19.22.41.png

  • VPC内に2つ以上のサブネット(異なるAZ)と、インターネット接続がある

Screenshot 2025-06-29 at 19.20.52.png

  • セキュリティグループに、EFS用の ポート2049(NFS) が許可されていること(後述解説)

① EFSの確認と準備

  • EFSの作成を確認
    AWSマネジメントコンソール → EFS → 対象のファイルシステムを確認

画面内の「ネットワーク」タブで、ターゲットのVPC内すべてのAZにマウントターゲットがあるか確認

Screenshot 2025-06-29 at 19.25.13.png

② EC2インスタンスの作成

  • 異なるAZ・サブネットにEC2を2台作成

Screenshot 2025-06-29 at 19.35.35.png

インスタンス AZ サブネット ホスト名(例)
EC2-A ap-northeast-1a subnet-a ec2-a
EC2-B ap-northeast-1c subnet-c ec2-b
  • Amazon Linux 2

Screenshot 2025-06-29 at 19.28.40.png

  • 同じ セキュリティグループを使用(EFSにアクセスできること)
  • セキュリティグループの設定(必須)
    インバウンドルールに以下を追加

こんな感じで作成しました!

タイプ プロトコル ポート範囲 ソース(例)
NFS TCP 2049 自身のSG または VPC CIDR

Screenshot 2025-06-29 at 19.29.03.png

※SSH接続を行うために、追加でセキュリティグループのインバウンドルールを設定しています。

今回は検証目的のため「全世界からのアクセスを許可」していますが、本番環境では必ずアクセス元を制限してください。

③ EFSクライアントのインストール

ここでは、EC2 Instance Connect を使ってインスタンスに接続します。
接続方法の詳細については、過去の記事で紹介していますので、興味のある方はぜひそちらも参考にしてみてください。

  • どちらのEC2にもログインして以下を実行
sudo yum update -y
sudo yum install -y amazon-efs-utils

問題なくインストールすることができました!

Screenshot 2025-06-29 at 19.39.31.png

④ マウントディレクトリの作成とマウント

  • マウント先ディレクトリ作成
sudo mkdir -p /mnt/efs
  • 両方のEC2で同じEFSをマウント(IDは適宜置き換え)
sudo mount -t efs -o tls fs-xxxxxxxx:/ /mnt/efs

※接続できない場合は、セキュリティーグループなどを見直してみてください!

  • 正常にマウントされたか確認
df -h | grep efs

問題なくマウントされていることが確認できました!

Screenshot 2025-06-29 at 19.46.00.png

⑤ 検証:ファイルの共有確認

  • EC2-Aでファイルを作成
echo "shared from EC2-A" | sudo tee /mnt/efs/shared.txt

EC2-A側で問題なくファイルを作成できました!

Screenshot 2025-06-29 at 19.48.32.png

  • EC2-Bでファイルを確認
cat /mnt/efs/shared.txt

👉 正常に "shared from EC2-A" と表示され、EFSによるファイル共有が問題なく成功していました!

Screenshot 2025-06-29 at 19.49.08.png

まとめ

ここまで読んでいただきありがとうございました!(今回は、手軽に検証できる内容でした〜)

Amazon EFSの基本的な使い方を復習しつつ、複数のEC2インスタンスからの同時アクセスによるファイル共有が正常に機能するかを検証しました。

EFSは高可用性かつスケーラブルなファイル共有ストレージとして、開発や分析、Webサービスのファイル保存先として便利に使えると改めて感じました...!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?