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
terraform-provider-aws にプルリクして マージされるまで
Search
TATSUNO Yasuhiro
June 26, 2024
Programming
2
380
terraform-provider-aws にプルリクして マージされるまで
JAWS-UG名古屋 × Media-JAWS@中京テレビ
https://jawsug-nagoya.connpass.com/event/316106/
TATSUNO Yasuhiro
June 26, 2024
Tweet
Share
More Decks by TATSUNO Yasuhiro
See All by TATSUNO Yasuhiro
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
160
Bun に LCOV 出力を実装した
exoego
2
160
ライブラリをパブリッシュせずにすばやく試す
exoego
2
260
esbuild 最適化芸人
exoego
3
1.9k
いい感じに AWS を組み合わせたビルディングブロックでアプリ開発を支援する / TdTechTalk 2022 11
exoego
0
680
Empowering App Dev by Nicely-Crafted High-Level AWS Components
exoego
0
61
月間数十億リクエストのマイクロサービスを支える JVM+AWS フルサーバーレス開発事例 / Now and Future of Fully Serverless development at Chatwork
exoego
1
720
Scala と AWS でフルサーバーレス開発事例 / How Chatworks uses Scala and Serverless
exoego
3
1.5k
忙しい Scala 開発者の超時間節約術 / Big Timesavers for Busy Scala Developers
exoego
1
1.1k
Other Decks in Programming
See All in Programming
エンジニアに許された特別な時間の終わり
watany
89
80k
生産性アップのためのAI個人活用
kunoyasu
0
460
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
350
Goで作るChrome Extensions / Fukuoka.go #21
n3xem
2
2.5k
보일러플레이트 코드가 진짜 나쁜 건가요?
gaeun5744
0
350
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
1.9k
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
2
500
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
620
イベントソーシングによってインピーダンスミスマッチから解放された話
tkawae
1
270
ローコードサービスの進化のためのモノレポ移行
taro28
1
300
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
100
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
700
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
A Tale of Four Properties
chriscoyier
158
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
A designer walks into a library…
pauljervisheath
205
24k
Scaling GitHub
holman
459
140k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Optimizing for Happiness
mojombo
377
70k
The Cult of Friendly URLs
andyhume
78
6.3k
Transcript
2024.5.23 nagoya.ts #1 TATSUNO Yasuhiro 2024.6.27 JAWS-UG 名古屋 x Media-JAWS
@中京テレビ TATSUNO Yasuhiro terraform-provider-aws にプルリクして マージされるまで 通常 LT
自己紹介 - TATSUNO Yasuhiro - TreasureData所属 Staff Engineer, Realtime 2.0
CDP - 好きな AWS は Lambda, StepFunctions, S3 - severless-framework(v1〜v2)コミッター - SNS: @exoego on GitHub, 𝕏(Twitter)
Q. Terraform で AWS 構築してますか? ✋
Terraform とは - Hashicorp のコード構成管理ツール IaC 製品 (Infrastructure as Code)。今日の発表に出てきたような
さまざまな AWS をコードから自動構築 - 2014年にリリース、多くの企業で採用。実戦経験豊富 - AWS 初め Azure, GCP, OCI, Cloudflare, Snowflake など 様々な製品に対応してるのも人気の理由 - 独自言語 HCL に加え、AWS CDK との連携で TypeScript, Python, Java, C#, Go でも記述可能
Terraform と AWS - terraform-provider-aws というプロバイダー (ライブラリのようなもの)として提供 - 誰もが欲しいメジャー機能はリリースから比較的すぐに 開発される
- マイナー機能はお前がやらねば誰がやる
使ってる AWS で困ったので、やってみた MemoryDB for Redis 2021/9 GA VPC Lattice
2023/3 GA
意外と簡単……プルリクするまでは…… - プルリクで従うべき手順がドキュメントに書いてる - ざっくり言えば AWS SDK 使ってリソースを探したり、変 更するだけ。ふだん SDK
でアプリ開発してるのと同じ - どの AWS も設計がほぼ一緒なので、既存コードを参考に すぐ書けるものもあった - 受け入れテスト(実際の AWS にデプロイして実行)も コード化されてるので、動作確認も簡単だった
いちばん大変なのは…… レビューがマジで遅い!
ぼくのプルリクがマージされるまでの日数 - 5日 ←まあ OSS なら速い方 - 41日 ←これくらいもよくある -
229日 ←えっ…… - 315日 ←オイオイオイ 何度もレビュー・修正を繰り返して遅くなったので はなく、レビュー開始がただ遅い。マージはすぐ。 クリティカルな課題は正攻法(プルリク)とは別に 暫定策を並行で進めるべし!
優先度を左右するらしいさまざまな要素 - リソース制約 ⇨まあそうですよね - Customer や Partner(AWS など)からの要望 -
Customer -> Customer support, Sales Eng. -> Hashicorp(やってみたけど、 大口顧客でないせいかダメでした……) - Customer -> AWS Solution Architects -> Hashicoprp - Community からの要望 - GitHub の issue/PR への reaction (👍) How We Priotize - https://hashicorp.github.io/terraform-provider-aws/prioritization/
AWS コミュニティでできることは その機能/バグ修正いいねと思ったら 👍 いいね を残す それだけで決まらないにしても
ところで みなさん これって AWS IAM あるある じゃないですか? Error updating IAM
policy arn:aws:iam::1234567890:policy/MyAwesomePolicy: LimitExceeded: Cannot exceed quota for PolicySize: 6144 ぼくは年に数回やらかします
デプロイ前=plan 時(CIなど) に Terraform で IAM ポリシーサイ ズをチェックしよう!! https://bit.ly/tf33088 マージされるように
👍いいね で応援ください