Подключение среды к виртуальной сети в лаборатории в Azure DevTest Labs
Служба Azure DevTest Labs упрощает создание виртуальных машин в лаборатории со встроенной сетью. Она имеет большую гибкость благодаря возможности создавать среды с несколькими виртуальными машинами. В этой статье показано, как подключать виртуальные машины в среде к виртуальной сети лаборатории. Одним из сценариев, в которых используется эта возможность, является настройка N-уровневого приложения с уровнем данных SQL Server, подключенным к виртуальной сети лаборатории, что позволяет тестировать виртуальные машины в лаборатории для доступа к ней.
Примечание.
Среды развертывания Azure (ADE) настоятельно рекомендуется создавать среды. ADE позволяет разработчикам быстро развертывать инфраструктуру приложений с помощью шаблонов на основе проектов, обеспечивая согласованные и безопасные среды для команд разработчиков.
Дополнительные сведения о средах развертывания Azure см . в документации по средам развертывания Azure.
Пример среды, использующей виртуальную сеть лаборатории
Ниже приведен простой шаблон среды, который подключает подсеть лаборатории. В этом примере параметр DTLSubnetId
представляет идентификатор подсети, в которой существует лаборатория. Он назначается: $(LabSubnetId)
, который автоматически разрешается DevTest Labs по идентификатору подсети лаборатории. Свойству Subnet сетевого интерфейса виртуальной машины в этом определении присваивается значение DTLSubnetId
, чтобы оно присоединялось к той же подсети.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"DTLEnvironVmStoretype": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_ZRS",
"Standard_GRS",
"Standard_RAGRS",
"Premium_LRS"
]
},
"DTLEnvironVmName": {
"type": "string",
"minLength": 1
},
"VmAdminUserName": {
"type": "string",
"minLength": 1
},
"VmAdminUserPassword": {
"type": "securestring"
},
"DTLEnvironVmOsVersion": {
"type": "string",
"defaultValue": "2012-R2-Datacenter",
"allowedValues": [
"2008-R2-SP1",
"2012-Datacenter",
"2012-R2-Datacenter",
"Windows-Server-Technical-Preview"
]
},
"DTLSubnetId": {
"type": "string",
"defaultValue": "$(LabSubnetId)"
}
},
"variables": {
"DTLEnvironStoreName": "[toLower([concat(parameters('DTLEnvironVmName'), 'storename')])]",
"DTLEnvironVmImagePublisher": "MicrosoftWindowsServer",
"DTLEnvironVmImageOffer": "WindowsServer",
"DTLEnvironVmOSDiskName": "[concat(parameters('DTLEnvironVmName'), 'OSDisk')]",
"DTLEnvironVmSize": "Standard_D2_v2",
"DTLEnvironVmStorageAccountContainerName": "vhds",
"DTLEnvironVmNicName": "[concat(parameters('DTLEnvironVmName'), 'NetworkInterface')]"
},
"resources": [{
"name": "[variables('DTLEnvironStoreName')]",
"type": "Microsoft.Storage/storageAccounts",
"location": "[resourceGroup().location]",
"apiVersion": "2016-01-01",
"sku": {
"name": "[parameters('DTLEnvironVmStoretype')]"
},
"dependsOn": [],
"tags": {
"displayName": "[variables('DTLEnvironStoreName')]"
},
"kind": "Storage"
},
{
"name": "[variables('DTLEnvironVmNicName')]",
"type": "Microsoft.Network/networkInterfaces",
"location": "southeastasia",
"apiVersion": "2016-03-30",
"dependsOn": [],
"tags": {
"displayName": "[variables('DTLEnvironVmNicName')]"
},
"properties": {
"ipConfigurations": [{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "[parameters('DTLSubnetId')]"
}
}
}]
}
},
{
"name": "[parameters('DTLEnvironVmName')]",
"type": "Microsoft.Compute/virtualMachines",
"location": "[resourceGroup().location]",
"apiVersion": "2015-06-15",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', variables('DTLEnvironStoreName'))]",
"[resourceId('Microsoft.Network/networkInterfaces', variables('DTLEnvironVmNicName'))]"
],
"tags": {
"displayName": "[parameters('DTLEnvironVmName')]"
},
"properties": {
"hardwareProfile": {
"vmSize": "[variables('DTLEnvironVmSize')]"
},
"osProfile": {
"computerName": "[parameters('DTLEnvironVmName')]",
"adminUsername": "[parameters('VmAdminUserName')]",
"adminPassword": "[parameters('VmAdminUserPassword')]"
},
"storageProfile": {
"imageReference": {
"publisher": "[variables('DTLEnvironVmImagePublisher')]",
"offer": "[variables('DTLEnvironVmImageOffer')]",
"sku": "[parameters('DTLEnvironVmOsVersion')]",
"version": "latest"
},
"osDisk": {
"name": "[variables('DTLEnvironVmOSDiskName')]",
"vhd": {
"uri": "[concat(reference(resourceId('Microsoft.Storage/storageAccounts', variables('DTLEnvironStoreName')), '2016-01-01').primaryEndpoints.blob, variables('DTLEnvironVmStorageAccountContainerName'), '/', variables('DTLEnvironVmOSDiskName'), '.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [{
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('DTLEnvironVmNicName'))]"
}]
}
}
}
],
"outputs": {}
}
Следующие шаги
Подробнее о выполнении этих операций в портале Azure см. в статье Перезапуск виртуальной машины.