AWS EFSをEC2にマウントして使う場合は、セキュリティグループの設定さえ間違えなければ簡単に使える

10月 18, 2022

可変型ボリュームEFSを使おうと思って悪戦苦闘した時のメモ.一番ハマったのはセキュリティグループのポート範囲の設定だった.

EFSを使うためには2049番を解放したセキュリティグループをアタッチする必要がある。

EFS用セキュリティグループの作成

以下のように2049番を解放したセキュリティグループを作成する必要がある。

  • セキュリティグループ名:efs-mt-sg
  • 説明:For EFS connection
  • インバウンドルール
    • タイプ:カスタムTCP
    • ポート範囲:2049
    • ソース:カスタム/efs-ec2-sg(前述で作成したEC2用のセキュリティグループを選択)
  • タグ
    • キー:Name
    • 値:efs-mt-sg

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