使用模板创建 Redis 缓存

在本主题中,你将学习如何创建用于部署 Azure Redis 缓存的 Azure Resource Manager 模板。该缓存可以用于现有存储帐户以保存诊断数据。你将了解如何定义要部署的资源以及如何定义执行部署时指定的参数。可将此模板用于自己的部署,或自定义此模板以满足要求。

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

有关创建模板的详细信息,请参阅创作 Azure 资源管理器模板

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

将部署的内容

在此模板中,你将部署 Azure Redis 缓存。

参数

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

下面介绍模板中的每个参数。

cacheSKUName

新 Azure Redis 缓存的定价层。

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

模板将定义此参数允许的值(Basic 或 Standard),如果未指定任何值,则分配默认值 (Standard)。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 Redis Cache instance. "
  }
}

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

redisCacheLocation

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

"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 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": "2015-07-01",
      "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-AzureRmResourceGroupDeployment -TemplateFile path/to/azuredeploy.json -ResourceGroupName ExampleDeployGroup -redisCacheName ExampleCache

Azure CLI

azure group deployment create --template-file path/to/azuredeploy.json -g ExampleDeployGroup