AWS EFSはセキュリティグループの設定さえ間違えなければ簡単に使える

7月 5, 2022

可変型ボリューム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)

AWS,EFS

Posted by vastee