Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
S3 Tables関連リソースをTerraformで作成してみる
Search
tac
March 13, 2025
Technology
0
130
S3 Tables関連リソースをTerraformで作成してみる
S3テーブルバケット関連のAWSリソースをTerraformでデプロイできるかを検証してみた記事です
tac
March 13, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
グレートファイアウォールを自宅に建てよう
ctes091x
0
150
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
430
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
250
SSO方式とJumpアカウント方式の比較と設計方針
yuobayashi
7
600
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
400
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
170
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
360
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
4
1.4k
法人支出管理領域におけるソフトウェアアーキテクチャに基づいたテスト戦略の実践
ogugu9
1
220
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
0
520
Karate+Database RiderによるAPI自動テスト導入工数をCline+GitLab MCPを使って2割削減を目指す! / 20251206 Kazuki Takahashi
shift_evolve
PRO
1
720
Featured
See All Featured
Thoughts on Productivity
jonyablonski
73
5k
Designing for humans not robots
tammielis
254
26k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Context Engineering - Making Every Token Count
addyosmani
9
500
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
GraphQLとの向き合い方2022年版
quramy
50
14k
Typedesign – Prime Four
hannesfritz
42
2.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
RailsConf 2023
tenderlove
30
1.3k
Being A Developer After 40
akosma
91
590k
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.