AWSがS3 Filesを導入、S3バケットへのファイルシステムアクセスを実現
AWSはS3 Filesを導入し、ユーザーがAmazon S3バケットをマウントして標準ファイルシステムインターフェースでデータにアクセスできるようにした。
キーポイント
S3 Filesの基本機能
Amazon S3バケットをマウントし、標準ファイルシステムインターフェースを通じてデータにアクセスできる。
技術的仕組み
標準ファイル操作を自動的にS3リクエストに変換し、コンピュートサービスがS3に保存されたデータを直接操作できる。
実用性の向上
アプリケーションが既存のファイル操作でS3データを読み書きできるため、開発者体験と統合の容易さが向上する。
影響分析・編集コメントを表示
影響分析
この発表は、クラウドストレージとアプリケーション間の統合を大幅に簡素化し、開発者の生産性向上とデータアクセスの柔軟性向上につながる。既存のファイルベースのアプリケーションをS3とシームレスに連携させることで、クラウドネイティブなデータ処理の障壁を下げる効果が期待される。
編集コメント
AWSのS3 Filesは、クラウドストレージの使い勝手を向上させる実用的な機能追加であり、特に既存システムとの統合を重視する企業にとって価値が高い。
AWSは最近、S3 Filesを発表しました。これによりユーザーはAmazon S3バケットをマウントし、標準的なファイルシステムインターフェース(file system interface)を通じてそのデータにアクセスできます。アプリケーションは標準的なファイル操作でファイルの読み書きが可能であり、システムがそれらを自動的にS3リクエストに変換するため、コンピューティングサービス(compute services)はS3に保存されたデータと直接連携して動作できます。
出典:AWSブログ
AWSシニアデベロッパーアドボケイトのSébastien Stormacq氏は、バケットのデータがマウントされた後にどのように公開されるかを説明しています。
ファイルシステムを通じて特定のファイルやディレクトリを操作すると、関連するファイルメタデータ(metadata)とコンテンツがファイルシステムの高パフォーマンスストレージ(high-performance storage)に配置されます。デフォルトでは、低レイテンシアクセス(low-latency access)の恩恵を受けるファイルが高パフォーマンスストレージに保存され、そこから提供されます。大規模なシーケンシャルリードが必要ななど高パフォーマンスストレージに保存されないファイルの場合、S3 Filesはスループット(throughput)を最大化するためにそれらのファイルをAmazon S3から直接提供します。
オブジェクトストレージ(object store)に対してフル機能の高パフォーマンスファイルシステムアクセスを提供する唯一のプロバイダーを自称し、AWSはアナリティクス、機械学習、メディア処理(analytics, machine learning, media processing)、および大規模データセットへの共有ファイルシステムアクセスを必要とするその他のアプリケーション向けにS3 Filesを推奨しています。Stormacq氏はさらに次のように述べています。
内部では、S3 FilesはAmazon EFSを使用し、アクティブなデータに対して約1msのレイテンシ(latencies)を実現します。このファイルシステムはNFSクローズ・トゥ・オープン一貫性(NFS close-to-open consistency)をサポートしており、複数のコンピューティングリソースからの並行アクセス(concurrent access)に対応します。これにより、ファイルベースのツールを通じて連携するエージェント型AIエージェント(agentic AI agents)からデータセットを処理するMLトレーニングパイプライン(ML training pipelines)に至るまで、データを更新するインタラクティブな共有ワークロード(workloads)に最適です。
S3 Filesはインテリジェントプリフェッチ(intelligent prefetching)をサポートし、データアクセスのニーズを先読みします。顧客はファイルシステムに保存される内容を制御でき、完全なファイルデータまたはメタデータのみの読み込みオプションを選択できるため、特定のアクセスパターンに最適化できます。AmazonのVP兼ディスティングイッシュドエンジニアであるAndrew Warfield氏は、S3 Filesの開発動機と設計上の選択事項を説明し、実装の詳細についても提供しています。Warfield氏は次のように記述しています。
ファイルの作成または変更時、変更内容は約60秒ごとに集計され、単一のPUT操作としてS3にコミットされます。同期は双方向で実行されるため、他のアプリケーションがバケット内のオブジェクトを変更した場合、S3 Filesはそれらの変更を自動的に検出し、ファイルシステムビューに反映します。両方の場所から同時にファイルが更新される競合が発生した場合、S3が唯一の正解(source of truth)となり、ファイルシステム側のバージョンはCloudWatchメトリクス(CloudWatch metric)でイベントを識別するlost+foundディレクトリに移動します。30日間アクセスされていないファイルデータはファイルシステムビューから削除(evicted)されますが、S3からは削除されないため、ストレージコストはアクティブワーキングセット(active working set)に比例したまま維持されます。
一部の開発者は、長年「ファイルシステムではない」と説明されてきたサービスにAWSがファイルシステムインターフェースを追加したことに、ユーモアを持って反応しました。同時に、より広いコミュニティの反応は賛否両論であり、簡素な開発者体験を評価する声がある一方で、潜在的なコストに関する懸念を提起する声もありました。
「S3 Is Not a Filesystem (But Now There's One In Front of It)」記事において、Corey Quinn氏は実装を称賛し(「彼らは単にS3の上にPOSIXレイヤーをぶら下げてそれで済ませただけではない」)、Mountpoint for Amazon S3との違いを強調し、価格モデルを妥当と見なし、EFSの価格と比較した分析を行っています。
料金は、S3ファイルシステムに保存されるデータ量に基づき、小ファイルの読み取りおよびすべての書き込み操作に対して課金されます。また、ファイルシステムとS3バケット間でデータを同期するために使用されるS3リクエストに対しても課金されます。人気のHacker Newsスレッドにおいて、ユーザーMontyCarloHallは次のようにコメントしています:
これは本質的に、アクティブなデータと小規模なランダムアクセスに対してキャッシュレイヤーとしてEFS(AWSのマネージドNFSサービス)を利用するS3FSです。残念ながら、これにはEFSの高い価格体系の一部も含まれることを意味します。
設計上、S3 FilesはEFSインフラストラクチャ上で同等の価格体系で動作しますが、ファイルシステムに格納される小規模かつ頻繁にアクセスされるデータ部分に対してのみ課金されるため、単価が同等でも全体のコストは低く抑えられる可能性があります。この新オプションをテストしたProvenantのCTO、Dzhuneyt Ahmed氏は、現在の制限事項を指摘しています。S3バージョニングは必須であり、ローンチ時にはInfrastructure as Codeのサポートがなく、信頼ポリシーにEFSサービスプリンシパルとS3 Files固有の条件が使用されているため、IAMの設定も直感的ではありません。
別の発表において、Amazon S3は新しいデフォルトのセキュリティ設定を導入し、新規および既存のバケットに対して、顧客提供キーによるサーバーサイド暗号化(SSE-C)を無効にしました。
S3 FilesはすべてのAWSリージョンで一般提供されています。
著者について
Renato Losio
Renatoは、クラウドアーキテクト、テクニカルリード、クラウドサービススペシャリストとして豊富な経験を持っています。現在ベルリンに住み、シニアクラウドアーキテクトとしてリモートで勤務しています。主な関心領域はクラウドサービスとリレーショナルデータベースです。InfoQの編集者であり、認定AWS Data Heroでもあります。LinkedInでつながることができます。
詳細表示非表示
原文を表示
AWS recently introduced S3 Files, which lets users mount an Amazon S3 bucket and access its data through a standard file system interface. Applications can read and write files using standard file operations, while the system automatically translates them into S3 requests, allowing compute services to work directly with data stored in S3.
Source: AWS blog
Sébastien Stormacq, principal developer advocate at AWS, explains how the bucket's data is exposed once it has been mounted:
As you work with specific files and directories through the file system, associated file metadata and contents are placed onto the file system's high-performance storage. By default, files that benefit from low-latency access are stored and served from the high performance storage. For files not stored on high performance storage such as those needing large sequential reads, S3 Files automatically serves those files directly from Amazon S3 to maximize throughput.
Claiming to be the only provider offering fully featured, high-performance file system access to an object store, AWS suggests S3 Files for workloads such as analytics, machine learning, media processing, and other applications that require shared file system access to large datasets. Stormacq adds:
Under the hood, S3 Files uses Amazon EFS and delivers ~1ms latencies for active data. The file system supports concurrent access from multiple compute resources with NFS close-to-open consistency, making it ideal for interactive, shared workloads that mutate data, from agentic AI agents collaborating through file-based tools to ML training pipelines processing datasets.
S3 Files supports intelligent prefetching to anticipate data access needs. Customers can control what is stored on the file system, including the option to load full file data or only metadata, enabling optimization for specific access patterns. Andrew Warfield, VP and Distinguished Engineer at Amazon, explains the motivation and design choices behind S3 Files and provides some implementation details. Warfield writes:
When you create or modify files, changes are aggregated and committed back to S3 roughly every 60 seconds as a single PUT. Sync runs in both directions, so when other applications modify objects in the bucket, S3 Files automatically spots those modifications and reflects them in the filesystem view automatically. If there is ever a conflict where files are modified from both places at the same time, S3 is the source of truth and the filesystem version moves to a lost+found directory with a CloudWatch metric identifying the event. File data that hasn't been accessed in 30 days is evicted from the filesystem view but not deleted from S3, so storage costs stay proportional to your active working set.
Some developers reacted humorously to AWS adding a filesystem interface to a service long described as "not a filesystem." At the same time, the broader community response was mixed, with some appreciating the simpler developer experience and others raising concerns about potential costs.
In the "S3 Is Not a Filesystem (But Now There's One In Front of It)" article, Corey Quinn praises the implementation ("They didn't just bolt a POSIX layer on top of S3 and call it a day"), highlights the differences with Mountpoint for Amazon S3, considers the pricing model reasonable, and analyzes how it compares with EFS pricing.
Charges apply based on the amount of data stored in the S3 file system, for small-file reads and all write operations, and for S3 requests used to synchronize data between the file system and the S3 bucket. On a popular Hacker News thread, user MontyCarloHall comments:
This is essentially S3FS using EFS (AWS's managed NFS service) as a cache layer for active data and small random accesses. Unfortunately, this also means that it comes with some of EFS's eye-watering pricing.
S3 Files runs on EFS infrastructure with identical pricing by design, but since charges apply only to the small, frequently accessed portion of data that lands on the filesystem, the overall cost might remain lower despite the matched rates. Testing the new option, Dzhuneyt Ahmed, CTO at Provenant, highlights the current limitations: S3 versioning is mandatory, there is no Infrastructure as Code support at launch, and the IAM setup is not obvious, with the trust policy using EFS service principals and S3 Files-specific conditions.
With a separate announcement, Amazon S3 introduced a new default security setting that disables server-side encryption with customer-provided keys (SSE-C) for new and existing buckets.
S3 Files is generally available in all AWS regions.
About the Author
Renato Losio
Renato has extensive experience as a cloud architect, tech lead, and cloud services specialist. Currently, he lives in Berlin and works remotely as a principal cloud architect. His primary areas of interest include cloud services and relational databases. He is an editor at InfoQ and a recognized AWS Data Hero. You can connect with him on LinkedIn.
Show moreShow less
関連記事
AWSが自動インシデント調査のためのDevOpsエージェントを一般提供開始
AWSは、開発者と運用者がAWS環境での問題のトラブルシューティング、デプロイメントの分析、運用タスクの自動化を支援する生成AI搭載アシスタント「DevOps Agent」の一般提供を開始した。
Amazon Bedrockの詳細なコスト帰属機能の導入
AWSがAmazon Bedrockの推論コストをIAMプリンシパルごとに自動的に帰属する機能を発表した。これにより、コストの内訳把握、コスト最適化、財務計画が容易になる。
Amazon Nova Multimodal Embeddingsで強化する動画意味検索
Amazonは、動画内の特定シーンを高速・高精度に検索できる「Nova Multimodal Embeddings」を発表した。スポーツ放送局やスタジオが、プレイヤーの得点シーンや特定俳優のシーンを瞬時に抽出できるようになる。