AWS EFSはセキュリティグループの設定さえ間違えなければ簡単に使える
可変型ボリュームEFSを使おうと思って悪戦苦闘した時のメモ.一番ハマったのはセキュリティグループのインバウンドルールの設定だった.
EFSを使うためにはEC2とEFSにアタッチするためのセキュリティグループをそれぞれ用意する必要がある。
EC2用セキュリティグループの作成
EC2のダッシュボードの左側のメニューからセキュリティグループを選択し、「セキュリティグループを作成」をクリック。
- セキュリティグループ名:efs-ec2-sg
- 説明:For EFS connection
- VPC:対象のVPCを選択
- インバウンドルール
- タイプ:SSH
- ソース:マイIP
- タグ
- キー:Name
- 値:efs-ec2-sg
ここまでできたら,右下のボタンを押して作成を完了させる.
EFS用セキュリティグループの作成
同様にEFS用のセキュリティグループも作成
- セキュリティグループ名:efs-mt-sg
- 説明:For EFS connection
- インバウンドルール
- タイプ:カスタムTCP
- ポート範囲:2049
- ソース:カスタム/efs-ec2-sg(前述で作成したEC2用のセキュリティグループを選択)
- タグ
- キー:Name
- 値:efs-mt-sg
EC2インスタンスの作成
インスタンスを立ち上げる際作成したEC2用のセキュリティグループを設定するか、すでに立ち上げたインスタンスに EC2用のセキュリティグループをアタッチする。
EFSの作成
コンソールでEFSを開き案内に沿って作成.EFSの設定項目は比較的少ないので,ちゃちゃっと決めてしまう.後からでも変更可能な設定が多いので,失敗を恐れる必要はそれほどない.
作成の際あるいは作成後に、EFS用のセキュリティグループを設定。
EC2インスタンスの作成
作成したインスタンスにsshなどでアクセスしAmazon Linux以外のLinux OSの場合はefs-utils(EFS マウントヘルパー)をgithubからクローン.
git clone https://github.com/aws/efs-utils cd efs-utils ./build-deb.sh sudo apt-get -y install ./build/amazon-efs-utils*deb
あとはEFSをマウント.
mkdir efs sudo mount -t efs -o tls fs-xxxxxx:/ efs
マウント後適当にテキストファイルを置いてELSのコンソールからI/Oが確認できれば成功だ.
毎回マウントするのは面倒なので、vim /etc/fstabに下記を書き込んでおいた。
fs-xxxxxxxx:/ /home/ubuntu/efs efs defaults,_netdev 0 0
(ファイルシステムID):/ <マウントしたいディレクトリ> efs defaults,_netdev 0 0
私の場合はマウントした後のefsフォルダの権限を行った。
sudo chown -R ubuntu:ubuntu ./efs
参考:(初心者向け)EC2インスタンスにEFSをマウントしてみた | DevelopersIO (classmethod.jp)
ディスカッション
コメント一覧
まだ、コメントがありません