Vytvoření webové aplikace a Azure Cache for Redis pomocí šablony
V tomto článku se dozvíte, jak vytvořit šablonu Azure Resource Manageru, která nasadí webovou aplikaci Azure se službou Azure Cache for Redis. Dozvíte se následující podrobnosti o nasazení:
- Jak definovat, které prostředky se nasazují
- Definování parametrů zadaných při spuštění nasazení
Tuto šablonu můžete použít pro vlastní nasazení nebo ji upravit, aby splňovala vaše požadavky.
Další informace o vytváření šablon najdete v tématu Tvorba šablon Azure Resource Manageru. Další informace o syntaxi JSON a vlastnostech pro typy prostředků mezipaměti najdete v tématu Typy prostředků Microsoft.Cache.
Kompletní šablonu najdete v tématu Webová aplikace se šablonou Azure Cache for Redis.
Co nasadíte
V této šabloně nasadíte:
- Webová aplikace Azure
- Azure Cache for Redis
Pokud chcete nasazení spustit automaticky, vyberte následující tlačítko:
Parametry, které se mají zadat
Pomocí Azure Resource Manageru definujete parametry pro hodnoty, které chcete zadat při nasazení šablony. Šablona obsahuje oddíl s názvem Parametry, který obsahuje všechny hodnoty parametrů. Měli byste definovat parametr pro tyto hodnoty, které se liší v závislosti na projektu, který nasazujete, nebo prostředí, do kterého nasazujete. Nedefinujte parametry pro hodnoty, které jsou konstantní. Každá hodnota parametru se v šabloně použije k definování nasazovaných prostředků.
Při definování parametrů použijte pole allowedValues k určení hodnot, které uživatel může poskytnout během nasazení. Pokud během nasazování není k dispozici žádná hodnota, použijte pole defaultValue k přiřazení hodnoty k parametru.
Jednotlivé parametry v šabloně popíšeme.
Sitename
Název webové aplikace, kterou chcete vytvořit.
"siteName":{
"type":"string"
}
hostingPlanName
Název plánu služby App Service, který se má použít k hostování webové aplikace.
"hostingPlanName":{
"type":"string"
}
sku
Cenová úroveň pro plán hostování.
"sku": {
"type": "string",
"allowedValues": [
"F1",
"D1",
"B1",
"B2",
"B3",
"S1",
"S2",
"S3",
"P1",
"P2",
"P3",
"P4"
],
"defaultValue": "S1",
"metadata": {
"description": "The pricing tier for the hosting plan."
}
}
Šablona definuje hodnoty, které jsou pro tento parametr povoleny, a přiřadí výchozí hodnotu, pokud není zadána žádná hodnota S1
.
workerSize
Velikost instance plánu hostování (malý, střední nebo velký).
"workerSize":{
"type":"string",
"allowedValues":[
"0",
"1",
"2"
],
"defaultValue":"0"
}
Šablona definuje hodnoty, které jsou pro tento parametr povoleny (0
1
, nebo2
) a přiřadí výchozí hodnotu, pokud není zadána žádná hodnota0
. Hodnoty odpovídají malým, středním a velkým hodnotám.
cacheSKUName
Cenová úroveň nové služby Azure Cache for Redis.
"cacheSKUName": {
"type": "string",
"allowedValues": [
"Basic",
"Standard",
"Premium"
],
"defaultValue": "Basic",
"metadata": {
"description": "The pricing tier of the new Azure Cache for Redis."
}
},
Šablona definuje hodnoty povolené pro tento parametr (Basic, Standard nebo Premium) a přiřazuje výchozí hodnotu (Basic), pokud není zadána žádná hodnota. Basic poskytuje jeden uzel s více velikostmi dostupnými až 53 GB. Standard poskytuje primární/repliku se dvěma uzly s více velikostmi dostupnými až 53 GB a smlouvou SLA o velikosti 99,9 %.
cacheSKUFamily
Rodina pro skladovou položku.
"cacheSKUFamily": {
"type": "string",
"allowedValue/s": [
"C",
"P"
],
"defaultValue": "C",
"metadata": {
"description": "The family for the sku."
}
},
cacheSKUCapacity
Velikost nové instance Azure Cache for Redis.
Pro rodiny Basic a Standard:
"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. "
}
}
Kapacita mezipaměti s hodnotou Premium je definována stejně, s výjimkou povolených hodnot spuštěných od 1 do 5 místo od 0 do 6.
Šablona definuje celočíselné hodnoty, které jsou pro tento parametr povoleny (0 až 6 pro rodiny Basic a Standard; 1 až 5 pro řadu Premium). Pokud není zadána žádná hodnota, šablona přiřadí výchozí hodnotu 0 pro Basic a Standard 1 pro Premium.
Hodnoty odpovídají následujícím velikostem mezipaměti:
Hodnota | Basic a Standard velikost mezipaměti |
Premium velikost mezipaměti |
---|---|---|
0 | 250 MB (výchozí) | Není k dispozici |
0 | 1 GB | 6 GB (výchozí) |
2 | 2.5 GB | 13 GB |
3 | 6 GB | 26 GB |
4 | 13 GB | 53 GB |
5 | 26 GB | 120 GB |
6 | 53 GB | Není k dispozici |
Proměnné pro názvy
Tato šablona používá proměnné k vytvoření názvů prostředků. Používá funkci uniqueString k vytvoření hodnoty na základě ID skupiny prostředků.
"variables": {
"hostingPlanName": "[concat('hostingplan', uniqueString(resourceGroup().id))]",
"webSiteName": "[concat('webSite', uniqueString(resourceGroup().id))]",
"cacheName": "[concat('cache', uniqueString(resourceGroup().id))]"
},
Prostředky k nasazení
Plán služby App Service
Vytvoří plán služby pro hostování webové aplikace. Název plánu zadáte prostřednictvím parametru hostingPlanName . Umístění plánu je stejné umístění, které se používá pro skupinu prostředků. Cenová úroveň a velikost pracovního procesu se zadají v parametrech skladové položky a workerSize .
{
"apiVersion": "2015-08-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[resourceGroup().location]",
"sku": {
"name": "[parameters('sku')]",
"capacity": "[parameters('workerSize')]"
},
"properties": {
"name": "[parameters('hostingPlanName')]"
}
},
Azure Cache for Redis
Vytvoří Azure Cache for Redis, který se používá s webovou aplikací. Název mezipaměti se zadává v proměnné cacheName .
Šablona vytvoří mezipaměť ve stejném umístění jako skupina prostředků.
{
"name": "[variables('cacheName')]",
"type": "Microsoft.Cache/Redis",
"location": "[resourceGroup().location]",
"apiVersion": "2015-08-01",
"dependsOn": [ ],
"tags": {
"displayName": "cache"
},
"properties": {
"sku": {
"name": "[parameters('cacheSKUName')]",
"family": "[parameters('cacheSKUFamily')]",
"capacity": "[parameters('cacheSKUCapacity')]"
}
}
}
Webová aplikace (Azure Cache for Redis)
Vytvoří webovou aplikaci s názvem zadaným v proměnné webSiteName .
Všimněte si, že webová aplikace je nakonfigurovaná s vlastnostmi nastavení aplikace, které jí umožňují pracovat se službou Azure Cache for Redis. Tato nastavení aplikace se dynamicky vytvářejí na základě hodnot zadaných během nasazování.
{
"apiVersion": "2015-08-01",
"name": "[variables('webSiteName')]",
"type": "Microsoft.Web/sites",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Web/serverFarms/', variables('hostingPlanName'))]"
],
"tags": {
"[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', variables('hostingPlanName'))]": "empty",
"displayName": "Website"
},
"properties": {
"name": "[variables('webSiteName')]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]"
},
"resources": [
{
"apiVersion": "2015-08-01",
"type": "config",
"name": "appsettings",
"dependsOn": [
"[concat('Microsoft.Web/Sites/', variables('webSiteName'))]",
"[concat('Microsoft.Cache/Redis/', variables('cacheName'))]"
],
"properties": {
"CacheConnection": "[concat(variables('cacheHostName'),'.redis.cache.windows.net,abortConnect=false,ssl=true,password=', listKeys(resourceId('Microsoft.Cache/Redis', variables('cacheName')), '2015-08-01').primaryKey)]"
}
}
]
}
Webová aplikace (RedisEnterprise)
Pro RedisEnterprise, protože typy prostředků jsou mírně odlišné, způsob, jak provést listKeys , je odlišný:
{
"apiVersion": "2015-08-01",
"name": "[variables('webSiteName')]",
"type": "Microsoft.Web/sites",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Web/serverFarms/', variables('hostingPlanName'))]"
],
"tags": {
"[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', variables('hostingPlanName'))]": "empty",
"displayName": "Website"
},
"properties": {
"name": "[variables('webSiteName')]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]"
},
"resources": [
{
"apiVersion": "2015-08-01",
"type": "config",
"name": "appsettings",
"dependsOn": [
"[concat('Microsoft.Web/Sites/', variables('webSiteName'))]",
"[concat('Microsoft.Cache/RedisEnterprise/databases/', variables('cacheName'), "/default")]",
],
"properties": {
"CacheConnection": "[concat(variables('cacheHostName'),abortConnect=false,ssl=true,password=', listKeys(resourceId('Microsoft.Cache/RedisEnterprise', variables('cacheName'), 'default'), '2020-03-01').primaryKey)]"
}
}
]
}
Příkazy pro spuštění nasazení
Pokud chcete nasadit prostředky do Azure, musíte být přihlášení k účtu Azure a používat modul Azure Resource Manager. Další informace o použití Azure Resource Manageru s Azure PowerShellem nebo Azure CLI najdete v tématech:
Následující příklady předpokládají, že v účtu již máte skupinu prostředků s daným názvem.
PowerShell
New-AzResourceGroupDeployment -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/web-app-with-redis-cache/azuredeploy.json -ResourceGroupName ExampleDeployGroup
Azure CLI
azure group deployment create --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.web/web-app-with-redis-cache/azuredeploy.json -g ExampleDeployGroup