Amazon S3 annotations 登場!オブジェクトに最大 1 GB の文脈を直付けできるよ!
やっほー、しぃちゃんだよ!今日はストレージ好きにはたまらないニュースだよ。Amazon S3 に、オブジェクトへ直接リッチな "文脈" をくっつけられる annotations(注釈)っていう新機能が来たの!さっそく見ていこう!
AWS Blog
なにが発表されたの?
AWS の Blog(新機能を告知する News 寄りのブログ)で、Amazon S3 の新機能 S3 annotations が発表されたよ。これは、S3 に置いたオブジェクト 1 つひとつに、あとから書き換えられて検索もできる大きなメタ情報を直接くっつけられる仕組みなの。
しかも普通のメタデータとはケタ違いのサイズ感で、1 オブジェクトあたり最大 1,000 個の名前付き注釈、1 個につき最大 1 MB、合計で最大 1 GB まで付けられるんだよ。中身は JSON・XML・YAML・プレーンテキストみたいな好きなフォーマットで OK。AI エージェントや自律的なワークフローが、データを「見つけて・理解して・動く」ための土台として作られた機能なんだって。
今までどうだったの?
S3 には元々メタデータの付け方がいくつかあったんだけど、どれも制約があったの。
- ユーザー定義メタデータ: 最大 2 KB で、しかもあとから書き換え不可(オブジェクトを作り直す必要があった)
- オブジェクトタグ: 書き換えはできるけど、最大 10 個までで、用途もアクセス制御やライフサイクル向き
だから「このデータは何なのか」を表す本格的な情報は、結局 S3 の外側にある別のデータベースやサイドカーファイルに置いて、同期し続ける必要があったの。AWS はこの同期ワークフローについて、
metadata describing S3 objects often lives in separate databases or sidecar files, requiring complex synchronization workflows that can exceed data storage costs.
と説明していて、メタデータの管理コストがデータ保存コストを超えることさえある、って指摘しているよ。annotations はこの「別建てのメタデータ管理」をまるごと不要にするのが狙いなんだ。
これで何が変わるの?
いちばん大きいのは、文脈がデータ本体にくっついて動くこと!注釈はオブジェクトのコピー・レプリケーション・リージョン間転送でも自動でついてくるし、親オブジェクトが消えれば注釈も一緒に消えるの。だから同期のズレに悩まなくてよくなるよ。
しかも注釈はオブジェクトのライフサイクルの間ずっと書き換え可能(mutable)。オブジェクト本体を作り直さずに、いつでも中身を更新・削除できるんだ。
使いどころもイメージしやすいよ。たとえば動画に文字起こしや字幕・権利情報を貼ったり、調査文書に AI が生成した要約やセンチメント分析を足したり、臨床試験データに規制ステータスや承認履歴を付けたり。しかも Glacier みたいなアーカイブ層のオブジェクトでも、注釈だけは取り出し料金なしで参照・検索できるのがうれしいポイントだよ!
深く潜ってみよう
注釈の操作は 4 つの API で行うよ。PutObjectAnnotation(付与・更新)、GetObjectAnnotation(取得)、ListObjectAnnotations(一覧)、DeleteObjectAnnotation(削除)。CLI ならこんな感じ。
aws s3api put-object-annotation \
--bucket my-media-bucket \
--key videos/documentary-2026.mp4 \
--annotation-name mediainfo \
--annotation-payload ./mediainfo.json
必要な IAM 権限は s3:PutObjectAnnotation と s3:GetObjectAnnotation だよ。
そして検索がすごいの。バケットで S3 Metadata の annotation テーブルを有効にすると、S3 が注釈を自動でフルマネージドな Apache Iceberg テーブルにインデックスしてくれて、Amazon Athena や Iceberg 対応エンジンから SQL で問い合わせできるようになるんだ。たとえば「音声トラックが 8 本より多い動画」を探すクエリはこんな感じ。
SELECT DISTINCT bucket, object_key
FROM "s3tablescatalog/aws-s3"."b_my_media_bucket"."annotation"
WHERE name = 'mediainfo'
AND CAST(json_extract_scalar(text_value, '$.audio_tracks') AS INTEGER) > 8
反映のタイミングは、変更履歴を持つ journal テーブルがほぼリアルタイム、annotation テーブルはおよそ 1 時間以内。すでに注釈があるバケットでは自動でバックフィルされるけど、オブジェクト数によっては数時間から数日かかることもあるみたい。
料金は、注釈のストレージは親オブジェクトの保存クラスに関係なく S3 Standard レートで課金されるよ。提供リージョンは AWS China リージョンを含む全リージョンで、annotation テーブルは S3 Metadata が使えるところで利用できるんだって。自然言語での検索も、S3 Tables MCP サーバーと Amazon SageMaker Unified Studio などを組み合わせれば使えるよ。
まとめ
- Amazon S3 に、オブジェクトへ直接メタ情報を貼れる新機能 annotations が登場!
- 1 オブジェクトあたり最大 1,000 個・合計 1 GB、JSON や YAML など自由なフォーマットで書き換え可能
- 注釈はコピーやレプリケーションでデータと一緒に移動し、別建てのメタデータ DB がいらなくなる
- S3 Metadata の annotation テーブルを有効にすれば Athena などから SQL で検索でき、アーカイブ層でも取り出し料金なし
- 料金は S3 Standard レート、China を含む全リージョンで利用可能
大量の非構造データを AI エージェントに「探させて・使わせたい」人に、ドンピシャで刺さる機能だよ!