社内ネットワーク・サーバーの変更申請が出たときに、構成台帳と過去の変更・障害の記録から影響する機器とシステムを探し、根拠付きで変更審査の資料にする
ネットワークやサーバーの変更申請が出たときに、構成台帳から影響する機器とシステムをたどり、同じ機器の過去の変更と障害を記録番号付きで並べます。変更審査の担当者は、影響範囲の資料を一から作らずに、根拠を確かめるところから始められます。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- IT・SaaS/教育/製造/金融
- 対象部門
- 情報システム
- 対象業務
- 内容確認・チェック/情報検索
- 主な課題
- 属人化している/情報が見つからない/確認ミスが多い
- AIで行う処理
- 検索(RAG)
- 主な効果
- 判断支援/属人化解消/検索時間短縮
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 起票者が変更申請を起票し、対象の機器と変更内容、影響範囲を書く
- 審査の担当者が、台帳で対象機器の接続先と、その上で動くシステムを調べる
- 構成図のPDFを開き、経路の上にある機器と、その先の拠点を目で追う
- ITサービス管理ツールで、同じ機器への過去の変更を機器名で検索し、結果と切り戻しの有無を読む
- 障害記録を、機器名と変更の種類で検索し、関連しそうなものを読む
- 影響範囲の欄を書き直し、注意点を添えて変更審査会の資料にする
- 人起票者が変更申請を起票し、対象の機器を台帳の機器番号で選ぶ
- 自動申請が「審査待ち」になると、対象の機器番号と変更内容を取り出す
- 自動台帳の索引で、対象機器の接続先と、その上で動くシステムを1段ずつたどる(最大2段)
- 自動たどったシステムから、依存するシステムをさらに1段たどる
- 自動集まった機器とシステムで絞り、過去の変更記録と障害記録を、変更内容の近さで探す
- 自動Claude が、影響する機器とシステムを経路付きで、過去の記録を記録番号付きでまとめる
- 人審査の担当者が、経路と過去の記録の引用を開いて確かめ、影響範囲の欄を確定する
- 人変更審査会で、確定した影響範囲と過去の記録を見て、承認・条件付き承認・差し戻しを決める
- 自動確定した影響範囲と、見た記録の番号を申請に書き戻す
各工程の詳しい説明を読む
- 起票者が変更申請を起票し、対象の機器と変更内容、影響範囲を書く
- 審査の担当者が、台帳で対象機器の接続先と、その上で動くシステムを調べる
- 構成図のPDFを開き、経路の上にある機器と、その先の拠点を目で追う
- ITサービス管理ツールで、同じ機器への過去の変更を機器名で検索し、結果と切り戻しの有無を読む
- 障害記録を、機器名と変更の種類で検索し、関連しそうなものを読む
- 影響範囲の欄を書き直し、注意点を添えて変更審査会の資料にする
(a)台帳と構成図を行き来する。 台帳は機器ごとの表、構成図は絵です。接続を2段、3段とたどるには、表と絵を何度も往復することになります。 2段目の先は省かれがちです。
(b)過去の失敗が引かれない。 2年前に同じ型番のスイッチでファームウェアの更新に失敗し、切り戻した記録があっても、記録には機器名が書かれていて、型番では引けません。 同じ型番の別の機器の申請では、その記録は出てきません。
(c)依存は人が覚えている。 台帳の備考欄に書かれたシステムどうしの依存は検索しにくく、「その認証基盤を止めると、勤怠も経費も止まる」ことを知っているのは、構築に関わった担当者です。
(d)調べた範囲が残らない。 審査会の資料には書き直した影響範囲が載りますが、どこまでたどったか、どの過去の記録を見たかは残りません。 障害が起きたあとで、事前に見ていたのかを確かめられません。
- 【人】 起票者が変更申請を起票し、対象の機器を台帳の機器番号で選ぶ
- 【自動】 申請が「審査待ち」になると、対象の機器番号と変更内容を取り出す
- 【自動】 台帳の索引で、対象機器の接続先と、その上で動くシステムを1段ずつたどる(最大2段)
- 【自動】 たどったシステムから、依存するシステムをさらに1段たどる
- 【自動】 集まった機器とシステムで絞り、過去の変更記録と障害記録を、変更内容の近さで探す
- 【自動】 Claude が、影響する機器とシステムを経路付きで、過去の記録を記録番号付きでまとめる
- 【人】 審査の担当者が、経路と過去の記録の引用を開いて確かめ、影響範囲の欄を確定する
- 【人】 変更審査会で、確定した影響範囲と過去の記録を見て、承認・条件付き承認・差し戻しを決める
- 【自動】 確定した影響範囲と、見た記録の番号を申請に書き戻す
3番目と4番目を機械でたどるのが、この設計の分かれ目です。 どこまで広がるかをAIに考えさせると、台帳にない「たぶんつながっている」システムが混ざります。 経路は台帳の項目だけでたどり、AIには集まった結果の説明だけをさせます。
02今回想定するシステム構成
ITサービス管理ツール(変更申請が「審査待ち」) ▼【トリガー】状態の変更の通知 AWS Lambda ── 対象の機器番号と変更内容を取り出す ▼ Amazon OpenSearch Service(構成台帳の索引) │ terms lookup で接続先・上で動くシステム・依存を1段ずつたどる ▼ Amazon OpenSearch Service(変更記録・障害記録の索引) │ ハイブリッド検索(言葉の一致+文章の近さ) │ filter:たどった機器とシステムの番号 ▼ AWS Lambda ── 経路の表と、上位の記録を検索結果のブロックに詰める ▼ Claude(Amazon Bedrock)── 記録番号を引用してまとめる ▼ 審査の担当者が確認 → 申請の影響範囲の欄へ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Amazon OpenSearch Service(terms lookup とハイブリッド検索) | Azure AI Search、Vertex AI Search(Agent Search) |
| 埋め込み | Amazon Titan Text Embeddings V2(Amazon Bedrock) | Cohere Embed、OpenAI の埋め込みモデル |
| 生成AI | Claude(Amazon Bedrock。経路と過去の記録の引用付きのまとめ) | Gemini API、OpenAI API |
| 連携 | AWS Lambda(申請の取り出し、経路のたどり、書き戻し) | AWS Step Functions |
| 構成管理 | 既存の構成管理台帳 | ― |
| 変更・障害管理 | 既存のITサービス管理ツール | ― |
経路をたどる中心は、terms クエリの terms lookup です。 公開されているドキュメントでは、terms lookup は別の索引の文書から項目の値を取り出し、その値で検索する仕組みで、index、id、path を指定します。id の代わりに query を渡すと、一致した複数の文書から値を集め、重複を除いて使うとされています。
この query 版が、1段ずつたどるのに合っています。 「機器番号がこれらのどれかである台帳の文書」から connected_to の値を集めると、それが次の段の機器番号になります。1回の検索で1段進み、Lambda が2段まで繰り返します。
過去の記録の検索は、ハイブリッドクエリで行います。 サブクエリは最大5つで、filter は1つのクエリとしてすべてのサブクエリに適用されます。 たどった機器番号とシステム番号をこの filter に入れ、影響範囲の外の記録が混ざらないようにします。
03どうやって実装するのか
処理の起点を決める
変更申請の状態が「審査待ち」に変わったときを起点にします。 起票の直後に動かさないのは、起票者が対象機器や変更内容を書き直す途中の申請を相手にしないためです。 状態の変更をITサービス管理ツールから通知できない環境では、5分ごとに「審査待ち」の一覧を取りに行く形にします。
変更内容が書き換えられて「審査待ち」に戻ったときも、もう一度動かします。 前回の結果は残し、差分が分かるように並べます。
台帳の索引の更新は、別の起点です。 構成管理台帳が更新されたときに、変わった機器の文書だけを入れ直します。台帳の更新から索引への反映が遅れると、入れ替え済みの機器を経路に含めてしまいます。 毎晩、台帳と索引の件数を突き合わせ、ずれがあれば運用チームに通知します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 変更申請 | 申請番号、対象の機器番号、変更の種類、変更内容の文、実施予定日時、起票者の影響範囲 | ITサービス管理ツール |
| 機器の台帳 | 機器番号、型番、設置場所、IPアドレス、connected_to(接続先の機器番号)、hosts(上で動くシステム番号) | 構成管理台帳 |
| システムの台帳 | システム番号、名称、利用部門、depends_on(依存するシステム番号)、業務時間 | 構成管理台帳 |
| 変更記録 | 過去の申請番号、対象機器、型番、変更内容、結果、切り戻しの有無と理由 | ITサービス管理ツール |
| 障害記録 | 障害番号、原因の機器、関連する申請番号、事象、影響した拠点、対応 | ITサービス管理ツール |
質を決めるのは、システムの台帳の depends_on です。 いまは備考欄に文で書かれているので、最初の作業は、この文を番号の一覧に直すことです。 150のシステムについて、構築に関わった担当者と一緒に依存を書き出します。
変更記録と障害記録には、型番を持たせます。 記録には機器名しか書かれていないので、取り込むときに台帳から型番を引いて足します。 これで「同じ型番の別の機器で起きた失敗」が引けるようになります。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 申請の対象機器と変更内容 | ITサービス管理ツールの申請 | 経路の起点と、記録の検索文 |
| 機器とシステムの台帳 | 構成管理台帳の書き出し | 経路をたどる索引 |
| 過去の変更記録と障害記録 | ITサービス管理ツールの書き出し | 過去の記録の索引 |
| 構成図 | PDFの保管先 | 審査の担当者が経路を目で確かめる参照先(索引には入れない) |
経路のたどり方は、次の順にします。
| 段 | 何から | 何を集めるか | 使う項目 |
|---|---|---|---|
| 0 | 申請 | 対象の機器番号 | 申請の対象機器 |
| 1 | 対象機器 | 接続先の機器、上で動くシステム | connected_to、hosts |
| 2 | 1段目の機器 | その接続先の機器、上で動くシステム | connected_to、hosts |
| 依存 | 集まったシステム | 依存するシステム | depends_on |
1段目をたどる問い合わせは、次の形になります。 台帳の索引 cmdb_devices のうち、対象機器の文書から connected_to の値を集め、それに一致する機器を返します。
{
"query": {
"terms": {
"device_id": {
"index": "cmdb_devices",
"path": "connected_to",
"query": { "terms": { "device_id": ["FW-DC-001"] } }
}
}
}
}
返ってきた機器の device_id を集めて、2段目の query の中の一覧に入れ直します。同じ形の問い合わせを path を hosts に変えて投げると、上で動くシステムが集まります。 システムの台帳の索引に対して depends_on で同じことをすれば、依存がたどれます。
ドキュメントの terms lookup の説明では、項目が一覧なら全要素が集められ、複数の文書から集めた値の重複は除かれるとされています。 同じ機器に2つの経路でたどり着いても、一覧には1回だけ載ります。どの経路で来たかは、Lambda が段ごとの結果を残して組み立てます。
構成図は索引に入れません。 絵の中の線を文字として取り出すことはできないので、経路は台帳の項目だけでたどり、構成図は人が確かめる参照先にします。
AIへ渡す前に整形する
- 台帳の番号の正規化 … 機器番号の表記(
SW-HQ-012、sw-hq-12)をそろえます。terms のドキュメントでは、値が空白と大文字小文字まで正確に一致した場合にだけ一致するとされています - 備考欄の依存を番号に直す … 文で書かれた依存を、システム番号の一覧に直します。この作業は人が行い、AIには下書きだけをさせます
- 記録への型番の付与 … 変更記録と障害記録の対象機器から、台帳で型番を引いて足します
- 設定の秘密情報の除去 … 変更内容に貼られた設定の断片から、パスワード、共有鍵、SNMP のコミュニティ名を正規表現で除きます。除去してから索引に入れます
- 段数と件数の上限 … 2段目までにし、集まった機器が500台を超えたら3段目に進まずに打ち切ります。上限で止めた場合はその旨を結果に書きます
- 埋め込みの対象を絞る … 変更内容と、切り戻しの理由、障害の事象の文だけを埋め込みます。機器番号やIPアドレスは埋め込まず、
keywordの項目として持ちます - terms の上限を確かめる … terms クエリの値の数は既定で65,536までで、
index.max_terms_countで変えられるとされています。1,200台の規模なら届きませんが、IPアドレス単位でたどる設計にすると上限に近づきます。 たどる単位は機器番号にします - 使われていない接続を外す … 台帳の
connected_toに、撤去済みの機器や予備のポートが残っていることがあります。状態が「稼働中」でない機器は、たどる対象から外します
1番目を軽く見ないでください。 大文字と小文字、ゼロ埋めの違いだけで、つながっている機器が経路から黙って抜けます。 経路から抜けた機器は、結果の画面にも出てこないので、誰も気づきません。
5番目の上限は、コアスイッチの変更で効きます。 コアスイッチは社内のほぼすべてにつながっているので、2段たどると全機器が集まります。このときは「全社に影響」と表示し、経路の一覧ではなく、システムの一覧で見せます。
AIに処理させる
経路はAIにたどらせません。AIの仕事は、集まった結果のまとめです。
| させること | 内容 |
|---|---|
| 影響する機器とシステムの整理 | 経路の表を、システムごと・拠点ごとにまとめ直す |
| 過去の変更記録のまとめ | 同じ機器・同じ型番・同種の変更について、結果と切り戻しの理由を記録番号付きで並べる |
| 過去の障害記録のまとめ | 影響範囲の機器で起きた障害のうち、変更が原因とされたものを記録番号付きで並べる |
| 確かめる点の列挙 | 過去の記録に書かれた事実から、審査で確かめる点を並べる |
| させないこと | 理由 |
|---|---|
| 経路にない機器・システムの追加 | 「たぶんつながっている」が混ざる。経路は台帳だけで決める |
| 承認・差し戻しの判断 | 変更審査会が決める |
| 危険度の点数付け | 根拠の薄い点数が、審査の議論を代わりに決めてしまう |
| 記録にない原因の推測 | 「おそらくファームウェアの不具合」と書くと、記録にない原因が事実として残る |
| 実施日時の提案 | 業務時間や拠点の事情を審査会が見て決める |
1行目がいちばん起きやすい失敗です。 変更内容に「認証」と書かれていると、AIは経路に無くても「認証基盤にも影響する可能性があります」と書き足したくなります。台帳に依存が書かれていないなら、それは台帳を直す話で、まとめで補う話ではありません。 足りない依存に気づいたら、審査の担当者が台帳の修正を起票します。
指示内容を固定する
あなたは情報システム部の変更審査を助ける担当です。
渡された経路の表と、検索結果として渡す過去の記録だけを根拠にしてください。
【変更申請】{change_request}
【経路の表】{paths}(段、起点、行き先、使った項目、台帳の記録番号)
【過去の記録】検索結果として渡します(変更記録と障害記録)
【書くこと】
1. 影響する機器とシステムを、システムごとにまとめ、それぞれの経路を書く
2. 同じ機器、または同じ型番への過去の変更と、その結果・切り戻しの理由
3. 影響範囲の機器で起きた障害のうち、変更が原因とされたもの
4. 上の2と3に書かれた事実から、審査で確かめる点
【厳守事項】
- 経路の表にない機器やシステムを書かないでください。
影響がありそうだと思っても、表にないものは書かないでください。
- 承認すべきか、危険度がどれくらいかを書かないでください。
- 過去の記録にない原因を推測しないでください。
原因が記録に書かれていなければ「原因の記載なし」と書いてください。
- 確かめる点は、過去の記録の内容から言えることだけにしてください。
- 経路が上限で打ち切られている場合は、その旨を最初に書いてください。
- 過去の記録が1件もなければ「関連する過去の記録は見つかりませんでした」と書いてください。
過去の記録は、Claude の検索結果ブロックで渡します。 1件の記録を1つの search_result にし、source に記録番号、title に記録の題名、content に変更内容と結果を別々のテキストブロックで入れます。引用には search_result_location として、どの検索結果のどのブロックかの番号が付きます。ブロックを分けておくと、「切り戻しの理由」の部分だけを引用させられます。
引用は、すべての検索結果でそろえて有効にします。 ドキュメントでは、1つのリクエストの中で、引用を有効にした検索結果と無効にした検索結果を混ぜるとエラーになるとされています。
「経路の表にないものを書かない」を2回書いているのは、1回では止まらないからです。 変更内容に業務名が出てくると、AIはその業務のシステムを結び付けたくなります。禁じるのは、表の外の知識で範囲を広げることそのものです。
出力形式を固定する
経路の表は、Lambda が次の形で組み立て、Claude に渡します。
{
"change_id": "CHG-2026-1042",
"targets": ["FW-DC-001"],
"truncated": false,
"paths": [
{ "hop": 1, "from": "FW-DC-001", "to": "SW-DC-014",
"via": "connected_to", "record": "CMDB-SW-DC-014" },
{ "hop": 2, "from": "SW-DC-014", "to": "SYS-HR-01",
"via": "hosts", "record": "CMDB-SYS-HR-01" },
{ "hop": "dep", "from": "SYS-HR-01", "to": "SYS-AUTH-01",
"via": "depends_on", "record": "CMDB-SYS-AUTH-01" }
],
"systems": [
{ "system_id": "SYS-HR-01", "name": "人事システム",
"business_hours": "平日 8:00-20:00", "sites": ["本社", "大阪"] }
]
}
1つ目の理由は、経路の1行ずつに台帳の記録番号が付くことです。 審査の担当者は、「なぜ人事システムが入っているのか」を、記録番号から台帳の1行へたどって確かめられます。 自由文で受け取ると、どの台帳の項目から来たのかが消えます。
2つ目は、truncated で打ち切りを機械で示せることです。 上限で止めた結果を、全部たどった結果と見分けられます。
3つ目は、systems の業務時間と拠点を、まとめに渡せることです。 審査会が実施日時を決める材料になります。AIに日時を提案させずに、材料だけを並べます。
審査の画面には、次の3つを並べます。
| 欄 | 中身 | 作るもの |
|---|---|---|
| 影響範囲 | システムごとの経路、業務時間、拠点 | 経路の表から Lambda |
| 過去の記録 | 変更記録と障害記録のまとめ、記録番号の引用 | Claude |
| 確かめる点 | 過去の記録から言える点 | Claude(引用付き) |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| ITサービス管理ツール | 状態の変更の通知、または5分ごとの一覧の取得 | 「審査待ち」の申請を取り出す |
| 構成管理台帳 | 更新の書き出しを索引に反映 | 機器とシステムの台帳 |
| Amazon OpenSearch Service | terms lookup とハイブリッド検索 | 経路のたどりと過去の記録の検索 |
| Claude(Amazon Bedrock) | Lambda からの呼び出し | 引用付きのまとめ |
| ITサービス管理ツール | 申請への書き戻し | 確定した影響範囲と、見た記録の番号 |
申請への書き戻しは、審査の担当者が確定ボタンを押したときだけです。 起票者が書いた影響範囲は消さずに残し、確定した影響範囲を別の欄に書きます。 両者の差が、起票者への教育の材料になります。
構成管理台帳には書き込みません。 足りない依存に気づいたときは、担当者が台帳の修正を起票します。
人が確認する
- 経路を確かめる … 経路の表と構成図を見比べ、入れ替え済みの機器や、使われていない接続が混ざっていないかを見ます
- 抜けを確かめる … 自分の知っている依存が経路に無ければ、台帳の修正を起票します。まとめに書き足すのではなく、台帳を直します
- 過去の記録の引用を開く … 切り戻しや障害の記録は、引用された記録番号を開いて原文を読みます
- 影響範囲を確定する … 確定したものだけが審査会の資料に載ります
1件あたり15分を目安にします。 経路の表を構成図と見比べ、過去の記録のうち切り戻しと障害の記録を開いて読む時間です。コアスイッチのような「全社に影響」の申請は、15分では収まらない前提で、審査会で別に時間を取ります。
2番目は、この構成で初めて回る仕組みです。 これまで担当者の記憶にあった依存は、審査のたびに口頭で補われ、台帳には戻りませんでした。経路に出てこないことが目に見えるので、気づいた人が台帳を直す流れができます。 台帳の修正の起票件数は、最初の数か月は多く、台帳が追いつくにつれて減っていくはずです。
例外に対処する
| 起きること | 対応 |
|---|---|
| 申請の対象機器が台帳に無い | 経路をたどらず、「台帳に無い機器」として審査の担当者に返す |
| 機器番号の表記が台帳と合わない | 正規化の規則で直せなければ、候補を並べて起票者に選んでもらう |
| 集まった機器が上限を超えた | 打ち切り、「全社に影響」としてシステムの一覧で見せる |
| 台帳と索引の件数がずれている | 毎晩の突き合わせで検知し、運用チームに通知。その日の結果に注意書きを付ける |
| 過去の記録が0件 | 「関連する過去の記録は見つかりませんでした」と出す。経路の表は出す |
| 変更内容に秘密情報が残っていた | 索引から外して除去の規則を足し、入れ直す |
| Bedrock の呼び出しに失敗した | 経路の表と記録の一覧だけを出し、まとめは再試行を促す |
| 同じ申請が何度も「審査待ち」に戻る | 毎回動かし、前回の結果との差分を並べる。差分が無ければまとめを作り直さない |
| 実施予定日時が業務時間に重なる | 判断はせず、systems の業務時間を影響範囲の欄の先頭に出す |
上から2行目までは、台帳の整備の問題です。 どちらも件数を月ごとに数え、多い月は台帳の更新の決まりが守られていないと読みます。台帳を直すのは運用チームの仕事で、この構成はその材料を出すところまでです。
記録を残す
- 申請番号、対象機器、変更内容、動いた日時
- 経路の表(段ごとの結果、打ち切りの有無)と、そのときの台帳の更新日時
- ハイブリッド検索の候補と、Claude に渡した記録、返ってきたまとめと引用
- 審査の担当者が確定した影響範囲と、まとめから外した・足した項目
- 台帳の修正を起票した記録
- 変更の実施後に障害が起きた場合の、障害番号との結び付け
2つ目で台帳の更新日時を残すのは、後から台帳が変わるためです。 障害が起きたあとに「事前に影響範囲を見ていたか」を確かめるとき、当時の台帳で何が出ていたかが要ります。
最後の行は、この構成の精度を測る材料になります。 実施後の障害が、事前の影響範囲に入っていたか。入っていなかった障害は、台帳の抜けか、たどる段数の不足のどちらかです。
04実装レベルの3段階
半自動化で、①の大半が自動になります。 ただし過去の記録は機器番号でしか引けないので、同じ型番の別の機器の失敗や、書き方の違う同種の変更は拾えません。 本格構成との差はここで、本記事の想定は本格構成です。
05工数削減シミュレーション
導入後 120件 × 15分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 本社と複数の拠点、データセンターを結ぶ社内ネットワークと数百台以上のサーバー・ネットワーク機器を情報システム部門で運用し、変更申請を毎月100件以上審査している企業。構成管理台帳(機器、接続先、依存するシステム)が一応整っているが、影響範囲の洗い出しは担当者の記憶と構成図の目視に頼っている場合。過去の変更記録と障害記録がITサービス管理ツールに残っているが、変更の審査で引かれていない場合。AWS を社内の基盤として使っている場合。
- 機器が数十台で、構成図1枚で影響範囲が見渡せる場合。構成管理台帳が無い、または数年更新されていない場合(先に台帳の整備が要る)。変更の大半をクラウドのコードで管理し、影響範囲を差分の計画から機械的に出せている場合。なお、変更を承認するか、実施日時をどうするかの判断は変更審査の担当者に残ります。
07最小構成で試す方法
- 先月審査した申請から30件を選び、審査会で書き直した影響範囲を控える
- 構成管理台帳を表計算に書き出し、30件の対象機器から接続先と上で動くシステムを、フィルターで2段までたどる
- 同じ30件について、ITサービス管理ツールから同じ機器の過去の変更記録と障害記録を書き出す
- 手元のAIサービスに、たどった表と記録を貼り付け、指示の例どおりにまとめさせる
- 審査会の影響範囲と見比べる
| 出てきた内容 | 判断 |
|---|---|
| 審査会の影響範囲とほぼ同じ範囲が出る | 索引と経路のたどりの構築に進む |
| 審査会が挙げたシステムが表に出てこない | 台帳の依存が足りない。 先に depends_on を整える |
| まとめに表にないシステムが混ざる | 指示の書き方で直る。構成は有効 |
2行目が出ることは珍しくありません。 失敗ではなく、担当者の記憶にしか無かった依存が1つ分かったということです。 30件で出てこなかったシステムを一覧にすれば、それがそのまま1週目に整える依存の優先順位になります。
30件の中に、実施後に障害が起きた申請を必ず入れてください。 その申請で、事前に表計算でたどった範囲に原因の機器が入っていたかを見ます。入っていれば、たどり方は有効です。 入っていなければ、台帳の抜けか段数の不足かを、その1件で切り分けます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 機器番号の表記ゆれで経路から機器が抜ける | terms は空白と大文字小文字まで一致したときだけ当たる。取り込み時に正規化する |
| 依存が備考欄の文のまま | 番号の一覧に直す。 文のままではたどれない |
| コアスイッチの変更で全機器が集まる | 上限で打ち切り、「全社に影響」として見せる |
| 経路にないシステムをAIが書き足す | 指示で禁じる。足りない依存は台帳を直す |
| 型番が記録に無く、同型機の失敗が引けない | 取り込み時に台帳から型番を足す |
| 設定の秘密情報が索引に入る | 除去してから入れる。項目単位のアクセス制御も重ねる |
| 引用の設定が検索結果ごとにばらばら | 混ぜるとエラーになる。 全件そろえて有効にする |
| 台帳の更新が索引に遅れて反映される | 毎晩件数を突き合わせ、ずれを通知する |
上の2行が、この構成の失敗のほとんどです。 どちらも、機械でたどれる形に台帳がなっていないという同じ問題から出ています。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 社内ネットワークの構成(機器、IPアドレス、接続、経路)、ファイアウォールの通信許可、設定の断片、過去の障害の内容です。外部に漏れれば攻撃の地図になる情報です。
- 設定の項目を見られる人を絞る … Amazon OpenSearch Service の細かなアクセス制御には項目単位のセキュリティがあり、役割ごとに見せる項目を含める・除くの一覧で決められます。設定の断片の項目は、インフラ運用チームの役割にだけ見せます
- 秘密情報は除去してから入れる … 項目単位の制御は見せ方の制限です。パスワードや共有鍵は、索引に入れる前に除きます
- 細かなアクセス制御は、有効にしたあと無効にできない … 有効化には、ドメインへの通信がすべて HTTPS であること、保存時の暗号化、ノード間の暗号化が必要です。構築の最初に有効にします
- 承認の判断をAIに寄せない … この構成が出すのは、経路と過去の記録の事実までです。承認するか、いつ実施するかは変更審査会が決めます
- 生成AIへ渡す範囲を絞る … Claude に渡すのは経路の表と、秘密情報を除いた記録の文だけです。設定の断片そのものは渡しません。 Amazon Bedrock を自社の AWS アカウントの中で呼び、索引と同じ環境に閉じます
- 起票者の権限を絞る … 起票者には経路の表と過去の記録のまとめだけを見せ、索引への書き込みと設定の項目は見せません。 書き込みは取り込みの Lambda だけに許します
誤りが起きた場合のリスクは、影響する機器を見落として変更することと、ネットワークの構成が見るべきでない人に見えることの2つです。 前者は台帳の整備と経路の上限の表示で、後者は項目単位のアクセス制御と秘密情報の除去で防ぎます。
10まず何から始めるか
1週目:依存を番号に直す
業務の重いシステム30から始め、構築に関わった担当者と一緒に、備考欄の依存をシステム番号の一覧に直します。
2週目:30件で試す
先月の申請30件で、台帳を表計算でたどり、AIサービスにまとめさせます。審査会の影響範囲と比べ、出てこなかったシステムを数えます。
3週目:台帳を索引に入れる
機器番号の正規化の規則を決め、台帳を OpenSearch Service に入れて、terms lookup で2段までたどる処理を作ります。
4週目:審査の画面に経路の表を出す
「審査待ち」の申請に、経路の表だけを出します。この時点では過去の記録とまとめは出しません。
2か月目: 過去の記録に型番を足して索引に入れ、ハイブリッド検索と引用付きのまとめを足します。3か月目以降: 申請への書き戻しを足し、実施後の障害と事前の影響範囲を毎月突き合わせます。事前の影響範囲に入っていなかった障害が毎月ゼロに近づき、審査会で影響範囲を書き直す場面がなくなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
terms lookup が別の索引の文書から項目の値を取り出して検索し、index・id・path を指定すること。id の代わりに query を渡すと複数の文書から値を集め、重複を除くこと。値が空白と大文字小文字まで一致したときだけ一致すること。項目の値の上限が既定で65,536で、index.max_terms_count で変えられること | OpenSearch Documentation: Terms query | 2026-10-06 |
ハイブリッドクエリのサブクエリが最大5つで、検索パイプラインでスコアを1つにまとめること。filter が1つのクエリとして全サブクエリに適用されること | OpenSearch Documentation: Hybrid query | 2026-10-06 |
| 細かなアクセス制御が索引・文書・項目の単位の制限を提供し、項目単位のセキュリティが含める・除く項目の一覧で決まること。有効化に HTTPS・保存時の暗号化・ノード間の暗号化が必要で、有効にしたあと無効にできないこと | Amazon OpenSearch Service: Fine-grained access control | 2026-10-06 |
| Titan Text Embeddings V2 の入力が最大8,192トークンまたは50,000文字、出力が既定1,024次元であること。英語に最適化され、100以上の言語はプレビューで、日本語が一覧に含まれること | Amazon Bedrock: Amazon Titan Text Embeddings models | 2026-10-06 |
検索結果ブロックが source・title・content(テキストブロックの配列)で構成され、引用に search_result_location とブロックの番号が付くこと。1つのリクエストの中で引用の有効・無効を混ぜるとエラーになること | Claude Docs: Search results | 2026-10-06 |
変更を承認するか、いつ実施するかは、変更審査会で決めてください。 本記事は公開仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0511)についてのご相談はこちらから。
