どんな取り組みか
この記事では、Amazon S3 Filesをファイルシステムとして利用するために、EC2インスタンスからマウントする手順について解説します。2026年4月にリリースされたこの機能により、S3バケットをEFSのように利用できるようになりました。マウント作業の復習も兼ねて、具体的な手順を説明します。
使われた技術スタック
- Amazon S3 Files
- Amazon EC2
- Amazon VPC
- IAM
- NFSプロトコル
実装のポイント
S3バケットの作成
ファイルシステムとして利用するS3バケットを作成します。この際、バケットのバージョニングが必須要件となるため、有効にチェックを入れる必要があります。
ファイルシステムの作成
作成したS3バケットを選択し、「ファイルシステム-新規」タブからファイルシステムを作成します。マウントに利用するインスタンスがあるVPCを選択し、ファイルシステムを作成します。作成には約3分ほどかかります。指定したVPC内にマウントターゲットが作成されていることも確認できます。
マウントターゲットのセキュリティグループの編集
マウントターゲットのセキュリティグループを編集します。S3 Filesは内部的にEFSと同様にNFSプロトコルを利用しており、2049ポートが許可されている必要があります。そのため、許可されているセキュリティグループに変更してください。
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ホスト名を有効化」が有効になっていないと、後続のマウント操作で内部的に行われるAWS内部リソースの名前解決が失敗しエラーとなる可能性があります。そのため、有効になっているか確認しておきます。
EC2インスタンスでマウント操作
クライアントユーティリティをダウンロードしてインストールします。以下のコマンドを実行します。
curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install
ここでインストールしているのは、EFSと同様のefs-utilsです。新しいディレクトリを作成します。
sudo mkdir /mnt/s3files
マウント操作を実行します。まず、マウント実行前の状態を確認します。
マウントコマンドを実行します。
sudo mount -t s3files fs-03f8ad5fc00df132d /mnt/s3files
マウント後を確認すると、NFSv4のファイルシステムとして見えていることが分かります。
テストファイルを作成してコンソールからファイルを見てみると、作成されていることが確認できます。
echo "S3 Files 検証成功!" > /mnt/s3files/hello_aws.txt
得られた成果や学び
Amazon S3 FilesをファイルシステムとしてEC2インスタンスにマウントする手順を解説しました。S3バケットのバージョニング設定、マウントターゲットのセキュリティグループ設定、EC2インスタンスへのIAMロール割り当て、そしてクライアントユーティリティのインストールとマウントコマンドの実行が重要なポイントです。これにより、S3バケットをあたかもローカルファイルシステムのように扱えるようになります。
まとめ
Amazon S3 Filesをファイルシステムとして利用することで、既存のアプリケーションやワークフローをS3と容易に連携させることが可能になります。本記事で解説した手順を参考に、S3 Filesの活用を検討してみてください。
出典: https://qiita.com/miyamon_key/items/ac3c24ceecfba1c49c7f
Related Certifications
この記事に関連する技術領域の認定資格
AWS 関連資格
- AWS Certified Cloud Practitioner
- AWS Certified Solutions Architect – Associate
- AWS Certified Developer – Associate
- AWS Certified Solutions Architect – Professional
- AWS Certified DevOps Engineer – Professional
- AWS Certified Machine Learning – Specialty
※ 認定資格は技術スキルの体系的な学習に役立ちます。試験の出題範囲や受験要件は変更される場合があるため、受験前に必ず公式サイトで最新情報をご確認ください。
PR / Recommended
プライバシー保護に役立つVPNサービス
公衆Wi-Fi利用時の通信保護やプライバシー確保にはVPNが効果的です。NordVPNは世界中で利用されている定番VPNサービスで、強力な暗号化と高速接続を両立しています。
SF Tech & Win
Salesforce × AWS × AI 連携の実装ノウハウ
SIer・スタートアップ・中小企業のDX推進に役立つアーキテクチャ事例・実装パターン・最新アップデート情報を毎朝配信。


コメント