Cloud Services (kiterjesztett támogatás) üzembe helyezése ARM-sablon használatával
Ez a cikk bemutatja, hogyan használhat Azure Resource Manager-sablont (ARM-sablont) az Azure Cloud Services (kiterjesztett támogatás) üzembe helyezéséhez.
Előfeltételek
Az üzembe helyezés ARM-sablonok használatával történő létrehozásának előfeltételeként hajtsa végre az alábbi lépéseket.
Tekintse át a Cloud Services üzembehelyezési előfeltételeit (kiterjesztett támogatás), és hozza létre a szükséges erőforrásokat.
Hozzon létre egy új erőforráscsoportot az Azure Portal vagy az Azure PowerShell használatával. Ez a lépés nem kötelező, ha meglévő erőforráscsoportot használ.
Hozzon létre egy új tárfiókot az Azure Portal vagy az Azure PowerShell használatával. Ez a lépés nem kötelező, ha meglévő tárfiókot használ.
Töltse fel a csomagfájlt (.cspkg vagy .zip) és konfigurációs (.cscfg) fájlt a tárfiókba az Azure Portal vagy az Azure PowerShell használatával. Mentse a közös hozzáférésű jogosultságkód (SAS) URI-kat mindkét fájlhoz, hogy hozzáadja az ARM-sablonhoz egy későbbi lépésben.
(Nem kötelező) Hozzon létre egy kulcstartót, és töltse fel a tanúsítványokat.
- Tanúsítványokat csatolhat az üzembe helyezéshez a szolgáltatással és a szolgáltatással való biztonságos kommunikációhoz. Tanúsítványok használata esetén a tanúsítvány ujjlenyomatait meg kell adni a konfigurációs (.cscfg) fájlban, és fel kell tölteni egy kulcstartóba. Kulcstartót az Azure Portal vagy az Azure PowerShell használatával hozhat létre.
- A társított kulcstartónak ugyanabban a régióban és előfizetésben kell lennie, mint a Cloud Services (kiterjesztett támogatás) üzembe helyezése.
- A társított kulcstartónak rendelkeznie kell a megfelelő engedélyekkel, hogy a Cloud Services (kiterjesztett támogatási) erőforrások le tudják kérni a tanúsítványokat a kulcstartóból. További információ: Tanúsítványok használata a Cloud Services szolgáltatással (kiterjesztett támogatás).
- A kulcstartóra az
osProfile
ARM-sablon egy későbbi lépésben látható szakaszában kell hivatkozni.
Cloud Services üzembe helyezése (kiterjesztett támogatás)
Cloud Services (kiterjesztett támogatás) üzembe helyezése sablon használatával:
Feljegyzés
Az ARM-sablon és paraméterfájl létrehozásának egyszerűbb és gyorsabb módja az Azure Portal használata. A létrehozott ARM-sablont letöltheti a portálról a Cloud Services (kiterjesztett támogatás) létrehozásához az Azure PowerShell használatával.
Hozzon létre egy virtuális hálózatot. A virtuális hálózat nevének meg kell egyeznie a konfigurációs (.cscfg) fájlban található virtuális hálózati hivatkozásokkal. Ha meglévő virtuális hálózatot használ, hagyja ki ezt a szakaszt az ARM-sablonból.
"resources": [ { "apiVersion": "2019-08-01", "type": "Microsoft.Network/virtualNetworks", "name": "[parameters('vnetName')]", "location": "[parameters('location')]", "properties": { "addressSpace": { "addressPrefixes": [ "10.0.0.0/16" ] }, "subnets": [ { "name": "WebTier", "properties": { "addressPrefix": "10.0.0.0/24" } } ] } } ]
Ha új virtuális hálózatot hoz létre, adja hozzá a következő sorokat a
dependsOn
szakaszhoz, hogy a platform a Cloud Services (kiterjesztett támogatás) példány létrehozása előtt hozza létre a virtuális hálózatot:"dependsOn": [ "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]" ]
Hozzon létre egy nyilvános IP-címet, és (opcionálisan) állítsa be a nyilvános IP-cím DNS-címketulajdonságát. Ha statikus IP-címet használ, fenntartott IP-címként kell hivatkoznia rá a konfigurációs (.cscfg) fájlban. Ha meglévő IP-címet használ, hagyja ki ezt a lépést, és adja hozzá közvetlenül az IP-címadatokat az ARM-sablon terheléselosztó konfigurációs beállításaihoz.
"resources": [ { "apiVersion": "2019-08-01", "type": "Microsoft.Network/publicIPAddresses", "name": "[parameters('publicIPName')]", "location": "[parameters('location')]", "properties": { "publicIPAllocationMethod": "Dynamic", "idleTimeoutInMinutes": 10, "publicIPAddressVersion": "IPv4", "dnsSettings": { "domainNameLabel": "[variables('dnsName')]" } }, "sku": { "name": "Basic" } } ]
Ha új IP-címet hoz létre, adja hozzá a következő sorokat a
dependsOn
szakaszhoz, hogy a platform létrehozza az IP-címet a Cloud Services (kiterjesztett támogatás) példány létrehozása előtt:"dependsOn": [ "[concat('Microsoft.Network/publicIPAddresses/', parameters('publicIPName'))]" ]
Hozzon létre egy Cloud Services-objektumot (kiterjesztett támogatás). Adjon hozzá releváns
dependsOn
hivatkozásokat, ha virtuális hálózatokat vagy nyilvános IP-címeket helyez üzembe a sablonban.{ "apiVersion": "2021-03-01", "type": "Microsoft.Compute/cloudServices", "name": "[variables('cloudServiceName')]", "location": "[parameters('location')]", "tags": { "DeploymentLabel": "[parameters('deploymentLabel')]", "DeployFromVisualStudio": "true" }, "dependsOn": [ "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]", "[concat('Microsoft.Network/publicIPAddresses/', parameters('publicIPName'))]" ], "properties": { "packageUrl": "[parameters('packageSasUri')]", "configurationUrl": "[parameters('configurationSasUri')]", "upgradeMode": "[parameters('upgradeMode')]" } }
Hozzon létre egy hálózati profilobjektumot az üzembe helyezéshez, és társítsa a nyilvános IP-címet a terheléselosztó előtéréhez. Az Azure platform automatikusan létrehoz egy terheléselosztót.
"networkProfile": { "loadBalancerConfigurations": [ { "id": "[concat(variables('resourcePrefix'), 'Microsoft.Network/loadBalancers/', variables('lbName'))]", "name": "[variables('lbName')]", "properties": { "frontendIPConfigurations": [ { "name": "[variables('lbFEName')]", "properties": { "publicIPAddress": { "id": "[concat(variables('resourcePrefix'), 'Microsoft.Network/publicIPAddresses/', parameters('publicIPName'))]" } } } ] } } ] }
Adja hozzá a kulcstartóra vonatkozó referenciát az
osProfile
ARM-sablon szakaszában. A kulcstartó a Cloud Serviceshez (kiterjesztett támogatás) társított tanúsítványokat tárolja. Adja hozzá a tanúsítványokat a kulcstartóhoz, majd hivatkozzon a tanúsítvány ujjlenyomatára a konfigurációs (.cscfg) fájlban. Emellett állítsa be az Azure-beli virtuális gépek kulcstartó-hozzáférési szabályzatát az Azure Portalon való üzembe helyezéshez , hogy a Cloud Services (kiterjesztett támogatási) erőforrás lekérhesse a kulcstartóban titkos kulcsként tárolt tanúsítványokat. A kulcstartónak ugyanabban a régióban és előfizetésben kell lennie, mint a Cloud Services (kiterjesztett támogatási) erőforrásnak, és egyedi névvel kell rendelkeznie. További információ: Tanúsítványok használata a Cloud Services szolgáltatással (kiterjesztett támogatás)."osProfile": { "secrets": [ { "sourceVault": { "id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.KeyVault/vaults/{keyvault-name}" }, "vaultCertificates": [ { "certificateUrl": "https://{keyvault-name}.vault.azure.net:443/secrets/ContosoCertificate/{secret-id}" } ] } ] }
Feljegyzés
sourceVault
az ARM-sablonban a kulcstartó erőforrás-azonosítójának értéke. Ezeket az információkat a kulcstartó Tulajdonságok szakaszában található erőforrás-azonosító megkeresésével szerezheti be.- Az érték lekéréséhez
certificateUrl
lépjen a titkos azonosító címkével ellátott kulcstartóban lévő tanúsítványra. certificateUrl
a következő formábanhttps://{keyvault-endpoint}/secrets/{secret-name}/{secret-id}
kell lennie: .
- Az érték lekéréséhez
Szerepkörprofil létrehozása. Győződjön meg arról, hogy a szerepkörök száma, az egyes szerepkörök példányainak száma, a szerepkörnevek és a szerepkörméretek megegyeznek a konfigurációs (.cscfg) fájlban, a definíciófájlban (.csdef) és az
roleProfile
ARM-sablon szakaszában."roleProfile": { "roles": { "value": [ { "name": "WebRole1", "sku": { "name": "Standard_D1_v2", "capacity": "1" } }, { "name": "WorkerRole1", "sku": { "name": "Standard_D1_v2", "capacity": "1" } } ] } }
(Nem kötelező) Hozzon létre egy bővítményprofilt, amely bővítményeket ad hozzá a Cloud Services (kiterjesztett támogatás) üzembe helyezéséhez. Az alábbi példa hozzáadja a Remote Desktop Protocol (RDP) bővítményt és az Azure Diagnostics bővítményt.
Feljegyzés
Az RDP jelszavának 8 és 123 karakter közöttinek kell lennie, és az alábbi jelszó-összetettségi követelmények közül legalább háromnak meg kell felelnie:
Nagybetűs karaktert tartalmaz.
Kisbetűs karaktert tartalmaz.
Numerikus számjegyet tartalmaz.
Speciális karaktert tartalmaz.
Vezérlőkarakte nem tartalmazható."extensionProfile": { "extensions": [ { "name": "RDPExtension", "properties": { "autoUpgradeMinorVersion": true, "publisher": "Microsoft.Windows.Azure.Extensions", "type": "RDP", "typeHandlerVersion": "1.2.1", "settings": "<PublicConfig>\r\n <UserName>[Insert Username]</UserName>\r\n <Expiration>1/21/2022 12:00:00 AM</Expiration>\r\n</PublicConfig>", "protectedSettings": "<PrivateConfig>\r\n <Password>[Insert Password]</Password>\r\n</PrivateConfig>" } }, { "name": "Microsoft.Insights.VMDiagnosticsSettings_WebRole1", "properties": { "autoUpgradeMinorVersion": true, "publisher": "Microsoft.Azure.Diagnostics", "type": "PaaSDiagnostics", "typeHandlerVersion": "1.5", "settings": "[parameters('wadPublicConfig_WebRole1')]", "protectedSettings": "[parameters('wadPrivateConfig_WebRole1')]", "rolesAppliedTo": [ "WebRole1" ] } } ] }
Tekintse át a teljes sablont:
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "cloudServiceName": { "type": "string", "metadata": { "description": "Name of the cloud service" } }, "location": { "type": "string", "metadata": { "description": "Location of the cloud service" } }, "deploymentLabel": { "type": "string", "metadata": { "description": "Label of the deployment" } }, "packageSasUri": { "type": "securestring", "metadata": { "description": "SAS URI of the package (.cspkg) file to deploy" } }, "configurationSasUri": { "type": "securestring", "metadata": { "description": "SAS URI of the configuration (.cscfg) file" } }, "roles": { "type": "array", "metadata": { "description": "Roles created in the cloud service application" } }, "wadPublicConfig_WebRole1": { "type": "string", "metadata": { "description": "Public configuration of the Azure Diagnostics extension" } }, "wadPrivateConfig_WebRole1": { "type": "securestring", "metadata": { "description": "Private configuration of the Azure Diagnostics extension" } }, "vnetName": { "type": "string", "defaultValue": "[concat(parameters('cloudServiceName'), 'VNet')]", "metadata": { "description": "Name of vitual network" } }, "publicIPName": { "type": "string", "defaultValue": "contosocsIP", "metadata": { "description": "Name of public IP address" } }, "upgradeMode": { "type": "string", "defaultValue": "Auto", "metadata": { "UpgradeMode": "UpgradeMode of the CloudService" } } }, "variables": { "cloudServiceName": "[parameters('cloudServiceName')]", "subscriptionID": "[subscription().subscriptionId]", "dnsName": "[variables('cloudServiceName')]", "lbName": "[concat(variables('cloudServiceName'), 'LB')]", "lbFEName": "[concat(variables('cloudServiceName'), 'LBFE')]", "resourcePrefix": "[concat('/subscriptions/', variables('subscriptionID'), '/resourceGroups/', resourceGroup().name, '/providers/')]" }, "resources": [ { "apiVersion": "2019-08-01", "type": "Microsoft.Network/virtualNetworks", "name": "[parameters('vnetName')]", "location": "[parameters('location')]", "properties": { "addressSpace": { "addressPrefixes": [ "10.0.0.0/16" ] }, "subnets": [ { "name": "WebTier", "properties": { "addressPrefix": "10.0.0.0/24" } } ] } }, { "apiVersion": "2019-08-01", "type": "Microsoft.Network/publicIPAddresses", "name": "[parameters('publicIPName')]", "location": "[parameters('location')]", "properties": { "publicIPAllocationMethod": "Dynamic", "idleTimeoutInMinutes": 10, "publicIPAddressVersion": "IPv4", "dnsSettings": { "domainNameLabel": "[variables('dnsName')]" } }, "sku": { "name": "Basic" } }, { "apiVersion": "2021-03-01", "type": "Microsoft.Compute/cloudServices", "name": "[variables('cloudServiceName')]", "location": "[parameters('location')]", "tags": { "DeploymentLabel": "[parameters('deploymentLabel')]", "DeployFromVisualStudio": "true" }, "dependsOn": [ "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]", "[concat('Microsoft.Network/publicIPAddresses/', parameters('publicIPName'))]" ], "properties": { "packageUrl": "[parameters('packageSasUri')]", "configurationUrl": "[parameters('configurationSasUri')]", "upgradeMode": "[parameters('upgradeMode')]", "roleProfile": { "roles": [ { "name": "WebRole1", "sku": { "name": "Standard_D1_v2", "capacity": "1" } }, { "name": "WorkerRole1", "sku": { "name": "Standard_D1_v2", "capacity": "1" } } ] }, "networkProfile": { "loadBalancerConfigurations": [ { "id": "[concat(variables('resourcePrefix'), 'Microsoft.Network/loadBalancers/', variables('lbName'))]", "name": "[variables('lbName')]", "properties": { "frontendIPConfigurations": [ { "name": "[variables('lbFEName')]", "properties": { "publicIPAddress": { "id": "[concat(variables('resourcePrefix'), 'Microsoft.Network/publicIPAddresses/', parameters('publicIPName'))]" } } } ] } } ] }, "osProfile": { "secrets": [ { "sourceVault": { "id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.KeyVault/vaults/{keyvault-name}" }, "vaultCertificates": [ { "certificateUrl": "https://{keyvault-name}.vault.azure.net:443/secrets/ContosoCertificate/{secret-id}" } ] } ] }, "extensionProfile": { "extensions": [ { "name": "RDPExtension", "properties": { "autoUpgradeMinorVersion": true, "publisher": "Microsoft.Windows.Azure.Extensions", "type": "RDP", "typeHandlerVersion": "1.2.1", "settings": "<PublicConfig>\r\n <UserName>[Insert Username]</UserName>\r\n <Expiration>1/21/2022 12:00:00 AM</Expiration>\r\n</PublicConfig>", "protectedSettings": "<PrivateConfig>\r\n <Password>[Insert Password]</Password>\r\n</PrivateConfig>" } }, { "name": "Microsoft.Insights.VMDiagnosticsSettings_WebRole1", "properties": { "autoUpgradeMinorVersion": true, "publisher": "Microsoft.Azure.Diagnostics", "type": "PaaSDiagnostics", "typeHandlerVersion": "1.5", "settings": "[parameters('wadPublicConfig_WebRole1')]", "protectedSettings": "[parameters('wadPrivateConfig_WebRole1')]", "rolesAppliedTo": [ "WebRole1" ] } } ] } } } ] }
A Cloud Services (kiterjesztett támogatás) üzembe helyezéséhez telepítse a sablont és a paraméterfájlt (a sablonfájl paramétereinek meghatározásához). Ezeket a mintasablonokat használhatja.
New-AzResourceGroupDeployment -ResourceGroupName "ContosOrg" -TemplateFile "file path to your template file" -TemplateParameterFile "file path to your parameter file"
Kapcsolódó tartalom
- Tekintse át a Cloud Servicesre (kiterjesztett támogatás) vonatkozó gyakori kérdéseket .
- A Cloud Services (kiterjesztett támogatás) üzembe helyezése az Azure Portal, az Azure PowerShell vagy a Visual Studio használatával.
- Látogasson el a Cloud Services (kiterjesztett támogatás) mintaadattárába.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: