使用 Copilot 規劃雲端基礎設施的變更
假設一個團隊收到部署一個具有特定安全需求的新 Azure 虛擬網路的請求。 虛擬網路需要三個子網,分別負責網頁、應用程式和資料層級,每個子網都有自己的網路安全群組(NSG)。 在撰寫任何基礎架構程式碼之前,工程師希望有一個明確的計畫,涵蓋所有元件及其關係。
備註
本單元所示的提示說明了營運工程師在每種情境下如何與計畫代理人互動。 它們是有效提示模式的範例,展現代理所需的情境。 它們要依循的逐步指示。
工程師開始時,從聊天視窗中的代理人下拉選單選擇 「計畫 」,並描述目標。 以下是該題目結構的範例:
/plan Create Bicep templates to deploy an Azure virtual network named vnet-prod-001 in the eastus region with three subnets (web, app, data), each with a dedicated network security group. The web subnet should allow inbound HTTP/HTTPS traffic, the app subnet should only accept traffic from the web subnet, and the data subnet should only accept traffic from the app subnet.
Plan 代理會檢查你工作區中現有的 Bicep 檔案、模組或參數檔案。 接著它會生成一個計畫,其中可能包括:
- 建立
main.bicep一個包含虛擬網路資源及三個子網路定義的檔案。 - 建立
nsg-web.bicep模組,設定允許從網際網路入站 80 和 443 埠的規則。 - 建立一個
nsg-app.bicep模組,規則僅允許來自網路子網位址範圍的入站流量。 - 建立
nsg-data.bicep模組,其規則只允許來自應用程式子網位址範圍的入站流量。 - 建立一個包含環境特定值的
parameters.prod.json檔案。 - 新增驗證步驟以確認具有
az bicep build的 Bicep 範本,並執行假設狀況部署。
反覆修改計畫
工程師在檢視初步計畫後發現,計畫中沒有考慮到診斷記錄。 為了補足這個遺漏項目,後續提示可能會是:
Add NSG flow logs for each network security group, storing them in an existing storage account. Also include a Log Analytics workspace for traffic analytics.
Plan 代理會更新計畫,加入更多 NSG 流量日誌與流量分析設定的實施步驟。
情境:自動化資源群組標籤合規
組織要求所有資源群組都必須攜帶特定的成本分配與所有權標籤。 團隊需要一套強制標籤的 Azure 原則,以及針對現有不合規資源的修復腳本。 這個情境的範例提示:
/plan Create an Azure Policy definition that requires 'CostCenter', 'Environment', and 'Owner' tags on all resource groups. Include a PowerShell remediation script that scans existing resource groups and applies default tags where they're missing.
計劃代理人會產生涵蓋以下內容的計劃:
- 建立一個包含
deny效果的政策定義 JSON 檔案以處理缺少的標籤。 - 建立針對訂閱範圍的政策指派。
- 建立一個 PowerShell 腳本,用
Get-AzResourceGroup來尋找不合規的資源群組並Set-AzResourceGroup套用預設標籤。 - 新增驗證步驟以測試具有不合規範資源群組建立嘗試的原則。
情境:規劃基於角色的存取控制審查
當團隊需要稽核並更新跨多個訂用帳戶的角色型存取控制 (RBAC)角色指派時,變更範圍可能相當大。 使用計畫模式有助於在做任何修改前規劃完整的方法。 工程師如何向計畫代理人描述此目標的範例:
/plan Create a PowerShell script that audits RBAC role assignments across all subscriptions in our tenant. The script should export a CSV report of all users with Owner or Contributor roles, flag any assignments to individual user accounts (versus groups), and identify role assignments that haven't been used in the last 90 days using Azure AD sign-in logs.
計畫可能包含以下步驟:
- 建立一個腳本,使用
Get-AzSubscription來遍歷訂閱。 - 使用
Get-AzRoleAssignment檢索角色分配,並篩選出擁有者與貢獻者角色。 - 將指派與 Microsoft Entra ID 登入日誌交叉比對,以識別非活躍指派。
- 將結果匯出為 CSV 檔案,並列出訂閱、負責人姓名、角色、分配類型(使用者與群組)及最後登入日期。
- 對於目前身份缺乏讀取權限的訂閱,新增錯誤處理功能。
撰寫有效基礎建設提示的技巧
當你使用 Plan agent 來處理雲端基礎設施任務時,請在提示中包含以下細節:
- 目標環境:指定Azure區域、訂閱情境或資源群組。
-
命名慣例:納入您組織的命名標準(例如)。
vnet-prod-001 - 依賴性:提及新基礎設施需要參考的現有資源。
- 安全要求:說明適用的合規標準或安全規則。
- 工具偏好設定:指定您偏好Bicep、ARM 範本、Terraform 或 Azure CLI 腳本。
Tip
如果您的資料庫包含 .github/copilot-instructions.md 組織基礎設施標準的檔案,計畫代理程式會在產生計畫時自動納入這些指示。 這有助於確保產生的計畫遵循團隊在命名、標籤及架構模式上的慣例。