Azure SRE エージェントでワークフローを自動化する

チームには、毎朝のサービス正常性の確認、夜間のアラートの確認、証明書の有効期限の確認、毎週の容量レポートの投稿などの定期的なタスクがある可能性があります。 ツールを接続し、ワークフローを構築し、エージェントがスケジュールに従って実行できるようにします。

達成する内容

  • エージェントがメッセージを送信できるように通知ツールを接続する
  • そのツールを使用するカスタム エージェントを作成する
  • 自動的に実行される定期的な正常性チェックをスケジュールする
  • エージェントキャンバスで完全なワークフローをご覧ください

前提条件

Requirement 詳細情報
完成した記事 作成と設定 と チームのオンボーディング。
エージェントの役割 SREエージェント管理者の役割は、この記事のすべてのステップをカバーしています。 他の役割は仕事の一部に過ぎません。 オーサーはカスタムエージェントを作成できますが、スケジュールされたタスクは作成できません。標準ユーザーはスケジュールされたタスクは作成できますが、カスタムエージェントは作成できません。 コネクターを追加するには 管理者 の役割が必要です。 ユーザー の役割と権限を参照してください。
送信先のアカウント アクティブなOutlookメールボックスを持つMicrosoft 365アカウント。 エージェントはこのアカウントとしてサインインし、送信されるレポートはこのアドレスから届きます。
コネクターの承認同意 もし組織が承認できるアプリケーションを制限している場合、管理者がサインインに同意してからコネクターが接続される場合があります。
この例のAzureコンテキスト タスクがチェックするAzureリソースへのアクセス。 ログ提供者はタスクがログを要求する場合のみ必要です。 エージェントのアイデンティティには、要求されたデータに対して適切なAzureロールベースアクセス制御(RBAC)権限が必要です。 エージェント の権限を参照してください。
受信者 テストレポートを受け取れるメールアドレス。

ヒント

最初の調査を実行し 、イン シデント対応の自動化 は本記事では必須ではありませんが、先に完了することで、どのようなワークフローが自動化できるかをよりよく理解できます。

どのように機能するのか

Automation は 3 つの構成要素を接続します。各構成要素はポータルを介して設定されます。

構成要素 動作内容 例
コネクタ エージェントに外部サービスへのアクセス権を付与します Outlook、Teams、Datadog、Splunk
カスタム エージェント 特定のツールにアクセスできる特殊なワーカー health-check-reporter メッセージ送信の許可を持つ
スケジュールされたタスク 定期的なスケジュールでカスタム エージェントをトリガーします "毎朝午前 8 時、リソースの正常性を確認し、概要を送信する"

ポータル内では、2番目のブロックが カスタムエージェントとして表示されます。

以下のウォークスルーでは、メールで配信される朝の健康報告を作成しますが、同じ3つのブロックで他の定期的な業務もカバーしています。 指示やスケジュールを変更して、夜間アラートの確認、証明書の有効期限確認、週ごとの容量概要の投稿などを行ってください。 週次報告書を配布リストに送ることで、リーダーシップは誰も手作業で作成する必要のない常設記録を得られます。

コネクタの追加

コネクタを使用すると、エージェントは外部サービスと対話できます。 エージェントが結果を報告できるように、通知ツールから始めます。 これらのステップでOutlookコネクタをセットアップします。 Teamsについては、「 Teams Connectorの設定」をご覧ください。

始める前に、二つのアイデンティティが対象となります。 サインインすることでエージェントがOutlookで行動する権限が与えられるため、送信されるメールはあなたのアカウントから来ます。 エージェントはユーザー割り当てのマネージドアイデンティティを使ってAzureにアクセスし、レポートのリソースデータを収集するため、そのIDに割り当てられたRBACロールがレポートに何を含めるかを決定します。 Azureはエージェントと共にそのアイデンティティを作成するので、ここでエージェントを作成する必要はありません。 詳細は「 エージェント識別 」および 「エージェント権限」を参照してください。

  1. サイドナビゲーションの 「ビルド+セットアップ>コネクターズ 」に行ってください。
  2. [ コネクタの追加] を選択します。
  3. 通知タブを選択してください。
  4. Microsoft OutlookサービスのOffice 365 Outlookコネクタを選択してください。
  5. 次へを選択します。
  6. サインインしてアクセスを許可し、 次に選択します。
  7. セットアップツールでメール送信操作を選択してください。 ウィザードのレールでは、このステップはツールを構成と表示されます。
  8. 許可を確認に設定してください。
  9. メール送信操作の パラメータポリシー をオンにしてください。
  10. 受信者または To パラメータに、前提条件から受信者住所を入力します。
  11. 次へを選択します。
  12. 構成を確認し、[作成] を選択します。

チェックポイント: コネクターはコネクタリストに「 接続済み」のステータスで表示されます。

Important

