使用模板创建 Azure Redis 缓存

Note

本文最近进行了更新,以便使用新 Azure PowerShell Az 模块的命令。

本主题将介绍如何创建 Azure 资源管理器模板,以便部署 Azure Redis 缓存。 该缓存可以用于现有存储帐户以保存诊断数据。 还将了解如何定义要部署的资源以及如何定义执行部署时指定的参数。 可将此模板用于自己的部署,或自定义此模板以满足要求。

目前,对订阅的同一区域中的所有缓存共享诊断设置。 更新区域中的一个缓存会影响该区域中的所有其他缓存。

有关创建模板的详细信息,请参阅创作 Azure Resource Manager 模板。 若要了解缓存资源类型的 JSON 语法和属性,请参阅 Microsoft.Cache 资源类型

有关完整的模板,请参阅 Azure Redis 缓存模板

Note

适用于新高级层的 Resource Manager 模板现已推出。

若要检查最新模板,请参阅 Azure 快速入门模板并搜索 Azure Cache for Redis

要部署的内容

在此模板中,将部署 Azure Redis 缓存,以便使用现有存储帐户保存诊断数据。

若要自动运行部署,请单击以下按钮:

部署到 Azure

parameters

使用 Azure Resource Manager,可以定义在部署模板时想要指定的值的参数。 该模板具有一个名为 Parameters 的部分,其中包含所有参数值。 应该为随着要部署的项目或要部署到的环境而变化的值定义参数。 不要为永远保持不变的值定义参数。 每个参数值可在模板中用来定义所部署的资源。

cacheSKUName

新 Azure Redis 缓存的定价层。

"cacheSKUName": {
  "type": "string",
  "allowedValues": [
    "Basic",
    "Standard"
  ],
  "defaultValue": "Basic",
  "metadata": {
    "description": "The pricing tier of the new Azure Cache for Redis."
  }
},

模板将定义此参数允许的值(Basic 或 Standard),如果未指定任何值,则分配默认值 (Basic)。 Basic 提供单个节点,该节点具有多种大小,最大大小为 53 GB。 Standard 提供“主/副本”两个节点,这些节点具有多种大小(最大 53 GB)并提供 99.9% SLA。

cacheSKUFamily

SKU 的系列。

"cacheSKUFamily": {
  "type": "string",
  "allowedValues": [
    "C"
  ],
  "defaultValue": "C",
  "metadata": {
    "description": "The family for the sku."
  }
},

cacheSKUCapacity

新 Azure Redis 缓存实例的大小。

"cacheSKUCapacity": {
  "type": "int",
  "allowedValues": [
    0,
    1,
    2,
    3,
    4,
    5,
    6
  ],
  "defaultValue": 0,
  "metadata": {
    "description": "The size of the new Azure Cache for Redis instance. "
  }
}

模板将定义此参数允许的值(0、1、2、3、4、5 或 6),如果未指定任何值,则分配默认值 (0)。 这些数字对应于以下缓存大小:0 = 250 MB,1 = 1 GB,2 = 2.5 GB,3 = 6 GB,4 = 13 GB,5 = 26 GB,6 = 53 GB

redisCacheLocation

Azure Redis 缓存的位置。 为获得最佳性能,请使用要与缓存配合使用的应用所在的位置。

"redisCacheLocation": {
  "type": "string"
}

existingDiagnosticsStorageAccountName

要用于诊断的现有存储帐户的名称。

"existingDiagnosticsStorageAccountName": {
  "type": "string"
}

enableNonSslPort

一个布尔值,该值指示是否允许通过非 SSL 端口访问。

"enableNonSslPort": {
  "type": "bool"
}

diagnosticsStatus

一个值,该值指示是否启用诊断。 使用 ON 或 OFF。

"diagnosticsStatus": {
  "type": "string",
  "defaultValue": "ON",
  "allowedValues": [
        "ON",
        "OFF"
    ]
}

要部署的资源

用于 Redis 的 Azure 缓存

创建 Azure Redis 缓存。

{
  "apiVersion": "2015-08-01",
  "name": "[parameters('redisCacheName')]",
  "type": "Microsoft.Cache/Redis",
  "location": "[parameters('redisCacheLocation')]",
  "properties": {
    "enableNonSslPort": "[parameters('enableNonSslPort')]",
    "sku": {
      "capacity": "[parameters('redisCacheCapacity')]",
      "family": "[parameters('redisCacheFamily')]",
      "name": "[parameters('redisCacheSKU')]"
    }
  },
  "resources": [
    {
      "apiVersion": "2017-05-01-preview",
      "type": "Microsoft.Cache/redis/providers/diagnosticsettings",
      "name": "[concat(parameters('redisCacheName'), '/Microsoft.Insights/service')]",
      "location": "[parameters('redisCacheLocation')]",
      "dependsOn": [
        "[concat('Microsoft.Cache/Redis/', parameters('redisCacheName'))]"
      ],
      "properties": {
        "status": "[parameters('diagnosticsStatus')]",
        "storageAccountName": "[parameters('existingDiagnosticsStorageAccountName')]"
      }
    }
  ]
}

运行部署的命令

要将资源部署到 Azure,必须登录到 Azure 帐户,并且必须使用 Azure Resource Manager 模块。 若要了解配合使用 Azure Resource Manager 和 Azure PowerShell 或 Azure CLI 的相关信息,请参阅:

以下示例假定帐户中已具有一个指定名称的资源组。

PowerShell

New-AzResourceGroupDeployment -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-redis-cache/azuredeploy.json -ResourceGroupName ExampleDeployGroup -redisCacheName ExampleCache

Azure CLI

azure group deployment create --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-redis-cache/azuredeploy.json -g ExampleDeployGroup