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
520
Apache Icebergの解説とAWSでの運用
shuyasawa
1
29
S3のライフサイクルをAmazon Braketで最新化してみる
shuyasawa
0
6
Other Decks in Technology
See All in Technology
令和トラベルQAのAI活用
seigaitakahiro
0
500
テストを実施する前に考えるべきテストの話 / Thinking About Testing Before You Test
nihonbuson
PRO
13
2k
Postman AI エージェントビルダー最新情報
nagix
0
190
スプリントゴールで価値を駆動しよう
takufujii
3
1.6k
FastMCPでSQLをチェックしてくれるMCPサーバーを自作してCursorから動かしてみた
nayuts
1
190
継続戦闘能⼒
sansantech
PRO
0
210
S3 Tables を図解でやさしくおさらい~基本から QuickSight 連携まで/s3-tables-illustrated-basics-quicksight
emiki
1
330
Roo Codeにすべてを委ねるためのルール運用
pharma_x_tech
1
210
CSS polyfill とその未来
ken7253
0
140
Digitization部 紹介資料
sansan33
PRO
1
3.8k
やさしいClaude Code入門
minorun365
PRO
26
20k
“新卒らしさ”を脱ぎ捨てて 〜1年を経て学んだこと〜
rebase_engineering
0
130
Featured
See All Featured
Done Done
chrislema
184
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Adopting Sorbet at Scale
ufuk
76
9.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Documentation Writing (for coders)
carmenintech
71
4.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Faster Mobile Websites
deanohume
307
31k
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からクエリ叩けるのは嬉しい