Azure Resource Manager 概觀

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Infrastructure as Code 概觀

  • 把 IaC 想成雲端 {{1}} 的「建築藍圖」
  • 藍圖不給每日指示,而是定義完整設計
  • 程式碼不是用在應用程式內,而是用來定義:
    • 應用程式包含哪些服務
    • 各服務如何設定

基礎架構即程式碼

Azure API Management

IaC 部署

  • IaC 程式碼寫好後,可直接執行以部署整個環境
  • 不必手動逐一設定每個服務
  • 部署更快、可重複、也較不易出錯

IaC 部署

Azure API Management

ARM 範本入門

  • 在 Azure 有多種 IaC 做法
  • ARM 範本是經典機制
  • 這些範本以 JSON 為基礎
  • 在各環境間一致部署資源
  • 可重複與自動化

自動化選單區段

Azure API Management

建立 ARM 範本

ARM 範本匯出

  • 可從既有服務產生新範本

    • 就像拍下建築快照以在別處重建
  • 在 Azure Portal:

    • 開啟 APIM 執行個體 -> 「Automation script」或「Export template」刀鋒頁
    • 入口網站彙整目前設定(settings、APIs、policies、connections)
    • 產生可下載的 JSON 與 parameters 檔
  • 調整設定、重新命名並重新部署

Azure API Management

ARM 範本結構

  • ARM 範本是遵循特定結構的 JSON
  • 可把它想成環境的地圖或平面圖

  • Resources 區段=主要平面圖

    • 列出所有要建立的項目(例如 APIM 服務、API、產品、原則)
    • 每個資源都有 type、API version、properties
  • 其他範本區段提供超越資源的彈性

ARM 範本結構

Azure API Management

ARM 範本參數與變數

ARM 範本的參數與變數

  • 參數就像表單的空白欄位

    • 在部署時填入(APIM 名稱、位置、SKU、發行者資訊)
  • 變數像是便條區

    • 計算用輔助值,讓範本更有結構
    • 例如:串接環境名稱、組出資源 ID、避免重複
    • 讓範本更易讀、更安全地修改
Azure API Management

ARM 範本輸出

  • 輸出為選用
  • 把它當作部署後帶走的收據
  • 提供實用的值,如閘道 URL 或資源 ID
  • 讓部署鏈中的其他指令碼可使用這些值

ARM 範本輸出

Azure API Management

一起來練習吧!

Azure API Management

Preparing Video For Download...