EC2インスタンスにEFSをマウントし、その操作の成功を簡易的なログファイルに記録する
AWSのcloudquestを実施していて記録しておきたかったため以下にて記載します。
”EC2インスタンスにEFSをマウントする”とは
EC2インスタンス(Linux/WindowsなどのOSが稼働している仮想サーバー)からAmazon EFS(Elastic File System)というネットワークファイルシステムにアクセスできるように設定すること
クエストのコンソール画面での準備
EFCサービス画面(GUI)にて、EFSファイルシステムの作成>LinuxベースのEC2インスタンスにEFSをマウントする場合は、SSHでEC2に接続してターミナルから操作を行う必要がある。(コマンドライン)
実行するコマンド
開いたターミナルにて以下を実行する
①ファイルシステムのマウントやシステム設定の変更など、root権限が必要な操作を行う準備
sudo -i
”sudo” は「superuser do」の略で、一時的にroot権限でコマンドを実行するためのもの
②必要なツールのインストール
sudo yum install -y amazon-efs-utils
”amazon-efs-utils” パッケージをインストール
EFSをマウントするためのヘルパーツール(mount.efs)を提供しており、yum や apt といったパッケージ管理コマンドを使用する
③マウントポイントの作成
mkdir data
EFSを接続するための空のディレクトリを作成
”data”の箇所がディレクトリ名
④EFSの手動マウント(初回または設定変更後に実行)
sudo mount -t efs -o tls fs-XXXXXXXXXXXXXXX:/ data
AWS EFSファイルシステムをTLS暗号化を使用して、data ディレクトリにマウント
TLS暗号化をすることで、EC2インスタンスとEFSの間で転送されるデータが暗号化され、セキュリティが強化される。
”fs-XXXXXXXXXXXXXXX”箇所は、EFSファイルシステムを作成した際のEFSファイルシステムのIDが入る。
⑤EFSの自動マウント設定(永続化のため)
echo "fs-XXXXXXXXXXXXXXX:/ /data efs _netdev,tls 0 0" | sudo tee -a /etc/fstab
EC2インスタンスが再起動してもEFSが自動的にマウントされるように、/etc/fstab ファイルを編集して設定を記述
これにより、手動で毎回マウントコマンドを実行する必要が無くなる。
”data”箇所はディレクトリ名を入力
⑥作業ディレクトリの移動
cd data
EFSがマウントされたディレクトリ内で操作を行う準備
⑦ログファイルに記録
sudo bash -c "cat >> efs-1-setup.log"
標準入力から受け取った内容を efs-1-setup.log というファイルに追加する。
このコマンドを実行すると、ターミナルは入力待ち状態になるため、そのまま記録する内容を入力
入力例)
Webサーバー用の共有コンテンツをマウントしました
2025/07/30 - EFSマウント完了 by user_name
EFS OK
など任意のテキスト
入力後Ctrl+Cで終了(Macの場合)すると、テキストが efs-1-setup.log に書き込まれる
⑧ログの記録内容を確認
cat efs-1-setup.log
上記コマンドを実行することで、efs-1-setup.log の内容を表示し、正しく書き込まれたことを確認できる。
この一連のコマンドを実行することで、EC2インスタンスにEFSをマウントし、その操作の成功を簡易的なログファイルに記録することができる。
Discussion