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

bedrock-incident-response

Avatar for Ayuminmin Ayuminmin
March 05, 2025
6

 bedrock-incident-response

Amazon Bedorckで障害対応を効率化するシステム構築を行った資料

Avatar for Ayuminmin

Ayuminmin

March 05, 2025

Transcript

  1. 2 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    氏名 谷口 あゆみ 社会人歴 3年目 主な仕事 インターネットバンキングシステムのインフラ担当 好きなこと 甘いものを食べる、旅行、ネトフリ鑑賞 自己紹介
  2. 3 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ◼Amazon Bedrockを活用し、障害発生時の一次対応を生成AIで自動化するシス テム構築についてお話します。 はじめに
  3. 4 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    AIシステム 障害通知システム 銀行システム 障害通知システム システム担当 障害検知 障害メール 障害コール 銀行システム システム担当 現状 実現したいこと 障害検知 障害メール 判定結果 実現範囲 実現したいこと:障害対応の一次受けをAIにやってもらう 「対応方針」 「即時対応要否」 を判定する 判定結果 即対応要の場合:障害コール ◼システム担当に変わって、発生した障害の即時対応要否や対応方針をメールで通知してくれる
  4. 5 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    2 1 つまり ハッピーになる 夜間コールで起こされることが減る 障害対応にかかる時間が減り その分より生産性のある仕事ができる 3 新しい技術を学ぶことができる 何が嬉しいの?
  5. 6 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    アプリケーションの仕組み AIシステム メール受信 キーワード抽出 過去の類件検索 プロンプト生成 生成AIに問い合わせ 一次対応メール送信 障害発生 障害管理ソフトウェア 生成AI 障害メール受信をトリガに過去の 類似障害情報を検索する 検索結果をもとにプロンプトを 生成し障害対応内容を問い合わせる 障害対応方針をメール送信する システム担当 ※キーワードに引っかからない障 害メッセージは検索しない ◼障害発生時のメール受信をトリガーに、一次報告メールの作成、送信まで自動で行われる 検証用に 画面インターフェースあり ブラウザ
  6. 7 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    ※RAG…生成AIが回答を作成する際に、ナレッジベースから関連情報を検索し、それを基にしたより正確な応答をする手法のこと ※ナレッジベース…特定の分野や業務に関連する情報や知識を集めたデータベースのこと(今回で言うと障害管理ソフトウェア) ユーザー AIシステム (アプリケーション) 生成AI 今回は外部の障害管理ソフトウェア をナレッジベースとする 設計ポイント【1】 :障害管理ソフトウェアをナレッジベースとしてRAGを構成 ◼ナレッジベースから固有の情報を取得した上で、生成AIに問い合わせする ナレッジベース XXXという障害が発生、どうしたらいい? XXX障害の内容 ・概要:aaaaa ・直接原因:bbbbb ・顧客影響:ccccc ・暫定対応:ddddd XXX障害とは~です。 原因は~が考えられます。~の影響が発生しているため、 ~の対応をする必要があります。 これまで障害情報をきちんと蓄積していたからこそ、 既存の障害管理ソフトウェアを用いてRAGを構成できた!
  7. 8 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    <EXAMPLE> : どういったデータが入ってきて、どういった出力が欲しいのか <TOPIX> : 対象となる障害の障害メッセージ <CONTEXT> : 同件または類似した障害の障害メッセージや障害の詳細情報 <RESPONSE> : Claudeの出力イメージ ロール(役割)を指定することで、回答の一貫性を高める トークン数による料金を抑えるため、出力制御を行う 入出力の例を与え希望の出力形式に近づけている (Few-Shotプロンプト) Human: あなたは優秀な銀行サービスのサーバの保守運用者です。 障害情報が発生した際に、類似した過去の障害情報である(<CONTEXT>)を参照して、 顧客である銀行向けのエラー報告(速報)を作成してください。 また、報告の際は『同件番号』『障害部位の機能・処理概要』『顧客影響』『直接原因』 『暫定対応』の内容を推定して含むように注意してください。 報告はショートメッセージで行われるため、報告は下記の(<EXAMPLE>)で指定した (<RESPONSE>)のように、できるだけ短くわかりやすい文章で伝えてください。 以下は一例です。回答の参考にしてください。: <EXAMPLE> Human: <CONTEXT> *同件番号 : 1234 *障害部位の機能・処理概要 : Aシステム側でタイムアウトが発生したため、初回ログインし ていたユーザ情報の連携が、Aシステムに連携できなかった。 *顧客影響 : 影響なし *直接原因 : Aシステム側のタイムアウト起因によるもの *暫定対応 : Aシステムにて初回ログインのステータス登録を行う必要あり </CONTEXT> Assistant: <RESPONSE> 本アラートは、RM1234と同件と想定され、アクセスログ集計ジョブ実行中にディスク使用率 閾値超過が発生し発報したものです。 前日が給料日であったためアクセスログ増加が起因しているものと想定され、処理完了後に 該当ログファイルは削除されます。 使用率は正常値に戻っていることを確認済みなので暫定対応としては不要とします。 </RESPONSE> </EXAMPLE> """ # プロンプトの生成 (コードの内容は省略) プロンプトの内容 設計ポイント【2】:生成AIに指示するプロンプトの工夫
  8. 9 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    本アラートは、RM81398と同件と想定されます。••ログイン時に••表示できない事象が発 生しています。原因はリフレッシュトークン要求受付APIでのシステムエラーです。 ••側から「リフ レッシュトークン情報取得データ未存在エラー」が返されています。 直接原因は、 ••側の想定外エラーハンドリングと••側の想定外権限付与の2点です。 WEBシステムがIDトークンの「 •••• 」配列を誤って処理し、••側が不適切に 「 •••• 」を付与しています。 顧客影響は限定的ですが、一部ユーザーが••表示できない可能性があります。 暫定対応として、 ••側のエラーハンドリングロジックの修正と••側の権限付与プロセスの 見直しが必要です。 同件の障害番号を教えてくれる 同件の障害部位、影響、原因、暫定対応 の情報を教えてくれる ここで実際の障害メッセージに対するAI回答をご紹介 検証用画面
  9. 10 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    アプリケーションの内部ロジック STEP 1:障害メッセージを受け取る 障害メッセージを入力する STEP 4:障害管理ソフトから類件を見つける 過去のエラー 過去のエラー STEP 3:障害管理ソフトにキーワード検索をかける キーワード STEP 2:キーワードを抽出する キーワードを抽出するロジックは Pythonプログラムで定義している キーワード STEP 7:一次報告文を出力する AI回答 STEP 5:類件情報を参考にプロンプトを生成 障害管理ソフトから過去の類似障害の概要、 影響、原因、暫定対応の情報を取得する Bedrockに問い合わせる (APIコール実行)
  10. 11 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    <設計ポイント> ✓ EC2は、セキュリティを考慮してプライベートサブネットに配置し、外部からのアクセスはELB経由で行う ✓ ELBは、SMTP通信を受け付けるため、NLBを採用する ✓ コスト削減のため、HTTPS通信とSMTP通信の両方をNLBで処理する(リスナーで分離する) ✓ EC2からBedrockへのAPLコールは、よりセキュアな通信となるようVPCエンドポイント経由で行う インバウンド通信 アウトバウンド通信 システム構成図
  11. 12 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    設計ポイント【3】 :セキュリティを考慮しアクセス制限する Private-Subnet VPC Bedrock VPC Endpoint SG Role Private-Subnet HTTPS ⚫ Amazon Bedrockへのアクセス制限 インターネット経由ではなく、 VPCエンドポイント経由でBedrcokにアクセスする SGでアクセス元をEC2のみにIP制限する SG Public-Subnet Private-Subnet 障害メール 受信 SMTP VPC Internet gateway SG SG EC2 NAT gateway EIP AI回答メール 送信 NLB EC2 ⚫ メール送受信のドメイン制限 EC2に紐づけるIAMロールにて Bedrockへのアクセスを許可する Postfixの機能でメール送受信先を ドメイン制限する ※Postfix メールサーバソフトウェア SGでアクセス元を 障害メールサーバのみにIP制限する
  12. 13 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    設計ポイント【4】:AIシステム自体の監視運用 EC2 ⚫ Zabbix(監視ツール)で監視・障害検知する 監視項目 概要 ノード監視 EC2の死活監視、Zabbixポートの正常性監視する プロセス監視 EC2に存在する主要プロセスの正常性を監視する キャパシティ監視 CPU、メモリ、ディスク使用率を監視する ログ監視 なし(プロセス監視により異常検知する) ※Zabbixエージェントをインストール ⚫ 障害復旧の方針 ✓ 最小限のAWSリソースで構成する方針でシングル構成で冗長性がないため、障害時はシステム利用不可 ✓ サーバリブートで復旧する ✓ サーバリブートでも回復しない場合は、障害メールを受信しないよう障害通知システム側で制御する ✓ 障害時は、コール抑止を解除する(AIシステム導入によるコール抑止前の障害対応を行う)
  13. 14 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.

    さいごに~今後の課題~ ⚫生成AIによる回答はまだまだ課題があり、チューニングが必要 障害対応方針が誤っていないか、言い回しを改善できないか、など継続的に改善が必要! ◆ キーワード抽出のロジックの見直し ◆ RAGに保管するデータの最新化 ◆ 生成AIに指示するプロンプトの改善 現在はAI回答を1件ずつ人間により評価している ※障害担当者が順番で評価している