以下の内容はhttps://tech.findy.co.jp/entry/2025/12/02/070000_1より取得しました。


Terraform x Devinで実現するユーザー管理の自動化

こんにちは。

ファインディのPlatform開発チームでSREを担当している大矢です。

私たちのチームでは現在、SREのトイル削減を目指して様々な施策に取り組んでいます。今回はその1つとして、AIエージェント「Devin」を活用したユーザー管理の自動化についてご紹介します。

今回のお話

ファインディではクラウドサービスのユーザー管理の一部をPlatform開発チームが担当しています。具体的にはAWSのユーザー作成、グループへの追加、GitHubのOrganizationへのユーザーの招待などが該当します。

2025年12月現在、AWSのユーザーとグループはTerraformによるIaC管理に加え、Slackのワークフローを利用した申請受付からDevinによるPull Request(以下、PR)作成まで自動化を実現しています。

本記事では、かつて手動で行われていた管理フローがどのような課題を抱え、Terraform x Devinの導入によってどう改善されたのか、その経緯と改善内容についてお話しします。

本記事で触れること

  • ユーザー管理自動化までの経緯と課題感
  • なぜDevinを採用したのか
  • IaC x Devinの実装内容とメリット

本記事で触れないこと

  • Terraformコードの詳細な実装
  • Devinのセットアップに関する細かい技術仕様

自動化までの歩み

AWSユーザー管理の手段は、組織の成長に合わせて次のように変わってきました。

  1. 手動管理期: 情シスがマネジメントコンソールから手動で作成
  2. IaC導入期: 申請者またはSREメンバーがPRを作成
  3. AIエージェント導入期: DevinによるPR作成の自動化

1. 手動管理期

かつては、情シスがユーザー追加の依頼を受け、AWSマネジメントコンソールから手動でIAMユーザーを作成していました。転機となったのはファインディのAWSアカウント構成を見直すタイミングです。ユーザー管理をIAM Identity Centerへ移行し、これを機にTerraformによるIaC管理を開始しました。

2. Iac導入期

IaC化により、ユーザー管理はソースコードベースでおこなわれるようになりました。フローとしては、申請者がSlackのワークフローからの申請と、Terraformのリポジトリへ申請の内容に基づいたPRを作成するという形です。

ユーザーが作成されるまでの流れは次のとおりです。申請者がTerraformの構造を理解する必要はなく、所定のYAMLに所定のフォーマットを追加するだけです。

AWSユーザーの追加

これにより、ユーザー管理の透明性は向上しましたが、運用を続ける中で新たな課題が浮き彫りになりました。

  • 非エンジニア対応の負荷: エンジニアであれば自分でPRを作成できるが、非エンジニアの場合はGit操作が難しく、SREメンバーが代行してPRを作成する必要があった
  • コンテキストスイッチの発生: 社員数の増加に伴い、特に月末月初にはユーザー追加申請が集中する。1件あたりの作業時間は短くても、申請内容の確認、Git操作、PR作成、レビュー依頼といった作業が五月雨式に発生することで、本来の業務が頻繁に中断されていた

「作業自体は単純だが、頻度が高く集中力を削ぐ」。これはまさにSREが削減すべき「トイル」そのものでした。

3. AIエージェント導入期

これらの課題から、「ユーザー追加業務は定型化された繰り返し作業であり、人間が手を動かす必要はない」という結論に至りました。そこで、自律的にタスクをこなせるAIエージェント「Devin」にこの業務を任せることにしました。

やったこと

具体的な実装例として、AWSユーザー追加におけるDevinの設定とフローを紹介します。

1. Devinのセットアップ

Machineのセットアップをおこないます。Devin導入当初、KnowledgeやPlaybookは使用できず、Repo Noteに次のような自然言語による指示を記述しました。

- ユーザーの追加
  - ユーザーの情報は以下のファイルで管理している
    - <ユーザー管理ファイルへのPATH>
  - ユーザーを追加する際は、以下の4項目が必要
    - display_name
    - email
    - user_name
    - group
  - 前述の4項目には以下の情報を入れる
    - display_name はAWSのユーザのコンソールに表示される名前
    - email はユーザのメールアドレス
    - user_name はAWSのユーザの名前
    - group はAWSのユーザが登録されるグループ名
  - ユーザーを追加する際は、display_nameをアルファベット順で並べる