Askは チャット中に承認を一時停止しますが、自動運転モードで実行中のスケジュールタスクが許可なしに操作を呼び出します。 宛先アドレスをロックすることで、無人実行時に誤った相手に送信されるのを防ぐことができます。 詳細については、「 実行モード」を参照してください。

ヒント

また、Datadog、Splunk、Elasticsearch、Dynatrace、New Relic、カスタムMCPサーバー向けにModel Context Protocol(MCP)に基づくコネクタを追加することも可能です。 詳細は MCPコネクタ ーを参照してください。

カスタム エージェントを作成する

カスタム エージェントは、特定のツールにアクセスできる特殊なワーカーです。 エージェントを Agent Canvas上で構築し接続します。Canvasはカスタムエージェント、そのツール、そしてそれらを起動するトリガーの視覚的な図です。

  1. サイドナビゲーションの 「ビルド+セットアップ>エージェントキャンバス 」に行ってください。
  2. ツール バーの [ 作成 ] を選択し、[ カスタム エージェント] を選択します。 作成ダイアログは Form と YAMLの2つのタブで始まります。
  3. 必須項目を入力してください。
    • カスタム エージェント名: 例: health-check-reporter
    • 指示:このカスタムエージェントが何をしているかを説明し、報告受取人を含めること。例えば、「あなたは健康チェックの報告者です。 コンテナアプリのリソースAzure健康状態を確認して、要約をops@example.comにメールしてください。」
  4. 「ツール選択」を選択し、コネクターからメール送信ツールとレポートに必要なAzureツールを選びます。 ツールとは、エージェントが呼び出せる個別の操作を指します。 ここでツールを選択すると、このカスタムエージェントのグローバルツールデフォルトが上書きされ、選択を空にするとすべてのグローバルツールを引き継げます。 「 ツール 」と 「ツール」「スキル」をご覧ください。
  5. を選択してを作成します。

良い指示は、スコープ、チェック、結果の扱い方を明記してください。 例示指示が機能するのは、どのリソースを見るべきか、何を探すべきか、要約のどこに置くかを示しているため、エージェントは3つのうちのどれもを推測しなくて済みます。 YAMLタブはテキストと同じ定義を示しているので、作成したものをレビューしたりコピーしたりできます。

カスタムエージェントはキャンバス上のノードとして現れ、選択したOutlook操作は通常MCPバッジ付きのツールボックスノードに表示されます。

チェックポイント:キャンバスにはカスタムエージェントノードと、選択したOutlookツールを含むツールボックスノードが表示されます。

ヒント

カスタムエージェントフォームではスキルやフックの割り当ても可能です。 スキルはエージェントが関連時に読み込む再利用可能なプロシージャであり、フックはアクションの前後に実行されるコントロールで、アクションを制限内に保つためのものです。 詳細なウォークスルー、スキル、エージェントフックについては「サブエージェント作成」を参照してください。

定期的なタスクをスケジュールする

スケジュールされたタスクをカスタム エージェントにリンクして、自動的に実行されるようにします。

  1. カスタムエージェントノードの側面にある + ボタンを選択します。

  2. [トリガー] グループで、[スケジュールされたタスクの追加] を選択します。 ダイアログは、すでに Responseカスタムエージェント がそのエージェントに設定された状態で始まります。

  3. フィールドに次の値を入力します。

    フィールド 値の例
    タスク名 daily-health-report
    応答カスタム エージェント あなたのカスタムエージェントはすでに選ばれています
    タスクの詳細 リソース グループ内のリソースの正常性を確認します。 すべてのアプリが動いているか確認し、過去1時間のCPUとメモリの指標を確認し、最近の警告ログを確認しましょう。 結果を要約し、レポートを送信します。
    頻度 毎日
    時刻 午前 8:00
  4. [タスクの作成] を選択します。

Time of day ラベルには、Time of day (PST) のように、ブラウザーが使用しているタイムゾーンが表示されますが、スケジュールはタイムゾーン情報を持たない UTC として保存されます。 タスクは常に同じUTC時間に動作するため、サマータイムの変更後は選んだ現地時間より1時間早くまたは遅く行われます。 Frequency Window を Custom cronに設定すると、タイムピッカーは Cron 式(UTC)フィールドに置き換えられ、式は UTC として読み取られます。

すべての実行はエージェントの使用量を消費し、デイリータスクはタスクをオフにするまで消費し続けます。 必要な信号が得られる最低周波数を選びましょう。 使用状況の測定方法については 、価格設定と請求を参照してください。

キャンバスにはワークフローチェーン全体が表示されます。

結果を確認しましょう

タスクをすぐに実行して、すべてが機能することを確認します。

  1. サイドナビゲーションの 自動化 に入り、スケジュールされたタスクが表示されます。 スケジュールタスクページへの古いリンクはこちらにリダイレクトします。
  2. タスクの横にあるチェックボックスを選択してください。
  3. ツールバーで 「今すぐ実行 」を選択してください。
  4. 実行を見るには、タスク名を選択して実行ビューを開き、スレッド 名 リンクを選択します。 サイドバーの [ チャット ] でスレッドを見つけることもできます。

