在這個快速入門中,你將使用 Microsoft Bicep 模板部署 Microsoft Foundry 資源與專案。 Bicep 幫助你在一次協調部署中建立相關資源,並在不同環境中重複使用相同設定。
如果你已經在 Azure 入口網站設定了 Foundry 資源,><你可以將該設定匯出為 Bicep 檔案,而不必從頭撰寫範本。
小提示
如需涵蓋常見 Foundry 部署情境的生產準備 Bicep 範本,請參閱 Foundry 範例庫中的 infrastructure-setup-bicep 資料夾。 複製儲存庫並自訂範本,而不是從頭開始。
先決條件
一個有有效訂閱的 Azure 帳號。 如果你還沒有,請建立一個free Azure帳號,其中包含免費試用訂閱。
- 取得可以讓你完成職責分派的角色,例如擁有者。 欲了解更多權限資訊,請參閱 Microsoft Foundry 的 基於角色的存取控制。
- 安裝Bicep CLI。
取得範例檔案:
git clone https://github.com/microsoft-foundry/foundry-samples
cd foundry-samples/infrastructure/infrastructure-setup-bicep/00-basic
部署 Bicep 檔案
請使用 Azure CLI 或 Azure PowerShell 部署 Bicep 檔案:
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters aiFoundryName=myai aiProjectName=myai-proj
備註
用您的資源名稱取代 myai。
exampleRG 是資源群組名稱,eastus 是資源部署的 Azure 區域。
部署結束後,你會看到一則訊息表示部署成功(輸出顯示: "provisioningState": "Succeeded")。 這確認您的 Foundry 資源和項目已經建立。
將現有資源匯出到 Bicep 檔案
如果你已經在 Azure 入口網站設定了 Foundry 資源,你可以將該設定匯出成 Bicep 檔案。 匯出後的檔案會捕捉你目前的資源設定,包括網路規則、身份設定和專案關聯。 將它作為跨環境重複部署的起點。
在Azure 入口網站,進入您的 Foundry 資源。
在左側選單中,展開 自動化,然後選擇 匯出範本。
選擇 Bicep 標籤以查看產生的 Bicep 程式碼。
選擇 下載 以儲存檔案至本地,或選擇 複製 程式碼到剪貼簿。
備註
如果某些資源類型不支援完整輸出,匯出時可能會附帶警告。 檢視輸出並手動補足缺失的屬性。
自訂匯出後的範本
匯出後的 Bicep 檔案包含了針對你的訂閱和資源群組的硬編碼值。 在重複使用範本前,請先檢視並更新以下內容:
- 將硬編碼的訂閱 ID、資源群組名稱和資源 ID 替換為 Bicep 參數。
- 移除所有不需要的屬性,或是引用部署範圍外資源的屬性。
- 新增或調整安全配置以符合組織需求。
若要使用已內建企業安全配置且適用於生產環境的 Bicep 範本,請參閱 Foundry 範例庫中的 infrastructure-setup-bicep 資料夾。
相關安全配置
在自訂範本時,請考慮加入以下安全配置。 根據您的治理需求進行選擇:
| 管理 | 何時加入 | 瞭解更多資訊 |
|---|---|---|
| 私有端點(網路隔離) | 你的組織禁止公共端點,或者你需要將流量保留在虛擬網路上以符合規範(HIPAA、PCI、FedRAMP)。 | 設定私有端點的網路隔離 |
| 用於加密的客戶管理金鑰(CMK) | 你必須控制加密金鑰的生命週期、輪替頻率或撤銷,否則你的資料分類就需要自帶金鑰。 | 設定客戶管理的加密金鑰 |
| 角色為基礎的存取控制(RBAC) | 你需要為建置者和管理員分別提供最低權限存取,或者將存取權授予多個共用 Foundry 資源的團隊。 | 為 Foundry 配置基於角色的存取控制 |
| 代理能力設定 | 你的代理必須將狀態、向量資料和檔案存放在你擁有的 Azure 資源中,而非平台管理的資源。 | 配置代理能力設定 |
| 自訂Azure 原則定義 | 您的平台團隊會在組織建立的每個 Foundry 資源上執行安全基線 (允許的區域、必要標籤、允許的 SKU、強制的 CMK 或私人連結)。 | 建立自訂Azure 原則定義 |
部署前請先確認部署權限
如果你的範本設定了代理能力設定,執行部署的身份需要更多權限才能建立 Foundry 資源。 在部署前請確認以下每一項,因為缺失的任務會在部署過程中失敗:
- 部署主體在範本所參考的每個 Azure 儲存體 帳號上都具有 Storage Blob Data Contributor 權限。
- 部署主體在每個範本參考的 Azure Cosmos DB 帳號上都持有 Cosmos DB Operator。
Azure AI 搜尋服務 不需要呼叫者角色即可佈建能力設定。 你的部署主體仍然需要建立或更新模板中所有宣告資源所需的權限。
執行以下指令以列出部署負責人目前的任務:
az role assignment list --assignee <principal-id> --all --output table
配置後授予執行時存取權限
配置權限與執行時權限是分開的。 部署成功後,請為專案的受控識別授予各項參照資源所需的資料平面角色,接著確認 Agent 能夠正常讀寫。 前一節的來電者角色不符合此要求。 關於各資源角色列表,請參見 標準代理設定。
檢視 Bicep 檔案(可選)
另外,也可以參考 Bicep 範本,了解資源的定義。
你可以在 https://github.com/microsoft-foundry/foundry-samples/tree/main/infrastructure/infrastructure-setup-bicep/00-basic 找到本文中使用的 Bicep 檔案。
此範本會建立下列資源:
檢閱已部署的資源
請使用 Foundry 入口網站 查看已建立的資源。 你也可以使用 Azure CLI 或 Azure PowerShell 來列出資源。
az resource list --resource-group exampleRG
清理資源
如果你打算繼續做後續的快速入門和教學,可以保留你創建的資源在這個快速入門中。 如果您想要移除資源,請使用下列命令。
az group delete --name exampleRG
參考資料:az 群組刪除
Troubleshooting
| 癥狀 | 原因 | Resolution |
|---|---|---|
ServiceModelDeprecating 部署時的錯誤 |
Bicep 範本包含一個參考已停用或即將棄用之模型版本的模型部署。 | 打開 main.bicep,找到 modelDeployment 資源區塊,然後註解或更新模型 name 並 version 更新到目前可用的模型。 執行 az cognitiveservices model list --location <your-location> --query "[?model.lifecycleStatus=='GenerallyAvailable']" 以尋找可用的模型。 |
The content for this response was already consumed |
Azure CLI 2.74–2.75 版本有一個已知的錯誤,掩蓋了實際部署錯誤。 | 再次使用 --debug 執行該命令,並在輸出中搜尋 Exception Details:,以找出真正的錯誤。 |
部署失敗並顯示AccountNameInvalid |
aiFoundryName該值必須全域唯一,字元數為 2 至 64 個,且只能包含小寫字母、數字和連字號。 |
請選擇其他名稱,例如 <your-name>-foundry-<random-suffix>。 |
| 資源部署到與資源群組不同的區域 | Bicep 模板的location參數預設為 eastus2,但資源群組可能位於不同區域。 |
明確傳遞 location 參數。 例如,將location=eastus加入你的--parameters清單。 |
相關內容
- 開始使用 SDK
- 設定私有端點的網路隔離
- 設定客戶管理的加密金鑰
- 為 Foundry 配置基於角色的存取控制
- Security 配置範例 — 請參閱企業安全配置的範例 Bicep 範本配置,包括網路隔離、客戶管理的金鑰加密、進階身份選項及代理程式標準設定。