- ユーザーの削除
  - 対象となる項目はユーザー追加時と同じ
  - 下記のユーザーを管理するファイルからAWSユーザーを削除
    - <ユーザー管理ファイルへのPATH>
- PRのコミットメッセージのタイトルはConventional Commitsに従うこと
  - ユーザーの追加、削除、変更は`chore: `とする
- 申請者をPRのAssigneesに設定して
  - 申請者はSlackのIDだが、次のリポジトリにGitHubのIDとのマップがあるので、それに従い変換して
    - <SlackとGitHubのIDをマップしたファイルへのPATH>
  - 申請者のGitHubユーザーが特定できなかった場合、PRにコメントを残して
- 処理は必ずPRを作成するところまで完了させて

上記のとおり、しっかり構造化されていない状態でもほぼ期待どおりに動きます。まずは実践するとよいでしょう。

2. Slackワークフローの整備

Devinを操作するためのインターフェースとして、専用のチャンネルとSlackワークフローを用意しました。 エンジニアだけでなく非エンジニアも利用するため、CLIツールなどではなく、誰もが使い慣れたSlackを入り口にすることが重要でした。

Slackワークフローには次の入力項目を設けています。(抜粋)

項目 設定・入力内容
変更種別 追加、変更、削除から選択
表示名(ローマ字の氏名) ローマ字の氏名
メールアドレス 申請対象者のメールアドレス
グループ 事前に作成したグループ名
特記事項 イレギュラーな要望など

Slackワークフローの実行

このワークフローから投稿された内容をトリガーに、Devin(@devin)がメンションされ、指示通りにコードを修正してPRを作成します。

セットアップを終えて

DevinとSlackの設定を終えた後は、次のフローでAWSユーザーの申請をおこないます。

AWSユーザー追加申請からApplyまでの流れ

DevinとSlackのセットアップは、初めて触る状態からでも半日もかからず完了しました。導入後は人間が対応する時間を少なくとも半分以下に削減でき、セットアップにかけた時間を大きく上回る効果を得られました。まずは小規模な定型業務から試してみることをお勧めします。

なぜDevinなのか

AIによるコーディング支援ツールは多々ありますが、なぜDevinを選んだのか。その理由は主に2点あります。

1. 非エンジニアでも利用可能なインターフェース

例えばClaude CodeのようなCLIベースのツールも強力ですが、非エンジニアが利用するにはハードルが高いです。「Slackでフォームに入力するだけ」という体験を提供するためには、Slackと統合しやすく、自律的にGit操作まで完結できるDevinが最適でした。

2. AIならではの柔軟性

定型的なスクリプト処理では、例外的なケース(例: 1回の申請で2名以上追加したい場合)へ対応するため条件分岐の実装コストがかかります。

Devinの場合、ワークフローの「特記事項」に自然言語で注釈を入れるだけで、よしなに判断して処理してくれます。この「人間の曖昧な指示を汲み取れる柔軟性」は、運用コストを下げる上で非常に大きなメリットです。

今後の展望

現在はAWSやGitHubのユーザー管理だけでなく、次のような領域にもDevinの活用を広げています。

  • 新規AWSアカウント作成時に発生する初期設定(繰り返し作業)
  • WordPressの簡単な文言変更
  • DNSレコードの登録

私たちのチームでは、単純な自動化ではなくSRE x AIという視点を強く持ち、トイル削減と全社的な運用改善を推進していきます。

おわりに

今回は、ファインディで実践しているTerraformとDevinを組み合わせたユーザー管理の自動化についてご紹介しました。 「誰でもできる作業」をAIに任せることで、SREが「人間にしかできない価値ある活動」に集中できる環境作りを、これからも進めていきます。

ファインディでは一緒に会社を盛り上げてくれるメンバーを募集中です。興味を持っていただいた方はこちらのページからご応募お願いします。

herp.careers




以上の内容はhttps://tech.findy.co.jp/entry/2025/12/02/070000_1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14