Distribuera Azure Spot Virtual Machines med hjälp av en Resource Manager-mall
Gäller för: ✔️ Virtuella Linux-datorer
Med Azure Spot Virtual Machines kan du dra nytta av vår outnyttjade kapacitet till betydande kostnadsbesparingar. När som helst när Azure behöver tillbaka kapaciteten avlägsnar Azure-infrastrukturen virtuella Azure-datorer för oanvänd kapacitet. Virtuella Azure Spot-datorer är utmärkta för arbetsbelastningar som kan hantera avbrott som batchbearbetningsjobb, utvecklings-/testmiljöer, stora beräkningsarbetsbelastningar med mera.
Prissättningen för Azure Spot Virtual Machines är variabel, baserat på region och SKU. Mer information finns i Priser för virtuella datorer för Linux och Windows.
Du kan välja att ange ett högsta pris som du är villig att betala per timme för den virtuella datorn. Maxpriset för en virtuell Azure-dator för oanvänd kapacitet kan anges i US-dollar (USD) med upp till fem decimaler. Värdet 0.98765
skulle till exempel vara ett maxpris på 0,98765 USD per timme. Om du anger maxpriset till -1
baseras inte borttagningen av virtuella datorer på pris och priset är det aktuella priset för virtuella Azure-datorer för oanvänd kapacitet eller priset för en virtuell standarddator, beroende på vilket som är mindre, så länge det finns kapacitet och kvoter tillgängliga. Mer information om hur du anger maxpriset finns i Virtuella Azure Spot-datorer – prissättning.
Använda en mall
Använd eller senare för distribution av mallar"apiVersion": "2019-03-01"
för virtuella Azure-datorer med oanvänd kapacitet. priority
Lägg till egenskaperna , evictionPolicy
och billingProfile
i i mallen:
"priority": "Spot",
"evictionPolicy": "Deallocate",
"billingProfile": {
"maxPrice": -1
}
Här är en exempelmall med tillagda egenskaper för en virtuell Azure-dator för oanvänd kapacitet. Ersätt resursnamnen med dina egna och <password>
med ett lösenord för det lokala administratörskontot på den virtuella datorn.
{
"$schema": "http://schema.management.azure.com/schemas/2019-03-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
},
"variables": {
"vnetId": "/subscriptions/ec9fcd04-e188-48b9-abfc-abcd515f1836/resourceGroups/spotVM/providers/Microsoft.Network/virtualNetworks/spotVM",
"subnetName": "default",
"networkInterfaceName": "spotVMNIC",
"publicIpAddressName": "spotVM-ip",
"publicIpAddressType": "Dynamic",
"publicIpAddressSku": "Basic",
"virtualMachineName": "spotVM",
"osDiskType": "Premium_LRS",
"virtualMachineSize": "Standard_D2s_v3",
"adminUsername": "azureuser",
"adminPassword": "<password>",
"diagnosticsStorageAccountName": "diagstoragespot2019",
"diagnosticsStorageAccountId": "Microsoft.Storage/storageAccounts/diagstoragespot2019",
"diagnosticsStorageAccountType": "Standard_LRS",
"diagnosticsStorageAccountKind": "Storage",
"subnetRef": "[concat(variables('vnetId'), '/subnets/', variables('subnetName'))]"
},
"resources": [
{
"name": "spotVM",
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2019-03-01",
"location": "eastus",
"dependsOn": [
"[concat('Microsoft.Network/publicIpAddresses/', variables('publicIpAddressName'))]"
],
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"subnet": {
"id": "[variables('subnetRef')]"
},
"privateIPAllocationMethod": "Dynamic",
"publicIpAddress": {
"id": "[resourceId(resourceGroup().name, 'Microsoft.Network/publicIpAddresses', variables('publicIpAddressName'))]"
}
}
}
]
}
},
{
"name": "[variables('publicIpAddressName')]",
"type": "Microsoft.Network/publicIpAddresses",
"apiVersion": "2019-02-01",
"location": "eastus",
"properties": {
"publicIpAllocationMethod": "[variables('publicIpAddressType')]"
},
"sku": {
"name": "[variables('publicIpAddressSku')]"
}
},
{
"name": "[variables('virtualMachineName')]",
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2019-03-01",
"location": "eastus",
"dependsOn": [
"[concat('Microsoft.Network/networkInterfaces/', variables('networkInterfaceName'))]",
"[concat('Microsoft.Storage/storageAccounts/', variables('diagnosticsStorageAccountName'))]"
],
"properties": {
"hardwareProfile": {
"vmSize": "[variables('virtualMachineSize')]"
},
"storageProfile": {
"osDisk": {
"createOption": "fromImage",
"managedDisk": {
"storageAccountType": "[variables('osDiskType')]"
}
},
"imageReference": {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "22.04-LTS",
"version": "latest"
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('networkInterfaceName'))]"
}
]
},
"osProfile": {
"computerName": "[variables('virtualMachineName')]",
"adminUsername": "[variables('adminUsername')]",
"adminPassword": "[variables('adminPassword')]"
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "[concat('https://', variables('diagnosticsStorageAccountName'), '.blob.core.windows.net/')]"
}
},
"priority": "Spot",
"evictionPolicy": "Deallocate",
"billingProfile": {
"maxPrice": -1
}
}
},
{
"name": "[variables('diagnosticsStorageAccountName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-04-01",
"location": "eastus",
"properties": {},
"kind": "[variables('diagnosticsStorageAccountKind')]",
"sku": {
"name": "[variables('diagnosticsStorageAccountType')]"
}
}
],
"outputs": {
"adminUsername": {
"type": "string",
"value": "[variables('adminUsername')]"
}
}
}
Simulera en avlägsning
Du kan simulera en borttagning av en virtuell Azure-dator för oanvänd kapacitet för att testa programmets svar på en plötslig borttagning.
Ersätt parametrarna nedan med din information:
subscriptionId
resourceGroupName
vmName
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction?api-version=2020-06-01
Nästa steg
- Du kan också skapa en virtuell Azure-dator för oanvänd kapacitet med hjälp av Azure PowerShell eller Azure CLI.
- Mer information om aktuella priser för virtuella Azure-datorer med oanvänd kapacitet finns i API för azure-detaljhandelspriser. Både
meterName
ochskuName
innehållerSpot
. - Mer information om ett fel finns i Felkoder.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för