はじめに
この記事では、LinuxサーバにEFSをマウントする方法について、実案件で学ぶ機会があったため、備忘録的にまとめました。
大きく4つほどマウント方法があります。
・EFSマウントヘルパー(基本形式)
・IAM認証
・NFSユーティリティ
・アクセスポイント
EFSマウントヘルパー(基本形式)
EFSマウントヘルパーはAWS公式のパッケージであるamazon-efs-utilsパッケージを使用し、マウントする形式です。
マウントコマンド例は以下になります。
# 基本的なマウント
sudo mount -t efs file-system-id /mnt/efs
# 自動マウント設定(/etc/fstab)
file-system-id:/ /mnt/efs efs _netdev 0 0
IAM認証方式
IAM認証方式は、EFSマウントヘルパーを用いた上でIAMによる認証を使用し、マウントする形式です。
マウントコマンド例は以下になります。
# EC2インスタンスプロファイルを使用
sudo mount -t efs -o tls,iam file-system-id /mnt/efs
# 自動マウント設定(/etc/fstab)
file-system-id:/ /mnt/efs efs _netdev,tls,iam 0 0
アクセスポイント方式
アクセスポイント方式は、EFSマウントヘルパーを用いた上でEFSファイルシステム内の特定のディレクトリへのアクセスを制御する方法です。
コマンド例は以下になります。
# アクセスポイントを使用したマウント
sudo mount -t efs -o tls,accesspoint=fsap-12345678 file-system-id /mnt/efs
# 自動マウント設定(/etc/fstab)
file-system-id:/ /mnt/efs efs _netdev,tls,accesspoint=fsap-12345678 0 0
NFSユーティリティ
NFSユーティリティは、Linux標準のNFSクライアントパッケージを使用し、マウントする形式です。
コマンド例は以下になります。
# 推奨設定でのマウント
sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.region.amazonaws.com:/ /mnt/efs
# 基本的なマウント
sudo mount -t nfs -o nfsvers=4.1,noresvport file-system-id.efs.region.amazonaws.com:/ /mnt/efs
# IPアドレス直接指定
sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 172.31.1.100:/ /mnt/efs
# 自動マウント設定(/etc/fstab)
file-system-id.efs.region.amazonaws.com:/ /mnt/efs nfs4 _netdev,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 0 0
推奨事項
NFSv4.0およびNFSv4.1プロトコルに対応していますが、EFSの場合、NFSv4.1を使用することが公式に推奨されています。
注意点
EFSユーティリティを使用するかつファイルシステムポリシーによる制御をする場合、EFSクライアントマウントやwrite権限を付ける、プリンシパルにEFSのIAMロールを指定することはできません。実務でファイルシステムポリシーが原因でOSレベルのマウントに失敗していることがありました。
形式の選択方法について
| 項目 | 説明 |
|---|---|
| EFSマウントヘルパー | AWS公式推奨でEFSマウントに最適化されているため、基本的な用途で使用 |
| IAM認証 | 企業環境や本番環境でより細かなアクセス制御が必要な際に使用 |
| アクセスポイント | ディレクトリレベルでアクセス制御できるため、マルチテナント環境や複数ユーザーでの利用時に使用 |
| NFSユーティリティ | レガシー環境など前述のマウント形式が制限される場合にこの方式を使用 |
まとめ
今回の記事では、LinuxサーバにEFSマウントの方法について、備忘録的にまとめました!
マウント方法の種類とそれぞれ方法が向いている条件についても整理ができました。