トラブルシューティング集
Pro会員限定中級約55分7レッスン
現場で本当によく踏む5種類のエラー(YAMLのインデント・{{ のクォート・未定義変数・UNREACHABLE・commandでのパイプ)を、わざと壊してある教材で再現し、エラーの読み方と直し方を一周します。エラーに強くなるための実践集です。
対象者: プレイブックのエラーを自力で切り分けて直せるようになりたい方
前提知識: 変更レビュー(--check --diff)修了程度(sedの基本を知っていると楽です)
この教材を終えると、できるようになること
- Syntax Error while loading YAML の行番号・列・該当行から原因箇所を特定できる
- インデントの修正をファイルに反映し、同じ確認コマンドで修正を証明できる
- unhashable type エラーの原因({{ の未クォート)を特定し、クォートで修正できる
- 'x' is undefined から足りない変数名を読み取り、-e で渡して解決できる
- -vvv で SSH 接続の詳細を表示し、UNREACHABLE の具体的な理由を読み取れる
- command と shell の違いを説明し、パイプが必要なときに shell を選べる
修了後の姿: ロールで構造化し、Vaultで機密を守り、タグ・ローリング適用・エラー制御を使った本番想定のAnsible運用ができるようになります。
Chapter 1壊れたプレイブックを直す
5種類の定番エラーを、検出→読解→修正→確認の型で片づけます。
- YAMLのインデントエラーを読む1文字ずれたインデントが出すエラーを観察します。約8分(有料会員限定)
- インデントを直して確認するsed で修正版を作り、構文チェックで直ったことを確かめます。約8分(有料会員限定)
- {{ で始まる値はクォートするテンプレート変数を裸で書いたときの YAML エラーを直します。約9分(有料会員限定)
- 未定義変数 — is undefined を読む変数を渡し忘れたときの fatal を、-e で解決します。約8分(有料会員限定)
- UNREACHABLE を -vvv で深掘りする接続失敗の裏側(SSH の実行内容と戻り値)を表示します。約8分(有料会員限定)
- command でパイプが使えない — shell との使い分けcommand モジュールでパイプが失敗する理由と、shell への切り替えを学びます。約8分(有料会員限定)
Chapter 2確認クイズ
定番エラーの読み方と直し方を確認します。