はじめに
Amazon Elastic File System(EFS)は、AWSが提供するスケーラブルなネットワークファイルシステムです。
複数のEC2インスタンス間で共有可能で、クラウド上でデータの共有やバックアップを効率的に行うことができます。
本記事では、EFSをEC2インスタンスにマウントする手順を解説し、その後簡単な動作確認を行います。
EFSとは
EFSはAWSのマネージドファイルストレージサービスで、次のような特徴があります。
引用画像:https://recipe.kc-cloud.jp/archives/11974/
-
共有可能:
同じVPC内の複数のEC2インスタンスから同時にアクセス可能。 -
スケーラブル:
ストレージ容量が動的に拡張され、容量を気にせず利用可能。 -
高可用性:
複数のAZ(アベイラビリティゾーン)にまたがる冗長構成で設計されているため、高い耐障害性を提供。
これにより、データの共有やバックアップ、分散アプリケーションのストレージとして最適です。
実際にやってみた
1. EFSの作成
AWSマネジメントコンソールで「EFS」サービスを開き、「ファイルシステムの作成」を選択します。
使用するVPCを指定し、必要に応じてセキュリティグループを設定します(ポート2049を許可)。
作成完了後、ファイルシステムID(例: fs-XXXXXXXX
)を確認しておきます。
2. EC2インスタンスの準備
以下のコマンドを実行してEFS関連のユーティリティをインストールします。
sudo yum update -y
sudo yum install -y amazon-efs-utils
ここでは、インスタンスコネクトを使用して接続し、確認を行っています。
次に、マウント先となるディレクトリを作成します。
sudo mkdir /mnt/efs
3. EFSのマウント
以下のコマンドでEFSをマウントします。fs-XXXXXXXX
は作成したEFSのIDに置き換えてください。
sudo mount -t efs -o tls fs-XXXXXXXX:/ /mnt/efs
次に、以下のコマンドでEFSが正常にマウントされているか確認します。
df -h
grep
コマンドを組み合わせて結果を確認したところ、EFSが正常にマウントされていることが確認できました。
[ec2-user@ip-10-0-1-84 ~]$ df -h | grep efs
127.0.0.1:/ 8.0E 0 8.0E 0% /mnt/efs
[ec2-user@ip-10-0-1-84 ~]$
さらに、自動マウントを有効にするために、/etc/fstab
ファイルを編集します。
fs-XXXXXXXX:/ /mnt/efs efs defaults,_netdev 0 0
検証確認
EFSが正常に動作しているかを簡単な操作で確認します。以下のコマンドを実行して、マウント先にファイルを作成します。
echo "Hello EFS" | sudo tee /mnt/efs/hello.txt
作成したファイルが存在するか、以下のコマンドで確認します。
ls /mnt/efs
実際に、マウント先の/mnt/efs
にファイルが作成されていることが確認できました!
不要になったファイルを削除する場合は、以下のコマンドを実行します。
sudo rm /mnt/efs/hello.txt
その後、再度ls /mnt/efs
コマンドで確認し、ファイルが削除されていることを確認できました。
まとめ
EFSを利用することで、複数のEC2インスタンス間で効率的かつスケーラブルなデータ共有が実現できます。
今回、久しぶりにEFSをEC2にマウントする作業を行いましたが、意外とスムーズに進めることができました!
初学者向けの内容ですが、誰かの技術の支えになれば嬉しいです!
参考記事