概要
2026年4月にリリースされた内容ですが、S3バケットがEC2やECS、Lambda等から、EFSのようにマウントしてファイルシステムとして利用できるようになりました。
もうリリースされて1か月以上経っているので触られている人も多いですが自分はまだ触れていなかったので触りました。
またついでにマウント作業の復習もしようと思います。
構成
S3作成
ファイルシステムとして利用するS3バケットを作成します。
この時の注意点としては、ファイルシステムとして利用する場合はバケットのバージョニングがマスト要件となるため有効にチェックをいれます。


ファイルシステムの作成
作成したS3バケットを選択し、「ファイルシステム-新規」タブをクリックします。

そしてファイルシステムを作成をクリックし、今回のマウントで利用するインスタンスがあるVPCを選択し、ファイルシステムを作成します。

また先ほど指定したVPC内にマウントターゲットが作成されていることも確認できました。

マウントターゲットのセキュリティグループの編集
ここでセキュリティグループの変更ができるのですが、S3Filesは内部的にはEFS同様にNFSプロトコルが利用されており、2049portが許可されている必要があるため、許可されているセキュリティグループに変更してください。
EC2インスタンスへロールを割り振る
マウントをするにはEC2インスタンスに権限を持たせる必要があります。
今回私は以下のIAMポリシーを割り当てたIAMロールを作成しEC2インスタンスに関連付けしました。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3FilesClientAccess",
"Effect": "Allow",
"Action": [
"s3files:ClientMount",
"s3files:ClientWrite",
"s3files:ClientRootAccess"
],
"Resource": "arn:aws:s3files:ap-northeast-1:114785865157:file-system/fs-01a149949bdb9d36e"
},
{
"Sid": "S3BucketAccessForClient",
"Effect": "Allow",
"Action": [
"s3:GetObject*",
"s3:PutObject*",
"s3:ListBucket*"
],
"Resource": [
"arn:aws:s3:::s3file-s3-114785865157-ap-northeast-1-an",
"arn:aws:s3:::s3file-s3-114785865157-ap-northeast-1-an/*"
]
}
]
}
以下のようにEC2インスタンスのIAMロールを変更して作成したものに変更します。

VPCの名前解決が有効か確認
「DNSホスト名を有効化」にしていないと、後で対応するEC2のマウント操作で内部的に行われるAWS内部リソースの名前解決が失敗しエラーとなるため有効になっているかみておきます。
EC2インスタンスでマウント操作
手順はコンソールから確認できるのですが、ステップ5までは完了しているためステップ6から実施します。

クライアントユーティリティをダウンロードしてインストール
次のコマンドを実行します。
curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install
ここでインストールしているものは、EFSと同様でefs-utilsです。
curlでインターネットからスクリプトを取得してパイプでそのままスクリプト実行までしています。
新しいディレクトリを作成
マウントで利用するディレクトリをmntディレクトリ配下に作成します。
sudo mkdir /mnt/s3files
作成されていることを確認します。(s3filesがあるのでOK)
ls -al /mnt/
total 0
drwxr-xr-x. 3 root root 21 May 17 14:59 .
dr-xr-xr-x. 18 root root 237 May 15 00:24 ..
drwxr-xr-x. 2 root root 6 May 17 14:59 s3files
マウント操作を実行します。
まずはマウント実行前の状態を確認し
df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 459M 0 459M 0% /dev/shm
tmpfs tmpfs 184M 432K 183M 1% /run
/dev/nvme0n1p1 xfs 8.0G 1.7G 6.3G 21% /
tmpfs tmpfs 459M 0 459M 0% /tmp
/dev/nvme0n1p128 vfat 10M 1.3M 8.7M 13% /boot/efi
tmpfs tmpfs 92M 0 92M 0% /run/user/0
マウントコマンドを実行
sudo mount -t s3files fs-03f8ad5fc00df132d /mnt/s3files
マウント後を確認するとNFSv4 のファイルシステムとして見えていることが分かりました。
df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 459M 0 459M 0% /dev/shm
tmpfs tmpfs 184M 492K 183M 1% /run
/dev/nvme0n1p1 xfs 8.0G 1.7G 6.3G 21% /
tmpfs tmpfs 459M 0 459M 0% /tmp
/dev/nvme0n1p128 vfat 10M 1.3M 8.7M 13% /boot/efi
tmpfs tmpfs 92M 0 92M 0% /run/user/0
127.0.0.1:/ nfs4 8.0E 0 8.0E 0% /mnt/s3files
テストファイルを作成してコンソールからファイルを見てみると
echo "S3 Files 検証成功!" > /mnt/s3files/hello_aws.txt
参照元






