Azure 资源管理器概览

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

基础设施即代码概览

  • 将 IaC 视为云的"建筑蓝图"
  • 蓝图定义完整设计,而非每日指令
  • 代码不在应用内部使用,而是用于定义:
    • 应用由哪些服务组成
    • 各服务如何配置

基础设施即代码

Azure API Management

IaC 部署

  • 编写后,可执行 IaC 以部署整个环境
  • 无需手动配置每个服务
  • 部署更快、可重复、且更少出错

IaC 部署

Azure API Management

ARM 模板简介

  • 在 Azure 中有多种 IaC 方式
  • ARM 模板是经典机制
  • 模板基于 JSON
  • 各环境一致的资源部署
  • 可重复与自动化

自动化菜单部分

Azure API Management

创建 ARM 模板

ARM 模板导出

  • 可从现有服务生成新服务的模板

    • 类似拍下建筑快照以在他处复建
  • 在 Azure 门户:

    • 打开 APIM 实例 -> Automation scriptExport template 边栏页
    • 门户收集当前配置(设置、API、策略、连接)
    • 生成可下载的 JSON + 参数文件
  • 可修改配置、重命名并重新部署

Azure API Management

ARM 模板结构

  • ARM 模板是遵循特定结构的 JSON
  • 可将其视为环境的地图或平面图

  • Resources 部分 = 主体平面图

    • 列出要构建的所有内容(如 APIM 服务、API、产品、策略)
    • 每个资源都有类型、API 版本和属性
  • 其他部分为模板提供超出资源的灵活性

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...