Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
S3 Metadataの仕組みと活用方法
Search
Shuya Sawa
December 21, 2024
Technology
0
12
S3 Metadataの仕組みと活用方法
JAWS-UG横浜 #78 AWS re:Invent 2024 re:Cap Storage
https://jawsug-yokohama.connpass.com/event/337179/
Shuya Sawa
December 21, 2024
Tweet
Share
More Decks by Shuya Sawa
See All by Shuya Sawa
Q Developerの最新動向
shuyasawa
3
580
Apache Icebergの解説とAWSでの運用
shuyasawa
1
77
S3のライフサイクルをAmazon Braketで最新化してみる
shuyasawa
0
13
Other Decks in Technology
See All in Technology
pprof vs runtime/trace (FlightRecorder)
task4233
0
160
Why Governance Matters: The Key to Reducing Risk Without Slowing Down
sarahjwells
0
110
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
170
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
270
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
130
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
270
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
4
580
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
210
実装で解き明かす並行処理の歴史
zozotech
PRO
1
320
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
100
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.8k
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
890
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The World Runs on Bad Software
bkeepers
PRO
71
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Speed Design
sergeychernyshev
32
1.1k
YesSQL, Process and Tooling at Scale
rocio
173
14k
What's in a price? How to price your products and services
michaelherold
246
12k
Six Lessons from altMBA
skipperchong
28
4k
We Have a Design System, Now What?
morganepeng
53
7.8k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Music & Morning Musume
bryan
46
6.8k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Transcript
S3 Metadataの仕組みと活用方法 2024/12/21 JAWS Yokohama Storage re:Cap IBM Japan /
Shuya Sawa
2 S3 Metadata (Preview)の発表
3 S3 Metadata (Preview)の発表 S3のメタデータに対してAWSの分析サービスを通じて検索ができるようになった Before After Object メタデータ ETag:
68syw…… Object メタデータ ETag: 68syw…… Amazon EMR AWS Glue Amazon Redshift Amazon Athena S3 Metadata 分析サービスと統合し、 メタデータ検索が容易 になった × 直接検索不可 (DynamoDB などに書き出したり、S3イ ンベントリで代用) × 知るにはコンソール or API で1件ずつ × メタデータの用途がない
4 S3のメタデータとは? S3では保管するオブジェクトごとにメタデータが付与されている Object システム定義メタデータ ETag: 68syw…… ユーザー定義メタデータ Hoge: FugaFuga
実は支払っているS3料金は Object自体 + メタデータ の合計サイズで課金 Amazon S3 共通 ⚫ 2 KBまで ⚫ オブジェクトアップロードの時のみ設定が可能 システム定義メタデータ ⚫ AWSが自動で付与するメタデータ ⚫ ユーザーが変更可能なデータが一部ある ⚫ メタデータに基づいてストレージクラス等が決定する ⚫ Etagを使用した条件付き書き込みもPre:Inventのアップ デート ユーザー定義メタデータ ⚫ ユーザーが自由に設定できるメタデータ
5 システム定義メタデータ 名 説明 変更可否 Date 現在の日付と時刻 × Cache-Control キャッシュポリシーを指定するために使用される一般的なヘッダーフィールド
〇 Content-Disposition オブジェクトのプレゼンテーション情報 〇 Content-Length オブジェクトのサイズ (バイト単位) × Content-Type オブジェクトのタイプ 〇 Last-Modified オブジェクト作成日または最終更新日 × ETag オブジェクトの特定のバージョン アップロードの仕方やオブジェクトに基づいて計算される × x-amz-server-side-encryption オブジェクトでサーバー側の暗号化が有効か 〇 x-amz-checksum-crc32 オブジェクトのチェックサム × x-amz-version-id オブジェクトのバージョンID × x-amz-delete-marker オブジェクトが削除マーカーかどうかのフラグ × x-amz-storage-class ストレージクラス 〇 x-amz-website-redirect- location 関連付けられたオブジェクトのリクエストを同じバケット内の別のオブジェクトまたは外部 URL にリダイレク トするヘッダー。 〇 x-amz-server-side-encryption- aws-kms-key-id オブジェクトの暗号化に使用された KMS キーの ID を示すヘッダー。 〇 x-amz-server-side-encryption- customer-algorithm クライアント側暗号化 (SSE−C) が有効か同課のフラグ 〇 x-amz-tagging オブジェクトのタグセット 〇
6 S3 Metadata (Preview)の仕組み S3 MetadataはS3 Table bucketのAWS分析サービス統合を利用してメタデータを検索できるようにしている S3 Standard
Object Amazon Athena Query S3 Metadata AWS Glue Data Catalog AWS Lake Formation Database Role Amazon Redshift Permission S3 Tables のAWS 分析サービスとの統合(プレビュー) S3TablesRoleFor LakeFormation s3tablecatalog Metadata用 S3 Table Bucket メタデータ
7 S3 Metadata (Preview)の仕組み S3 MetadataはS3 Table bucketのAWS分析サービス統合を利用してメタデータを検索できるようにしている Amazon Athena
Query AWS Glue Data Catalog AWS Lake Formation Database Role Amazon Redshift Permission S3 Tables のAWS 分析サービスとの統合(プレビュー) S3TablesRoleFor LakeFormation s3tablecatalog Metadata用 S3 Table Bucket S3 Metadata S3オブジェクトのメタデータを IceBerg形式に変換し、S3 Tables Bucketに格納 Table Bucketは事前 にユーザーが準備 汎用Bucket側でS3 Metadataの設定を行う S3 Standard Object メタデータ 12/20 Storage-JAWS #6 より S3 Tablesは昨年発表のS3 Express Onezoneのようにハード面で強化が 行われたわけではなく、Iceberg形式 の格納という目的に応じてソフト面で 最適化されたバケットとのこと
S3 Standard Object メタデータ 8 S3 Metadata (Preview)の仕組み S3 MetadataはS3
Table bucketのAWS分析サービス統合を利用してメタデータを検索できるようにしている Amazon Athena Query Role Amazon Redshift Permission S3 Metadata Database S3TablesRoleFor LakeFormation Metadata用 S3 Table Bucket AWS Lake Formation S3 Tables のAWS 分析サービスとの統合(プレビュー) s3tablecatalog AWS Glue Data Catalog
S3 Standard Object メタデータ Metadata用 S3 Table Bucket S3TablesRoleFor LakeFormation
S3 Tables のAWS 分析サービスとの統合(プレビュー) 9 S3 Metadata (Preview)の仕組み S3 MetadataはS3 Table bucketのAWS分析サービス統合を利用してメタデータを検索できるようにしている Amazon Athena Query Role Amazon Redshift Permission S3 Metadata AWS Lake Formation s3tablecatalog AWS Glue Data Catalog Database Roleを使ってData Catalog のDatabaseにアクセス カタログごとに許可設定 リソース リンク
10 S3 Metadata (Preview)の仕組み S3 MetadataはS3 Table bucketのAWS分析サービス統合を利用してメタデータを検索できるようにしている S3 Standard
Object Amazon Athena Query S3 Metadata AWS Glue Data Catalog AWS Lake Formation Database Role Amazon Redshift Permission S3 Tables のAWS 分析サービスとの統合(プレビュー) S3TablesRoleFor LakeFormation s3tablecatalog Metadata用 S3 Table Bucket メタデータ
必要なbucket作成 11 統合はON!
汎用バケット側でMetadata設定 12 先ほど作ったTable Bucket 自動生成 汎用Bucket側で設定
Metadata 設定完了 ! 13 完了!!
Lake Formation用のロール確認 14 AWS分析サービス統合をした結果 ロールが作成され、LakeFormationに アタッチされる
Lake Formation カタログ設定 15 AWS分析サービス統合によって生成 ロールまたはユーザーの許可設定を行う カタログ内のテーブルに対しても許可を入れる
Athenaコンソールから接続確認 16 メタデータのカラムを確認! カタログ・データベースが選択可能になっている
Athenaからクエリも成功! 17 試しに時間制約追加 絞りこみOK!
18 触ってみて気が付いたこと 他にも思いつく用途があればぜひ教えてください! これまでにないS3のメタデータを活用したサービスであるため、活用の幅は広がりそう ⚫ オブジェクトを更新時間区切りで検索 ⚫ 削除済みオブジェクト一覧を出す ⚫ オブジェクトサイズ分布分析
⚫ ユーザー定義メタデータで要約文章をいれておく … etc. メタデータ名 ≠ Data Catalog上のテーブルカラム名 システム定義メタデータ名 (一部抜粋) カタログ上のカラム名 Content-Type record_type Last-Modified record_timestamp ETag e_tag x-amz-delete-marker is_delete_marker x-amz-storage-class storage_class x-amz-server-side-encryption-aws-kms-key-id kms_key_arn AWS分析サービス統合 (プレビュー)がかなり使い勝手が良い ⚫ EMRに慣れていないので、一瞬でAthenaからクエリ叩けるのは嬉しい