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 Tables関連リソースをTerraformで作成してみる
Search
tac
March 13, 2025
Technology
0
67
S3 Tables関連リソースをTerraformで作成してみる
S3テーブルバケット関連のAWSリソースをTerraformでデプロイできるかを検証してみた記事です
tac
March 13, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
From Live Coding to Vibe Coding with Firebase Studio
firebasethailand
1
330
Wasmで社内ツールを作って配布しよう
askua
0
160
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
mutsumix
0
120
Gemini in Android Studio - Google I/O Bangkok '25
akexorcist
0
100
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
110
Tableau API連携の罠!?脱スプシを夢見たはずが、逆に依存を深めた話
cuebic9bic
2
160
AI駆動開発 with MixLeap Study【大阪支部 #3】
lycorptech_jp
PRO
0
280
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
1
190
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
150
2025新卒研修・HTML/CSS #弁護士ドットコム
bengo4com
2
3.4k
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
110
[TechNight #91] Oracle Database 最新パフォーマンス分析手法
oracle4engineer
PRO
3
290
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Documentation Writing (for coders)
carmenintech
72
4.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Designing for Performance
lara
610
69k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Thoughts on Productivity
jonyablonski
69
4.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
The Language of Interfaces
destraynor
158
25k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
Copyright © 2025 BeeX Inc. All Rights Reserved. S3 Tables周りをTerraformデプロイ
2025年03月12日 株式会社BeeX 牧野孝洋
Copyright © 2025 BeeX Inc. All Rights Reserved. 2 自己紹介
・名前 牧野孝洋(Makino Takahiro) ・所属 2017年~:デジタルマーケティングコンサル企業の総合職 2023年~:愛知県の製造メーカーのソフトウェア開発職 2024年~:株式会社BeeX データ分析基盤の構築/コンサル支援 エンタープライズソリューション本部データインテリジェンス部 ・出身 ・生まれ:愛知県名古屋市(イチローの母校の近く) ・大学~:宮城県仙台市(震災の年に入学) ・新卒~:上京(墨田区の方) ・親しみのあるツール Step Functions, Glue, Terraform 2025/03/01@池袋で開催されたJAWSに初参加 会社ブログ:https://www.beex-inc.com/blog/jawsdays2025_booth_participate
Copyright © 2025 BeeX Inc. All Rights Reserved. S3 Tables周りをTerraformデプロイ
Copyright © 2025 BeeX Inc. All Rights Reserved. 4 S3テーブルバケットの概要
Apache Icebergとの統合 ・タイムトラベルなどのIceberg標準機能が使える! 自動圧縮機能 ・クエリパフォーマンスが最大3倍向上! ※汎用バケット上のIceberg形式テーブルとの比較 自動メンテナンス機能 ・スナップショットや、不要ファイル削除など自動実行してくれる!
Copyright © 2025 BeeX Inc. All Rights Reserved. 5 S3テーブルバケットの構成
参考: Using Amazon S3 Tables with AWS analytics services - Amazon Simple Storage Service S3テーブルバケット S3テーブル用カタログ 名前空間 テーブル データベース テーブル
Copyright © 2025 BeeX Inc. All Rights Reserved. 6 コンソール画面
テーブルバケットまでしか作れない・・ ※2025/03/12現在
Copyright © 2025 BeeX Inc. All Rights Reserved. 7 S3テーブルバケットの実装方法
実装方法 対応範囲 参考URL Terraform テーブルバケット、名前空間、テーブル (スキーマは定義できない) https://registry.terraform.io/providers/hashicorp/a ws/5.88.0/docs/resources/s3tables_table S3コンソール テーブルバケットのみ https://docs.aws.amazon.com/AmazonS3/latest/us erguide/s3-tables- create.html?icmpid=docs_amazons3_console AWS CLI テーブルバケット、名前空間、テーブル https://awscli.amazonaws.com/v2/documentation/ api/latest/reference/s3tables/index.html AWS SDK(Boto3) テーブルバケット、名前空間、テーブル https://boto3.amazonaws.com/v1/documentation/a pi/latest/reference/services/s3tables.html Amazon S3 REST API テーブルバケット、名前空間、テーブル https://docs.aws.amazon.com/AmazonS3/latest/A PI/API_Operations_Amazon_S3_Tables.html AWS CDK テーブルバケットのみ https://docs.aws.amazon.com/cdk/api/v2/docs/aw s-cdk-lib.aws_s3tables-readme.html AWS CloudFormation テーブルバケットのみ https://docs.aws.amazon.com/AWSCloudFormation /latest/UserGuide/AWS_S3Tables.html ※2025/03/10調査時点
Copyright © 2025 BeeX Inc. All Rights Reserved. 8 各AWS分析サービスとの統合(プレビュー)
参考:https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html スキーマ作成 &データ挿入 クエリエディタから SQLクエリ実行 Athenaクエリ実行IAMロール に権限付与 今後検証・・ 今後検証・・ 今後検証・・ 検証してみる
Copyright © 2025 BeeX Inc. All Rights Reserved. 9 検証結果
リソース 検証内容 検証結果 備考 S3テーブル Terraformで テーブルバケット &名前空間 &テーブル作成 できた テーブルバケット、名前空間、テーブル用の resourceブロックが用意されている (スキーマ定義用パラメータは用意されていない) EMR Terraformで スキーマ作成 &データインサート できた EMRクラスター用resourceブロック “aws_emr_cluster”のstepパラメータで、 スキーマ作成・データインサート用スクリプトの 実行を定義できる Lake Formation Terraformで IAMロールに S3テーブルの権限付与 できない ※今回はLake Formation コンソールから実装 resourceブロック “aws_lakeformation_permissions”が用意され ているが、「catalog_id」の指定が12桁でないと エラーになってしまう Athena Athenaコンソールから S3テーブルを SELECTクエリ できた 以下SQLクエリを実行できた: SELECT * FROM "s3tablescatalog/<バケット>”.“<名前空 間>”.“<テーブル>";
Copyright © 2025 BeeX Inc. All Rights Reserved. 10 Athenaクエリ結果
データが入っていることが確認できた
Copyright © 2025 BeeX Inc. All Rights Reserved. 11 Lake
Formationエラーに関するGitHub Issue 参考:[Bug]: LakeFormation permissions for S3Tables Catalog · Issue #40724 · hashicorp/terraform-provider-aws [Bug]: LakeFormation permissions for S3Tables Catalog #40724 catalog_idに<アカウントID>(12桁)以外を指定するとエラーになってしまう ※S3テーブル用カタログ:<アカウントID>:s3tablescatalog/<テーブルバケット名>
Copyright © 2025 BeeX Inc. All Rights Reserved. 12 まとめ
TerraformとS3テーブル Terraformから操作するとリソース削除がラク 例えばAWS CLIから削除しようとすると、 中身削除 → テーブル削除 → 名前空間削除 → テーブルバケット削除 一方Terraformだと、 terraform destroyコマンドで全部消えてくれる Terraformのアップデートにも期待 S3テーブルのスキーマ定義 Lake Formationの権限設定 など
Copyright © 2025 BeeX Inc. All Rights Reserved. Copyright ©
2025 BeeX Inc. All Rights Reserved.