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
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
S3 Tables関連リソースをTerraformで作成してみる
S3テーブルバケット関連のAWSリソースをTerraformでデプロイできるかを検証してみた記事です
tac
March 13, 2025
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
2
7.7k
私がブラウザを自作したくなった理由
supurazako
1
230
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.3k
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
210
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
2
740
ホームラボ紹介
y_sera15
0
170
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.7k
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.5k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
170
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
1
400
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
800
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.5k
Mind Mapping
helmedeiros
PRO
1
310
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Navigating Weather and Climate Data
rabernat
0
470
KATA
mclloyd
PRO
35
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Git: the NoSQL Database
bkeepers
PRO
432
67k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
A Soul's Torment
seathinner
6
3.4k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
640
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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.