AWSのEFSストレージはEC2インスタンス間で共有できるストレージなので、サーバ間を跨いで一か所でリソースの管理できるのが便利ですよね。今回はそのEFSストレージの作成方法とEC2インスタンスへのマウント方法を解説していきます。
AWSのストレージの詳細については「AWSが提供する3つのストレージサービス|EFS、EBS、S3」の記事を参考にしてください。

セキュリティーグループの作成
EFSストレージのマウントには2つのセキュリティーグループの作成が必要です。ここでは事前準備としてEC2インスタンス用セキュリティーグループとEFSストレージ用のセキュリティーグループを作成します。セキュリティーグループの作成方法自体やEC2インスタンスへの追加ついては「EC2セキュリティーグループの作成」の記事を参考にしてください。
EC2インスタンス用セキュリティーグループの作成
EC2インスタンス用のセキュリティーグループはEC2インスタンスに設定しておくことで、このセキュリティーグループへのアクセスを許可しているEFSストレージへアクセスすることが可能になります。
- セキュリティーグループ名
-
efs.ec2
- VPC
-
EC2インスタンス用とEFS用とで同じものを選択してください。
- インバウンドルール
-
インバウンドルールの追加は不要です。
セキュリティーグループの作成が完了したらEC2インスタンスに紐づけておきましょう。
EFSストレージ用セキュリティーグループを作成
EFSストレージへのアクセスを許可するには、アクセスに使用するポートを指定したセキュリティーグループを設定する必要があります。また、同時にそのポート番号にアクセスを許可する別のセキュリティーグループ(ここではEC2インスタンスに設定する前述のセキュリティーグループ)を指定しなければなりません。門番と通行許可証の関係のようなものです。
- セキュリティーグループ名
-
efs.network
- VPC
-
EC2インスタンス用とEFS用とで同じものを選択してください。
- インバウンドルールを追加
-
NFSタイプを選択して下さい。自動的に TCP プロトコルと 2049 番ポートが選択されます。
- ソース
-
Customを選択し、efs.ec2 のセキュリティーグループのIDを指定します(sg-*****)。
EFSストレージの作成方法
AWSの管理画面最上部の検索窓に「EFS」と入力して、EFSサービスのページ移動してください。
EFSストレージの作成
「ファイルシステムの作成」ボタンを押下します。
ファイルシステム名にはドメイン名などを指定しておくとよいでしょう。
作成したEFSのファイルシステムIDをメモしておきましょう。後で使用します。
作成したEFSストレージの設定方法
ファイルシステム名かファイルシステムIDをクリックして詳細を表示します。
ライフサイクル
右肩の「編集ボタン」から編集モードにして下さい。必要に応じてライフサイクルの変更をしましょう。
EFSストレージにセキュリティーグループを追加する
ファイルシステム詳細ページの「ネットワークタブ」>「管理」ボタンを押下して下さい。全てのアベイラビリティーゾーンに作成済みのEFS用のセキュリティーグループを追加します。
デフォルトのセキュリティーグループが設定されている場合はすべて外しましょう。
EFSストーレージのマウント方法
以下のコマンドを使用してEFSストレージのマウント先となるディレクトリを作成しておきます。
マウンドディレクトリ(マウントポイント)の作成
【システムのアップデート】
sudo dnf update -y
【/mnt/ディレクトリに移動】
cd /mnt/
【efs/ディレクトリの作成】
mkdir efs
【ディレクトリ所有者の設定】
chown ec2-user:ec2-user efs
【ディレクトリのパーミッションの設定】
chmod 2755 efs
マウントツールのインストール
以下のコマンドでマウントツールのインストールを行います。
sudo dnf install amazon-efs-utils -y
EFSストレージのマウントを実行
fs-********** は EFSのファイルシステムIDになります。
us-west-2は自分の使用しているリジョンに置き換えましょう。
sudo mount -t efs fs-**********.efs.us-west-2.amazonaws.com:/ /mnt/efs/
マウントの確認
マウントの確認をする場合は以下の手順で確認してみてください。
- マウントしたディレクトリ内にファイルを作成する
- 次項のマウント解除のコマンド実行後にファイルが見えなくなることを確認
- 再マウント後にまた作成したファイルが見えたら成功
touch /mnt/efs/test.txt
ll /mnt/efs/
アンマウント(マウント解除)の方法
sudo umount /mnt/efs/
マウントポイント含む以下のディレクトリにいる場合はアンマウントできないので、/mntディレクトリに移動してから/mnt/efs/のマウントを解除しましょう。
システムブート時のマウントの自動化
マウントしただけの状態ではデフォルトではシステムリブート時には再マウントはされません。ここではシステムブート時に自動的にEFSストレージがマウントされるように設定をしていきます。
fstabの設定
fstabファイルはファイルのマウント状態を管理するファイルです。
/etc/fstab
このファイルに以下の1行を追加しましょう。
fs-**********:/ /mnt/efs efs defaults,_netdev,nofail 0 0
システム起動時の自動マウントの確認
サーバを再起動してください。再度インスタンスにSSH接続をしてEFSストレージをマウントしたディレクトリに作成したファイルが見えれば自動マウント成功です。
ll /mnt/efs/
まとめ
今回の記事では、AWSのEFSストレージの作成からシステム起動時の自動マウントまでの流れと設定について学習してきました。セキュリティーグループをそれぞれEFSとEFSにアクセスEC2インスタンスに設定してアクセス管理をするんでしたね。fstabファイルを使って自動マウントの設定法をも学びました。EFSの作成やマウントの運用は手順が多いので、スキップしないように注意してくださいね。
EFSストレージはWebサーバのドキュメントルートとして使うこともできます。引き続き、Webサーバのインストールの仕方について学習していきましょう。


コメント