1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon S3 Filesを触りながらファイルシステムについて復習してみた

1
Last updated at Posted at 2026-05-17

概要

2026年4月にリリースされた内容ですが、S3バケットがEC2やECS、Lambda等から、EFSのようにマウントしてファイルシステムとして利用できるようになりました。
もうリリースされて1か月以上経っているので触られている人も多いですが自分はまだ触れていなかったので触りました。
またついでにマウント作業の復習もしようと思います。

構成

シンプルに以下とします。
Untitled Diagram.drawio.png

S3作成

ファイルシステムとして利用するS3バケットを作成します。
この時の注意点としては、ファイルシステムとして利用する場合はバケットのバージョニングがマスト要件となるため有効にチェックをいれます。
image.png
image.png

ファイルシステムの作成

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

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

3分ほどするとファイルシステムが作成完了しています。
image.png

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

マウントターゲットのセキュリティグループの編集

マウントターゲットをチェックして編集をクリックします。
image.png

ここでセキュリティグループの変更ができるのですが、S3Filesは内部的にはEFS同様にNFSプロトコルが利用されており、2049portが許可されている必要があるため、許可されているセキュリティグループに変更してください。

image.png

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ロールを変更して作成したものに変更します。
image.png

image.png

VPCの名前解決が有効か確認

「DNSホスト名を有効化」にしていないと、後で対応するEC2のマウント操作で内部的に行われるAWS内部リソースの名前解決が失敗しエラーとなるため有効になっているかみておきます。

image.png

EC2インスタンスでマウント操作

手順はコンソールから確認できるのですが、ステップ5までは完了しているためステップ6から実施します。
image.png

クライアントユーティリティをダウンロードしてインストール

次のコマンドを実行します。

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

作成されていることが分かりました。
image.png

参照元

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?