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
35
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
610
Apache Icebergの解説とAWSでの運用
shuyasawa
1
120
S3のライフサイクルをAmazon Braketで最新化してみる
shuyasawa
0
16
Other Decks in Technology
See All in Technology
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
560
Red Hat OpenStack Services on OpenShift
tamemiya
0
140
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
Agile Leadership Summit Keynote 2026
m_seki
1
680
AWS Network Firewall Proxyを触ってみた
nagisa53
1
240
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
1,000 にも届く AWS Organizations 組織のポリシー運用をちゃんとしたい、という話
kazzpapa3
0
180
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1.1k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.6k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
Rails Girls Zürich Keynote
gr2m
96
14k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
HDC tutorial
michielstock
1
390
How to Talk to Developers About Accessibility
jct
2
140
Utilizing Notion as your number one productivity tool
mfonobong
3
220
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からクエリ叩けるのは嬉しい