microsoft/sre-agent リポジトリのテンプレートを使用して、SRE エージェントAzureプログラムでデプロイします。
Tip
- 4 つのデプロイ バックエンド: Bicep、Terraform、PowerShell、Azure Developer CLI
- 一般的なシナリオ (Azure Monitor、PagerDuty、Dynatrace) の作成済みのレシピ
- 0 から実行中のエージェントに移動する 1 つのコマンド:
./bin/deploy.sh my-agent/ - Day-2運用: 同じCLIツールを使用して、エージェントのエクスポート、複製、差分の確認、検証を実行
概要
microsoft/sre-agent リポジトリには、Azure SRE エージェントをデプロイするための運用対応の IaC テンプレートが用意されています。 これらのテンプレートを使用して、次の手順を実行します。
- CI/CD パイプラインでのデプロイの自動化
- Git でのバージョン管理エージェントの構成
- 環境間でエージェントをレプリケートする (開発からステージング、運用)
- 事前構築済みのレシピを使用してセットアップを標準化する
前提条件
| ツール | 対象 | Install |
|---|---|---|
| Azure CLI 2.x 以降 | すべてのバックエンド | インストール |
| jq | すべてのバックエンド |
brew install jq または apt install jq |
| Terraform 1.5 以降 | Terraform のみ | インストール |
| PowerShell 7 以降 | PowerShell のみ | インストール |
| Azure Developer CLI | azd のみ | インストール |
Azureアクセス許可: サブスクリプションの所有者、または共同作成者 + ユーザー アクセス管理者。
前提条件を確認する:
git clone https://github.com/microsoft/sre-agent.git
cd sre-agent/sreagent-templates
bash bin/check-prerequisites.sh
簡単スタート
# 1. Generate config from a recipe
./bin/new-agent.sh --recipe azmon-lawappinsights --non-interactive \
--set agentName=my-agent \
--set resourceGroup=rg-my-agent \
--set location=eastus2 \
--set targetRGs=rg-my-workload \
-o my-agent/
# 2. Deploy (~3 minutes)
./bin/deploy.sh my-agent/
デプロイ後、CLI はポータル URL とデータ プレーン エンドポイントを出力します。
Agent (portal): https://sre.azure.com/#/agent/{sub}/{rg}/my-agent
Data plane: https://my-agent.eastus2.azuresre.ai
既存のエージェントを複製する
./bin/clone-agent.sh \
--from-agent prod-agent --from-rg rg-prod \
--set agentName=staging-agent --set resourceGroup=rg-staging \
-o staging-agent/
ソース エージェントの構成をエクスポートし、新しい名前とリソース グループにデプロイします。 これは、複数の環境にレプリケートする場合に便利です。
レシピ
Azure Monitorアラート応答、PagerDuty インシデント管理、Dynatrace 統合などの一般的なシナリオの事前構築済みの開始点。 Microsoft定期的に新しいレシピを追加します。
テンプレート リポジトリで使用可能なレシピを参照します。
# List available recipes
ls recipes/
# Generate config from a recipe
./bin/new-agent.sh --recipe azmon-lawappinsights \
--set agentName=prod-agent \
--set resourceGroup=rg-prod-agent \
--set location=swedencentral \
-o prod-agent/
バックエンドをデプロイする
テンプレートでは、4 つのデプロイ バックエンドがサポートされています。 それぞれが同じ構成ディレクトリを使用します。環境に合ったものを選択します。
| Backend | Command | 次の場合に使用します。 |
|---|---|---|
| Bicep | ./bin/deploy.sh my-agent/ |
既定値 - 使用 az deployment sub create |
| Terraform | ./bin/deploy-tf.sh my-agent/ |
Terraform で管理されたインフラストラクチャ |
| PowerShell | .\bin\ps\Deploy-Agent.ps1 -InputPath .\my-agent\ |
Windows/ PowerShell 7 環境 |
| Azure Developer CLI | cd my-agent/ && azd up |
azd ベースのワークフロー |
すべてのバックエンドは、デプロイせずに検証の --what-if / --dry-run をサポートします。 完全なコマンド リファレンス、フラグ、要件については、 リポジトリ README を参照してください。
設定ディレクトリ構造
new-agent.shを実行すると、構成ディレクトリが生成されます。
my-agent/
├── agent.json # Agent identity, model, settings
├── connectors.json # Data sources (App Insights, Log Analytics, MCP endpoints)
├── connectors.secrets.env # Secrets — auto-gitignored
├── roles.yaml # RBAC role assignments
├── config/
│ ├── skills/ # Skill instructions (YAML + markdown)
│ ├── subagents/ # Subagent definitions (YAML + markdown instructions)
│ ├── hooks/ # Safety guardrails (YAML)
│ ├── common-prompts/ # Shared prompt instructions
│ └── repos/ # Code repository connections
├── automations/
│ ├── scheduled-tasks/ # Recurring automated tasks
│ ├── incident-filters/ # Incident routing rules
│ └── incident-platforms/ # Incident platform connections
└── data/
├── knowledge/ # Upload docs, runbooks, reference material
└── synthesized-knowledge/ # Agent's learned context
デプロイする前に、これらのファイルを編集してエージェントをカスタマイズします。
何がデプロイされるか
デプロイは 2 つのフェーズで行われます。
フェーズ 1: ARM (インフラストラクチャ)
| 資源 | Purpose |
|---|---|
| リソース グループ | すべてのリソースを格納するコンテナー |
| ユーザー割り当てのマネージド ID | エージェントのAzure ID |
| Log Analytics ワークスペース | ログ記録と診断 |
| Application Insights | Telemetry |
SRE エージェント (Microsoft.App/agents) |
エージェント自体 |
| RBAC ロールの割り当て | 閲覧者、監視リーダー、Log Analytics 閲覧者、SRE エージェント管理者 |
| コネクタ、スキル、サブエージェント、ツール | ARM サブリソースを使用したエージェントの構成 |
フェーズ 2: データ プレーン (ARM でまだ処理できない構成)
| 資源 | データプレーンの理由 |
|---|---|
| コード リポジトリ | Git 認証を要求する (PAT/OAuth) |
| フック | デプロイ時に ARM サブリソースとしてまだ公開されていない |
| HTTP トリガー | サーバー側で生成される一意のURLを持つ |
| 知識ファイル | バイナリ ファイルのアップロード |
| プラグインの構成 | データプレーン専用の API |
Note
apply-extras.sh スクリプトは、Bicep/Terraform デプロイの完了後にフェーズ 2 を自動的に処理します。 データ プレーン トークンが使用できない場合 (制限付き CI/CD 環境など)、スキップされた内容が出力されるため、アクセス権を持つマシンから完了できます。
キー パラメーター
new-agent.sh --setを使用して構成を生成する場合は、agentName、resourceGroup、location、targetRGsなどの値を入力します。 このプロセスでは、これらの値が Bicep または Terraform のデプロイ パラメーターに変換されます。
パラメーター、機能の切り替え、およびその既定値の完全な一覧については、 リポジトリ README を参照してください。
Day-2 operations
テンプレートには、継続的な管理のためのスクリプトが含まれています。
| 操作 | それが何をするか |
|---|---|
| エクスポート | 実行中のエージェントから構成ディレクトリを作成する - バックアップまたは移行に役立つ |
| クローン | ソース エージェントをエクスポートし、新しい名前とリソース グループにデプロイする |
| Diff | ローカル構成をライブ エージェントと比較する |
| 確認 | ライブ エージェント (コネクタ、スキル、サブエージェント、フック) に対して 22 ポイントのチェックを実行する |
コマンドと使用方法については、 リポジトリ README を参照してください。