Amazon S3 Filesをファイルシステムとして利用する手順

Amazon S3 Filesをファイルシステムとして利用する手順 AWS
Amazon S3 Filesをファイルシステムとして利用する手順

どんな取り組みか

この記事では、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サービスで、強力な暗号化と高速接続を両立しています。

NordVPNの詳細

SF Tech & Win

Salesforce × AWS × AI 連携の実装ノウハウ

SIer・スタートアップ・中小企業のDX推進に役立つアーキテクチャ事例・実装パターン・最新アップデート情報を毎朝配信。

コメント

タイトルとURLをコピーしました