
azure-reliability
熱門評估與提升 PaaS 應用程式(Azure Functions 與 Azure App Service)的可靠度狀態。掃描已部署資源的可用區備援(zone redundancy)、ZRS 儲存體、健康檢查探針及多區域故障移轉(multi-region failover)設定。提供以功能為核心的自我檢查清單,並在取得使用者確認後,端到端執行分階段的修復補救(透過 CLI 或 IaC 程式碼修補)。觸發時機(WHEN):「assess reliability」、「check reliability」、「zone redundant」、「multi-region failover」、「high availability」、「disaster recovery」、「single points of failure」、「reliability posture」、「resiliency」。
評估與提升 PaaS 應用程式(Azure Functions 與 Azure App Service)的可靠度狀態。掃描已部署資源的可用區備援(zone redundancy)、ZRS 儲存體、健康檢查探針及多區域故障移轉(multi-region failover)設定。提供以功能為核心的自我檢查清單,並在取得使用者確認後,端到端執行分階段的修復補救(透過 CLI 或 IaC 程式碼修補)。觸發時機(WHEN):「assess reliability」、「check reliability」、「zone redundant」、「multi-region failover」、「high availability」、「disaster recovery」、「single points of failure」、「reliability posture」、「resiliency」。
Azure 可靠度評估與組態設定
快速參考
| 屬性 | 詳細說明 |
|---|---|
| 最佳適用場景 | 可靠度狀態評估、啟用可用區備援、設定多區域故障移轉 |
| 核心功能 | 可靠度評估表、可用區備援組態設定、多區域 IaC 程式碼生成 |
| 支援的服務 | Azure Functions、App Service(Container Apps 預計於未來版本支援) |
| MCP 工具 | Azure Resource Graph 查詢、Azure CLI 指令 |
何時使用此 Skill
當使用者提出以下需求時觸發此 Skill:
- 「評估我的 Function app 可靠度」
- 「評估我的 Web app 可靠度」
- 「檢查我資源群組的可靠度」(僅限 App Service 與 Functions 資源)
- 「我的應用程式有支援可用區備援嗎?」(僅限 App Service 與 Functions 資源)
- 「我的 App Service 計劃有支援可用區備援嗎?」
- 「讓我的應用程式支援可用區備援」(僅限 App Service 與 Functions 資源)
- 「讓我的 App Service 計劃支援可用區備援」
- 「為我的應用程式設定多區域故障移轉」(僅限 App Service 與 Functions 資源)
- 「檢查我的可靠度狀態」
- 「找出單點故障 (SPOF)」(僅限 App Service 與 Functions 資源)
- 「為我的應用程式啟用高可用性」(僅限 App Service 與 Functions 資源)
- 「檢查災害復原準備狀態」
- 「提升我應用程式的韌性」(僅限 App Service 與 Functions 資源)
適用範圍說明: 本 Skill 目前僅涵蓋 Azure Functions 與 Azure App Service。若使用者詢問 Azure Container Apps 的可靠度,請說明該功能已在規劃中但尚未支援,並僅針對範圍內的 App Service 及 Functions 資源繼續執行適用部分。
前置需求
- 驗證:使用者已透過
az login登入 Azure - 權限:目標訂閱 / 資源群組的「讀取者 (Reader)」存取權限(用於評估)
- 權限:「特約用戶 (Contributor)」存取權限(用於變更組態設定)
- Azure Resource Graph 擴充功能:
az extension add --name resource-graph
MCP 工具
| 工具 | 用途 |
|---|---|
mcp_azure_mcp_extension_cli_generate |
生成用於資源查詢與組態設定的 az CLI 指令 |
mcp_azure_mcp_subscription_list |
列出可用的訂閱 |
mcp_azure_mcp_group_list |
列出資源群組 |
主要查詢方式:透過 az graph query 執行 Azure Resource Graph 查詢(需先安裝 az extension add --name resource-graph)。
評估工作流程
階段 1:探索資源
- 確認評估範圍 — 請使用者提供資源群組、訂閱或應用程式名稱
- 查詢 Azure Resource Graph 以探索範圍內的所有資源
- 按服務類型分類資源(Functions、Storage 等)。若發現非 Functions 的運算資源(非 Function App 的 App Service 站台、Container Apps),請予以記錄但勿深入分析 — 這些服務已規劃於未來版本支援。
重要提示: 查詢務必限定在使用者指定的資源群組或訂閱範圍內。請在每個 Resource Graph 查詢中加入以下篩選條件:
- 資源群組:
| where resourceGroup =~ '<rg-name>' - 訂閱:在
az graph query上使用--subscriptions <sub-id>旗標 - 應用程式名稱:
| where name =~ '<app-name>'
階段 2:評估可靠度
評估分為兩個步驟:先進行平台層級的探索,再針對各項服務深入剖析。
步驟 1 — 平台層級探索(清查現有資源)。 使用以下參考文件列舉範圍內的資源並檢測跨服務的可靠度漏洞:
| 平台檢查項目 | 參考文件 |
|---|---|
| 可用區備援 — 探索清查 | references/zone-redundancy-checks.md |
| 儲存體備援(跨服務) | references/storage-redundancy-checks.md |
| 多區域與全域負載平衡器 | references/multi-region-checks.md |
| Front Door / Traffic Manager / App Insights 探針 | references/health-probe-checks.md |
步驟 2 — 依服務深入剖析。 針對步驟 1 中發現的每個運算資源,載入對應的服務參考文件。服務參考文件是該服務的 App Service 計劃/SKU 規則、評估查詢、CLI 指令、IaC 程式碼修補(Bicep + Terraform + AVM)與報告提示的唯一權威來源。
本版本的 Skill 僅提供 Azure Functions 與 App Service 的單一服務參考文件。下方明確列出其他運算服務,以確保分派邏輯清晰無誤:若資源符合未支援的項目,請勿嘗試載入參考文件、偽造 CLI 指令或生成 IaC 補丁。
| 偵測到的服務 | 參考文件 |
|---|---|
Azure Functions(microsoft.web/serverfarms 且包含 kind contains 'functionapp') |
references/services/functions/reliability.md |
Azure App Service(非 Functions 站台:microsoft.web/sites 且無 kind contains 'functionapp'、microsoft.web/serverfarms 且無 kind contains 'functionapp') |
references/services/app-service/reliability.md |
Azure Container Apps(microsoft.app/containerapps、microsoft.app/managedenvironments) |
⚪ 尚未提供 — 預計於未來版本推出 |
未支援服務的處理方式: 若資源符合上述未支援的項目,請在探索摘要中標示出來,並在階段 3 的表格中標註為
⚪ not assessed (planned)(未評估,規劃中),同時跳過該資源的特定服務修復步驟。切勿嘗試為這些服務偽造 CLI 指令或 IaC 補丁。
階段 3:生成可靠度檢查清單
將評估結果呈現為以功能為核心的表格:每個可靠度功能占一行(運算資源可用區備援、可用區備援儲存體、健康檢查探針、多區域故障移轉),包含單一狀態指示符以及與該功能相關的具體資源。這能避免「一資源占一行」導致大量欄位顯示為 n/a 的雜訊。切勿給予數值評分或等級。
🔍 可靠度評估 — {scope}
─────────────────────────────────────────────────────────────────────────────────────────────
可靠度功能 狀態 相關資源
─────────────────────────────────────────────────────────────────────────────────────────────
可用區備援 — 運算 🔴 OFF • plan-web-ii5trxva2ark4 (P1v3)
• plan-ii5trxva2ark4 (FC1)
可用區備援儲存體 🔴 GRS • stii5trxva2ark4(預設值;IaC 中未設定 SKU)
健康檢查探針 🔴 OFF • func-api-ii5trxva2ark4 — 需要修改程式碼 (FC1)
• app-web-ii5trxva2ark4 — 未設定健康檢查路徑
多區域故障移轉 🔴 OFF • 僅單一區域 (eastus) — 未設定 Front Door
─────────────────────────────────────────────────────────────────────────────────────────────
需要我為您修復標示為 🔴 的項目嗎?我會先執行能快速見效的修復(App Service 計劃的可用區備援 + 支援計劃上的健康檢查),
之後在進行儲存體遷移與多區域設定前會再向您確認。(是/否)
表格填寫規則:
- 四個功能類別行,按此順序排列: 可用區備援 — 運算 · 可用區備援儲存體 · 健康檢查探針 · 多區域故障移轉。僅當評估範圍內沒有任何資源適用某功能時,才可完全省略該行。
- 狀態欄(Status) 包含一個符號 + 一個簡短單字,不加其他字元:
🟢 ON— 範圍內所有相關資源皆已完整啟用該功能🟡 PARTIAL— 部分資源已啟用,部分未啟用(或僅完成部分組態設定,例如僅有 liveness)🔴 OFF— 所有相關資源皆未啟用該功能- 針對儲存體,在適用時將
OFF替換為目前的 SKU(🔴 LRS、🔴 GRS、🟢 ZRS、🟢 GZRS)。當 IaC 中未指定 SKU 時,標記為🔴 GRS(ARM/AVM 預設值),並在資源說明中補充。
- 相關資源欄(Resources) 僅列出與該功能相關的資源,每個資源占一個項目符號:
- 針對「需要修復」的資源,附上簡短的單行原因說明(如
(FC1)、(預設值;未設定 SKU)、僅設定 liveness、需要修改程式碼 (FC1))。 - 針對該功能**已啟用(ON)**的資源,也在同一行標註
— 已啟用 (ON),讓使用者清楚瞭解哪些項目已符合標準。
- 針對「需要修復」的資源,附上簡短的單行原因說明(如
- 切勿包含
n/a、—或空白儲存格。若某功能不適用於範圍內的任何資源,請直接移除該行。 - 切勿提供數值評分、等級或總分。
- 評估結束時,請提出單一「是/否」問題以啟動分階段修復流程。此處請勿列出每個資源的具修復清單 — 使用者回答「是」之後自然會看到(組態設定工作流程步驟 1)。
使用者體驗提示: 若評估發現應用程式已經具備所有核心可靠度功能(可用區備援、ZRS/GZRS 儲存體、健康檢查探針),請跳過修復提問,直接跳至組態設定工作流程的步驟 3(多區域後續追蹤)。未獲得明確同意前,切勿開始任何多區域相關作業。
組態設定工作流程
當使用者希望修復評估結果時:
⛔ 執行變更前務必向使用者確認。 說明將變更的內容、任何潛在的費用影響,以及是否有破壞性操作(例如重新建立環境)。
步驟 1:呈現修復計畫並選擇執行路徑
完成評估後,若使用者表示「修復它」/「提升我的可靠度」/「啟用可用區備援」:
- 列出每個可修復的項目及其具體修復動作
- 標示任何費用變化或重大變更(breaking changes)
- 詢問使用者想要選擇哪種路徑:
我會先從能快速見效的項目開始(無停機時間、執行快速):
1. ✏️ 為 plan-ii5trxva2ark4 啟用可用區備援(Flex Consumption — 不會增加費用)
2. ✏️ 將 func-api-ii5trxva2ark4 的健康檢查路徑設定為 /api/health
接著,再單獨詢問您是否要升級儲存體:
3. 🕒 將 stii5trxva2ark4 從 LRS 升級至 ZRS(費用稍微增加,遷移需耗時數小時)
— 達到完整可用區備援所需,但我會在開始前先向您確認。
您希望如何套用這些變更?
A) 立即修復 — 針對您線上運作的資源執行 az CLI 指令(立即生效,一次性操作)
B) 修補 IaC 程式碼 — 更新您的 Bicep/Terraform 檔案,讓變更在後續部署中持續保留
(若您使用 azd 或 Terraform,建議選擇選項 B,避免 `azd up` 覆蓋掉變更。)
路徑 A:立即修復 (CLI)
透過 az CLI 指令直接對線上資源執行修復。先處理快速見效的項目,耗時的儲存體遷移則在執行前另行詢問。
每個服務具體的 CLI 指令皆收錄於各自的服務參考檔案中 — 請挑選與階段 2 探索到的資源相對應的指令:
| 修復項目 | 參考文件 |
|---|---|
| 啟用可用區備援 / 設定健康檢查探針 (Functions) | references/services/functions/reliability.md |
| 啟用可用區備援 / 設定健康檢查探針 (App Service) | references/services/app-service/reliability.md |
| 升級儲存體複寫(跨服務) | references/configure-storage.md |
| 設定多區域(跨服務) | references/configure-multi-region.md |
| 平台總覽 / 驗證 | references/configure-zone-redundancy.md, references/configure-health-probes.md |
執行順序



