EC2からEFSにマウントができなくて困った時の備忘です。
割としょうもない解決策ですが、EFSの知見がなかったのでかなり焦りました。
やりたいこと
複数台構成のEC2インスタンスにて、参照できるファイルを別場所に配置したい。
S3にしておくのが一般だと思いますが、諸事情によりEFSの採用となりました。
- 環境
OS:Ubuntu22.0
インスタンス:t4g small
マウントツール:amazon-efs-utils
メッセージ
EFSの作成とEC2へのツールインストールは完了し、以下を実行すると本件の問題が出ました。
- コンソールから発行されたコマンド
sudo mount -t efs -o tls fs-{EFSのID}:/ /{ディレクトリパス}/efs
- リターンされたMSG
mount: .efs: mount point does not exist.
訳:指定されたマウントポイント(ディレクトリ)が存在しない
ポイント
公式ドキュメントに記載がある以下事項は実施済みです。
- EFS supportsツールはインストール済み
- 該当ディレクトには「efs」のディレクトリを作成ずみ
- 公式ドキュメント:amazon-efs-utils ツールの使用
対応
インストールしたツールを削除し、再起動。
その後、再度インストール&上記コマンドを実施し解消しました。
- 叩いたコマンドコマンド
・インストール
cd {マウントしたいディレクトリの上位層}/efs-utils
sudo apt-get update
sudo apt-get -y install git binutils
git clone https://github.com/aws/efs-utils
./build-deb.sh
sudo apt-get -y install ./build/amazon-efs-utils*deb
・再起動
shutdown -r now
・ディレクトリにマウント
sudo mount -t efs -o tls fs-{EFSのID}:/ /{ディレクトリパス}/efs
・マウント確認コマンド
df -T
- 参考ドキュメント
EFS マウントヘルパーを使用して EFS ファイルシステムをマウントする
おまけ
- EFSをマウントしたまま、EC2インスタンスをすると停止するととっっつても時間がかかります。意図して停止する場合には、アンマウントしてからの方がスムーズです。
- EFSはAWSコンソールからファイル内容を参照することはできません。
- コンソールから容量だけは確認することができますが、これも反映にかなり時間がかかります。
上記の癖があるので個人的には少し苦手ですが、ファイルサーバ的な用途であればEFSがハマりそうですね。
以上、どなたかのお役に立てば幸いです。