Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
パッチ更新でterraform initが落ちた日
Search
gr1m0h
October 09, 2026
Technology
100
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
パッチ更新でterraform initが落ちた日
gr1m0h
October 09, 2026
More Decks by gr1m0h
See All by gr1m0h
品質と信頼性を地続きにする
grimoh
3
1.6k
システム監視入門
grimoh
5
1.1k
SRE Lounge Hiroshimaへの招待
grimoh
0
1.3k
サービス影響を出さずにWafCharmを導入する
grimoh
0
140
インシデント対応入門
grimoh
8
6.8k
フルリモートを支える技術
grimoh
0
130
マイクロモビリティシェアサービスを支える プラットフォームアーキテクチャ
grimoh
1
760
"君は見ているが観察していない"で考えるインシデントマネジメント
grimoh
4
4k
Enabling Client-side SLO
grimoh
7
5.8k
Other Decks in Technology
See All in Technology
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
110
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
130
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
210
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
270
Kiro Crewをはじめよう
kizawa2020
1
110
Incremental HTTP
kazuho
5
2.1k
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
1
130
Essential architectural thinking (revised edition)
ufried
0
110
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
540
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
290
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.2k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Automating Front-end Workflow
addyosmani
1369
210k
Building the Perfect Custom Keyboard
takai
2
900
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
730
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
450
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Transcript
Fukuoka.sre #1 — 2026.10.09 パッチ更新で terraform init が落ちた⽇ Wataru Tsuda
/ gr1m0h 1
Wataru Tsuda @gr1m0h SWE, SRE @ Topotal, Inc. - 複数社で
SRE の技術⽀援に従事 - 社内の改善活動 - ⾃社サービスのQA活動 コミュニティ活動 - SRE Lounge Hiroshima - SRE Magazine - SORACOM UG Hiroshima Website: grimoh.net Fukuoka.sre #1 | gr1m0h 2
株式会社Topotal Build reliability, accelerate growth X Topotal お知らせを配信中 ENGINEERING SERVICE
PRODUCT サービスの価値を、エンジニアリングで引き出す つらいインシデント対応を、楽に、学びに、そしてゼロに。 SRE のワークフローを軸に、信頼性と開発速度を両⽴できる状態 をつくり ます。 対応前から対応後までを⼀貫して⽀え、迅速な復旧と確かな学び を組織の 仕組みに変えます。 — 開発〜運⽤のフィードバックループを速くす 対応前 属⼈化しがちな対応を、仕組みにする — る 事業成⻑を⽀えられる運⽤の⼟台をつくる 対応中 記録ではなく、復旧に集中できる状態にする — SRE の実践をチームの中に残す 対応後 積み上がった事実から、次の改善につなげる 成果物を渡して終わりではなく、社内に SRE が根づく状態を⽬指します。 インシデント管理の SaaS として開発‧提供しています。 導⼊企業(⼀部) 導⼊企業(⼀部) SRE を⼀緒に実践する仲間を探しています jobs.topotal.com 機能詳細‧無料トライアルはこち ら waroom.com 3
事件発⽣ tfaction を上げたら terraform init が落ちた v2.0.4 → v2.0.5 $
terraform init Error: No valid credential sources found Fukuoka.sre #1 | gr1m0h 4
違和感 2.0. 5 パッチバージョンの更新にすぎない 設定は何も変えていない Fukuoka.sre #1 | gr1m0h 5
⼿がかり 共通設定を anchor と merge key で取り込んでいた tfaction-root.yaml default: &default
aws_region: ap-northeast-1 terraform_plan_config: aws_assume_role_arn: arn:aws:iam<:123456789012:role/terraform-plan target_groups: - <<: *default working_directory: aws/dev/ Fukuoka.sre #1 | gr1m0h 6
何が起きていたか 「<<」がただの⽂字列キーとして残った 継承していたリージョンと IAM ロールが⼊らないまま、処理が進む YAML パース 成功 → 設定検証
エラーなし → AWS 認証 本来エラーが出るべき場所 スキップ → terraform init 失敗 実際に落ちた場所 Fukuoka.sre #1 | gr1m0h 7
原 因 js-yaml v4 → v5 依存ライブラリ側でメジャー更新があった load()のデフォルトが YAML 1.2
のCORE_SCHEMAに → merge key が解決されない nodeca/js-yaml 8
merge key の仕様 merge key は YAML 1.2 の仕様にない 2005
YAML 1.2 YAML 1.1 向けの Working Draft として定義 仕様から削除 anchor / alias & * 今も仕様にある merge key << 解釈するかどうかはパーサ次第 yaml.org「Merge Key Language-Independent Type for YAML Version 1.1」/ YAML 1.2.2 Specification Fukuoka.sre #1 | gr1m0h 9
解決 CORE_SCHEMA に mergeTag だけを⾜す Issue #4213 で報告 → PR
#4214 → v2.0.6 で修正 const schema = CORE_SCHEMA.withTags(mergeTag); const config = load(source, { schema }); YAML11_SCHEMAでは真偽値や数値の解釈まで変わる →変更範囲を merge key に絞った suzuki-shunsuke/tfaction Issue #4213 / PR #4214 Fukuoka.sre #1 | gr1m0h 10
学び① エラーにならず 設定だけが⽋ける パースも検証も通り、原因から遠い場所で失敗する Fukuoka.sre #1 | gr1m0h 11
学び② パッチ更新でも挙動は変わる 01 Renovate の⾃動更新は便利だが、この種の変化は防げない 02 パッチ更新でも、依存ライブラリ経由で挙動が変わることがある x.y.z 形式の OSS
でも、SemVer のルールに従っているとは限らない 03 merge key は「読みツールが1つに固定され、 そのツールが対応している」場合だけ 使う 複数のパーサが読む YAML では避ける Fukuoka.sre #1 | gr1m0h 12
ま と め merge key を解釈するかはパーサ次第 エラーにならず設定だけが⽋けることがある パッチ更新でも挙動は変わる ブログ gr1m0h.hatenablog.com/entry/2026/09/25/110000
X @gr1m0h 13
References 参考⽂献 gr1m0h, tfaction v2.0.5でAWS認証が失敗した原因を調べた(はてなブログ, 2026) https://gr1m0h.hatenablog.com/entry/2026/09/25/110000 suzuki-shunsuke/tfaction Issue #4213
https://github.com/suzuki-shunsuke/tfaction/issues/4213 suzuki-shunsuke/tfaction PR #4214 https://github.com/suzuki-shunsuke/tfaction/pull/4214 nodeca/js-yaml https://github.com/nodeca/js-yaml Merge Key Language-Independent Type for YAML Version 1.1 https://yaml.org/type/merge.html YAML Ain’t Markup Language Version 1.2.2 https://yaml.org/spec/1.2.2/ Fukuoka.sre #1 | gr1m0h 14