今すぐ実行 は、実行リクエストを送信し、タスク リストを更新します。 実行によって得られるものは、健康チェックや指標からメールで送られるレポートに至るまで、選択したツール、エージェントのリソースやテレメトリへのアクセス、コネクタの状態に依存します。

チェックポイント: そのタスクの実行が表示されます。 実行でスレッドが解決された場合、実行ビューには スレッド名 リンクが表示されます。 それ以外は「 スレッドが見つからない」と表示されます。 実行が成功しOutlookツールを呼び出した場合、受信者がレポートを受け取っているか確認してください。

タスクが実行されない場合

予定された作業は、期待した結果を得られずに終わることもあります。 まずは執行履歴から始めましょう。

  1. 自動化に行き、タスク名を選択してください。 各実行行には開始時刻、 成功 または 失敗 の状態、 スレッド名 リンクまたはスレッド なしのいずれかが表示されます。 その行にはエラーメッセージが表示されないので、スレッドを開いて何が起きたか確認してください。
  2. 最新のスレッドを開いてください。 エージェントがどのように作業を計画し、どのツールを呼び出し、何を結論づけたかを示します。
  3. 実行はその作業がスレッドに渡されると成功とマークされるため、実行時にエージェントが後に停止したり、承認のために一時停止したり、ツール呼び出しに失敗しても 成功を示すことができます 。 ステータスを信用する前にスレッドを読んでください。
  4. 実行が全く表示されない場合は、タスクの状態が 「On 」であることを確認し、次の実行時間を確認してください。
あなたが見るもの 考えられる原因 何をすべきか
実行は 成功と表示されますが、メールは届きません コネクターでメール操作が有効になっていなかったり、受信者のパラメータが別のアドレスにロックされているか、エージェントが送信ステップに到達していないか スレッドを開き、エージェントがOutlookツールを呼び出したかどうか確認してください。 次にコネクタを編集し、送信操作が選択されているか確認し、ロックされた To 値を確認します
実行は 成功と表示され、スレッドは承認待ちです タスクの エージェントの自律度レベル は 「レビュー」であり、エージェントは行動する前にスレッド内で一時停止します スレッドを開き、保留中のアクションを承認するか、タスクを編集してエージェントの自律性レベルを自律に設定してください
実行結果はスレッドが見つからないことを示しています スレッドが作られる前に実行は失敗しました コネクタの状態が 「接続 済み」で、タスクの レスポンスカスタムエージェント がまだ存在しているか確認し、「 今すぐ実行 」を選択して再度試行してください
コネクタは接続されていません 承認が期限切れか、アカウントが郵便受けへのアクセスを失ったのか コネクターを編集して再度サインインしてください
報告書にはリソースデータが一切ありません エージェントのアイデンティティはタスクがチェックするリソースにアクセスできません エージェント権限で説明されている割り当てを確認しましょう

トラブルシューティングやタスク管理の詳細については、「 スケジュールされたタスクの作成と編集」をご覧ください。

リソースをクリーンアップする

レポートを確認した後は、継続する予定のないスケジュールタスクについては 「Turn off 」または 「削除 」を使いましょう。 コネクタには取り外しまたは切断を使用してください。 Outlook OAuthの付与が不要になったら取り消してください。

初期設定のプロセスを完了しました

ワークフローをエンドツーエンドで構築したのです。 コネクターはエージェントがOutlookにアクセスする手段を提供し、カスタムエージェントは何を確認しどこに報告するかを把握し、スケジュールタスクはそれ自体でチェーン全体を動かします。

あなたの代理人は今、以下のことをすることができます:

  • ワークフローの自動化:カスタムエージェントやコネクターを通じてスケジュールタスクを実行します。
  • チームの文脈を活用する:セットアップやオンボーディング時につながった知識やチームの詳細を活用しましょう。

もし「最初の調査を実行する」を完了していれば、エージェントがあなたのコード、テレメトリ、Azureのコンテキストを使って問題を診断しているのも見られます。 Automate Incident Responseを完了した場合、対応計画に合致するアラートを検出し、尋ねることなく調査します。

Capability 追加されるもの
スケジュール済みタスク 高度なスケジュール オプションとタスク管理
コネクタ コネクタがエージェントにツールを提供する方法
カスタム エージェント カスタム エージェントによる委任と特殊化のしくみ

セットアップができたら、Conceptsを探索してエージェントの仕組みを理解したり、高度な機能の実践的な指導を学ぶチュートリアルを試してみてください。

行き先 あなたが見つけるもの
概念 ロール、アクセス許可、メモリ、コネクタ、およびエージェントの推論のしくみ
機能 エージェントが提供するすべての機能の詳細ページ
チュートリアル 詳細な調査、コネクタ、フックなどの詳細な手順ガイド