📒

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