Skapa en virtuell dator (klassisk) med flera nätverkskort med Hjälp av PowerShell
Du kan skapa virtuella datorer i Azure och koppla flera nätverksgränssnitt till var och en av dina virtuella datorer. Flera nätverkskort möjliggör separation av trafiktyper mellan nätverkskort. Ett nätverkskort kan till exempel kommunicera med Internet, medan ett annat endast kommunicerar med interna resurser som inte är anslutna till Internet. Möjligheten att separera nätverkstrafik mellan flera nätverkskort krävs för många virtuella nätverksinstallationer, till exempel programleverans och WAN-optimeringslösningar.
Viktigt
Azure har två olika distributionsmodeller för att skapa och arbeta med resurser: Resource Manager och klassisk. Den här artikeln beskriver den klassiska distributionsmodellen. Microsoft rekommenderar att de flesta nya distributioner använder Resource Manager-modellen. Lär dig hur du utför de här stegen med hjälp av Resource Manager-distributionsmodellen.
Scenario
Det här dokumentet går igenom en distribution som använder flera nätverkskort i virtuella datorer i ett specifikt scenario. I det här scenariot har du en IaaS-arbetsbelastning med två nivåer i Azure. Varje nivå distribueras i ett eget undernät i ett virtuellt nätverk (VNet). Klientdelsnivån består av flera webbservrar, grupperade i en lastbalanserare för hög tillgänglighet. Serverdelsnivån består av flera databasservrar. Databasservrarna distribueras med två nätverkskort vardera, en för databasåtkomst, den andra för hantering. Scenariot innehåller även nätverkssäkerhetsgrupper (NSG:er) för att styra vilken trafik som tillåts till varje undernät och nätverkskort i distributionen. Följande bild visar den grundläggande arkitekturen i det här scenariot:
Följande steg använder en resursgrupp med namnet IaaSStory för WEBB-servrarna och en resursgrupp med namnet IaaSStory-BackEnd för DB-servrarna .
Förutsättningar
Innan du kan skapa DB-servrarna måste du skapa resursgruppen IaaSStory med alla nödvändiga resurser för det här scenariot. Utför stegen nedan för att skapa dessa resurser. Skapa ett virtuellt nätverk genom att följa stegen i artikeln Skapa ett virtuellt nätverk .
Förutsättning: Installera Azure PowerShell-modulen
Om du vill utföra stegen i den här artikeln, måste du installera och konfigurera Azure PowerShell-modulen. Glöm inte att slutföra alla instruktionerna. När installationen är klar, loggar du in på Azure och väljer din prenumeration.
Anteckning
Du behöver ett Azure-konto för att kunna slutföra de här stegen. Om du inte har något Azure-konto kan du registrera dig för en kostnadsfri utvärderingsversion.
Skapa de virtuella serverdelsdatorerna
De virtuella serverdelsdatorerna är beroende av att följande resurser skapas:
- Serverdelsundernät. Databasservrarna kommer att ingå i ett separat undernät för att separera trafik. Skriptet nedan förväntar sig att det här undernätet finns i ett virtuellt nätverk med namnet WTestVnet.
- Lagringskonto för datadiskar. För bättre prestanda använder datadiskarna på databasservrarna SSD-teknik (Solid State Drive), vilket kräver ett premiumlagringskonto. Kontrollera den Azure-plats som du distribuerar för att stödja Premium Storage.
- Tillgänglighetsuppsättning. Alla databasservrar läggs till i en enda tillgänglighetsuppsättning för att säkerställa att minst en av de virtuella datorerna är igång under underhållet.
Steg 1 – Starta skriptet
Du kan ladda ned det fullständiga PowerShell-skriptet som används här. Följ stegen nedan för att ändra skriptet så att det fungerar i din miljö.
Ändra värdena för variablerna nedan baserat på din befintliga resursgrupp som distribuerats ovan i Krav.
$location = "West US" $vnetName = "WTestVNet" $backendSubnetName = "BackEnd"
Ändra värdena för variablerna nedan baserat på de värden som du vill använda för serverdelsdistributionen.
$backendCSName = "IaaSStory-Backend" $prmStorageAccountName = "iaasstoryprmstorage" $avSetName = "ASDB" $vmSize = "Standard_DS3" $diskSize = 127 $vmNamePrefix = "DB" $dataDiskSuffix = "datadisk" $ipAddressPrefix = "192.168.2." $numberOfVMs = 2
Steg 2 – Skapa nödvändiga resurser för dina virtuella datorer
Du måste skapa en ny molntjänst och ett lagringskonto för datadiskarna för alla virtuella datorer. Du måste också ange en avbildning och ett lokalt administratörskonto för de virtuella datorerna. Utför följande steg för att skapa dessa resurser:
Skapa en ny molntjänst.
New-AzureService -ServiceName $backendCSName -Location $location
Skapa ett nytt premiumlagringskonto.
New-AzureStorageAccount -StorageAccountName $prmStorageAccountName ` -Location $location -Type Premium_LRS
Ange lagringskontot som skapades ovan som aktuellt lagringskonto för din prenumeration.
$subscription = Get-AzureSubscription | where {$_.IsCurrent -eq $true} Set-AzureSubscription -SubscriptionName $subscription.SubscriptionName ` -CurrentStorageAccountName $prmStorageAccountName
Välj en avbildning för den virtuella datorn.
$image = Get-AzureVMImage ` | where{$_.ImageFamily -eq "SQL Server 2014 RTM Web on Windows Server 2012 R2"} ` | sort PublishedDate -Descending ` | select -ExpandProperty ImageName -First 1
Ange autentiseringsuppgifterna för det lokala administratörskontot.
$cred = Get-Credential -Message "Enter username and password for local admin account"
Steg 3 – Skapa virtuella datorer
Du måste använda en loop för att skapa så många virtuella datorer som du vill och skapa nödvändiga nätverkskort och virtuella datorer i loopen. Kör följande steg för att skapa nätverkskort och virtuella datorer.
Starta en
for
loop för att upprepa kommandona för att skapa en virtuell dator och två nätverkskort så många gånger som behövs, baserat på variabelns$numberOfVMs
värde.for ($suffixNumber = 1; $suffixNumber -le $numberOfVMs; $suffixNumber++){
Skapa ett
VMConfig
objekt som anger avbildningen, storleken och tillgänglighetsuppsättningen för den virtuella datorn.$vmName = $vmNamePrefix + $suffixNumber $vmConfig = New-AzureVMConfig -Name $vmName ` -ImageName $image ` -InstanceSize $vmSize ` -AvailabilitySetName $avSetName
Etablera den virtuella datorn som en virtuell Windows-dator.
Add-AzureProvisioningConfig -VM $vmConfig -Windows ` -AdminUsername $cred.UserName ` -Password $cred.GetNetworkCredential().Password
Ange standard-NIC och tilldela det en statisk IP-adress.
Set-AzureSubnet -SubnetNames $backendSubnetName -VM $vmConfig Set-AzureStaticVNetIP -IPAddress ($ipAddressPrefix+$suffixNumber+3) -VM $vmConfig
Lägg till ett andra nätverkskort för varje virtuell dator.
Add-AzureNetworkInterfaceConfig -Name ("RemoteAccessNIC"+$suffixNumber) ` -SubnetName $backendSubnetName ` -StaticVNetIPAddress ($ipAddressPrefix+(53+$suffixNumber)) ` -VM $vmConfig
Skapa till datadiskar för varje virtuell dator.
$dataDisk1Name = $vmName + "-" + $dataDiskSuffix + "-1" Add-AzureDataDisk -CreateNew -VM $vmConfig ` -DiskSizeInGB $diskSize ` -DiskLabel $dataDisk1Name ` -LUN 0 $dataDisk2Name = $vmName + "-" + $dataDiskSuffix + "-2" Add-AzureDataDisk -CreateNew -VM $vmConfig ` -DiskSizeInGB $diskSize ` -DiskLabel $dataDisk2Name ` -LUN 1
Skapa varje virtuell dator och avsluta loopen.
New-AzureVM -VM $vmConfig ` -ServiceName $backendCSName ` -Location $location ` -VNetName $vnetName }
Steg 4 – Kör skriptet
Nu när du har laddat ned och ändrat skriptet baserat på dina behov kan du använda skriptet för att skapa de virtuella serverdelsdatabasdatorerna med flera nätverkskort.
Spara skriptet och kör det från PowerShell-kommandotolken eller PowerShell ISE. Du ser de första utdata som visas nedan.
OperationDescription OperationId OperationStatus New-AzureService xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Succeeded New-AzureStorageAccount xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Succeeded WARNING: No deployment found in service: 'IaaSStory-Backend'.
Fyll i den information som behövs i autentiseringsuppgifterna och klicka på OK. Följande utdata returneras.
New-AzureVM xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Succeeded New-AzureVM xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Succeeded
Steg 5 – Konfigurera routning i den virtuella datorns operativsystem
Azure DHCP tilldelar en standardgateway till det första (primära) nätverksgränssnittet som är kopplat till den virtuella datorn. Azure tilldelar inte en standardgateway till ytterligare (sekundära) nätverksgränssnitt som är kopplade till en virtuell dator. Du kan därför som standard inte kommunicera med resurser utanför det undernät som är ett sekundärt nätverksgränssnitt befinner sig i. Sekundära nätverksgränssnitt kan dock kommunicera med resurser utanför deras undernät. Information om hur du konfigurerar routning för sekundära nätverksgränssnitt finns i följande artiklar: