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
5
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
500
Apache Icebergの解説とAWSでの運用
shuyasawa
0
14
S3のライフサイクルをAmazon Braketで最新化してみる
shuyasawa
0
6
Other Decks in Technology
See All in Technology
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
1
950
AIとSREで「今」できること
honmarkhunt
3
710
Microsoft の SSE の現在地
skmkzyk
0
300
genspark_presentation.pdf
haruki_uiru
1
210
Part1 GitHubってなんだろう?その1
tomokusaba
2
540
コスト最適重視でAurora PostgreSQLのログ分析基盤を作ってみた #jawsug_tokyo
non97
2
890
DynamoDB のデータを QuickSight で可視化する際につまづいたこと/stumbling-blocks-when-visualising-dynamodb-with-quicksight
emiki
0
130
Oracle Cloud Infrastructure:2025年4月度サービス・アップデート
oracle4engineer
PRO
0
380
Aspire をカスタマイズしよう & Aspire 9.2
nenonaninu
0
380
Winning at PHP in Production in 2025
beberlei
1
270
SnowflakeとDatabricks両方でRAGを構築してみた
kameitomohiro
1
590
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
2
640
Featured
See All Featured
Designing for humans not robots
tammielis
253
25k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Speed Design
sergeychernyshev
29
930
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Into the Great Unknown - MozCon
thekraken
38
1.7k
How GitHub (no longer) Works
holman
314
140k
Build your cross-platform service in a week with App Engine
jlugia
230
18k
Optimizing for Happiness
mojombo
378
70k
The Cult of Friendly URLs
andyhume
78
6.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
420
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からクエリ叩けるのは嬉しい