Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIエージェントが自走できるTerraformリポジトリ

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Takumi Kigure Takumi Kigure
July 20, 2026
43

 AIエージェントが自走できるTerraformリポジトリ

Avatar for Takumi Kigure

Takumi Kigure

July 20, 2026

Transcript

  1. 01 · 自己紹介 自己紹介 ・ 木暮 拓巳(きぐれ たくみ) ・ テイラー株式会社

    / Tailor Platform SRE ・ Headless ERP開発プラットフォームを作っている会社 - PS事業 = Tailor Platform を使ってクライアントの業務システムを開発する事業 ABOUT
  2. 02 · 題材 THE REPO 題材: 各種infra/toolを管理する Terraform モノレポ ・

    GitHub repo / Datadog / GCP / Tailor Platform のTerraformを 1レポで管理 - リソースの作成に承認ゲートを挟める 設定が1箇所にコード化されることで構成の把握や 別プロジェクトでの再利用がしやすい ・ 1ディレクトリ = 1 Terraform ワークスペース - tfstateやTerraformが実行可能な権限を管理する ・PR mergeで terraform apply 実行 ・リソースが欲しい人(担当者・PM)が 自分でPRを作る /terraform ├── datadog/ ├── github-a/ ├── github-b/ ├── gcp-a/ ├── gcp-b/ └── tailor-pf/
  3. 03 · 課題 課題: SREレビューがボトルネック ・ 「監視モニター1個」「リポジトリ1個」のたびにSREレビュー待ち ・ プロジェクトは並行して複数走る。SREはスケールしない ・

    さらに最近は AIエージェント(Claude Code)にPR作成を任せたい 人間の self-service とエージェントへの委任、必要な環境は同じだった 「レビューで担保する」から「仕組みで担保する」へ ? THE PROBLEM
  4. 04 · 全体像 THE HARNESS ハーネスの全体像 エージェント(と人間)を取り囲む「モデルの外側の環境」 1 スキャフォールド 2

    静的解析 3 フィードバック 4 最小権限の原則 5 CODEOWNERS workflow_dispatch で雛形一式を自動生成 conftest(OPA/Rego)+ tflint がポリシー違反を CI で弾く tfcmt が plan 結果を PR コメントで返す スコープを絞った API キー / トークンだけを渡す プロジェクトチーム+ PM の承認でマージ可能
  5. 05 · conftest とは WHAT IS CONFTEST conftest とは ・

    構造化された設定ファイルを ポリシーでテストする OSS ツール - https://www.conftest.dev/ (Open Policy Agent プロジェクト傘下) ・ 対象: Terraform (HCL) / YAML / JSON / Dockerfile など ・ ポリシーは Rego 言語で deny ルールとして書く → 違反があれば非 0終了 deny contains msg if { some label, instances in input.module some t in instances t.source == "../modules/github_team" object.get(t, "privacy", "") != "closed" msg := sprintf("module.%s: github_team must set privacy = \"closed\"", [label]) } conftest test --parser hcl2 -p policy *.tf を CI で実行するだけ
  6. 06 · 工夫① conftest conftest — 暗黙知をコード化する SREの頭の中にあった規約を Rego のポリシーにして

    CI で強制: ・ 細かい命名規則 ・ Aの条件に一致したら、Bとセットでの定義が必須、等 [org] tailor_organization_folder.dev (name=dev) must have a tailor_organization_folder_ip_restriction (platform-planning#1297) 例外は policy/data/*.yaml に宣言的に管理。ポリシー自体にもユニットテスト 01 POLICY AS CODE
  7. 07 · 工夫② 最小権限 02 LEAST PRIVILEGE 最小権限の原則 — 失敗のコストを環境側で下げる

    Datadog GitHub permission-scoped なロール + APIキーを配布 SREが許可した権限のみ実行可能な GitHub app tokenを配布 ✅ monitor / synthetics / RUM の編集 ❌ APIキー・ユーザー / ロール・org設定 ✅ repo作成やメンバーの招待 ❌ Organization levelリソース全般 壊せる範囲が限られている → レビューで全てを見なくてよい
  8. 08 · フィードバックループ フィードバックループ PR作成 → conftest / tflint /

    tfcmt plan がPR上で返答 ↓ CI red なら エラーメッセージを読んで修正 → 再push(人間もエージェントも同じ) ↓ CI green なら PM・プロジェクトチームの承認でマージ → 自動apply ・ plan の差分・ポリシー違反が 全部PRコメントに現れる = エージェントが読める ・ CODEOWNERS は PM+プロジェクトチーム+SRE の co-owner 制 - SREの承認を待たずにマージできる(SREも見られるが必須ではない) THE LOOP
  9. 09 · エージェントに渡す エージェントに渡す ・ CLAUDE.md: リポジトリ構造・命名規約・CIの仕組みを記述 ・ スキル(定型手順の文書化): -

    /github-manage — orgメンバー追加・チーム・リポジトリ管理 - /create-otlp-exporter — Datadogのintegration設定の追加 ・ Claude Code が対象ファイルを特定 → 編集 → PR作成まで自走 ・ conftest に落ちたら エラーメッセージを読んで自分で直す HANDOFF
  10. 10 · 気づき ハーネスは SRE の仕事と地続きだった ! THE INSIGHT ・

    人間の self-service のために作った環境が、ほぼそのままエージェントのハーネスとして機能した ・ guardrails / policy as code / least privilege… 全部昔からあるSREの道具 ・ ただし、エージェント時代に「勘所」が変わった点: - エラーメッセージの説明性 — 理由・チケット番号まで書くと背景情報を含めて理解させられる - 手順の文書化(スキル化) — 口伝をやめると委任できる - フィードバックの機械可読性— PRコメントに集約するとエージェントが読みやすい コンテキストを如何にして上手に渡せるかが重要!
  11. 11 · まとめ WRAP-UP まとめ conftest 暗黙知をコード化し、説明的なエラーで返す 最小権限 失敗のコストを環境側で下げる tfcmt

    / CI フィードバックを PR 上に集約する ハーネスエンジニアリングは DevOps / SRE 文化と地続き 失敗を防ぐのではなく、失敗しても壊れにくい環境を作る