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:

MultiNIC-scenario

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ö.

  1. Ändra värdena för variablerna nedan baserat på din befintliga resursgrupp som distribuerats ovan i Krav.

     $location              = "West US"
     $vnetName              = "WTestVNet"
     $backendSubnetName     = "BackEnd"
    
  2. Ä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:

  1. Skapa en ny molntjänst.

     New-AzureService -ServiceName $backendCSName -Location $location
    
  2. Skapa ett nytt premiumlagringskonto.

     New-AzureStorageAccount -StorageAccountName $prmStorageAccountName `
     -Location $location -Type Premium_LRS
    
  3. 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
    
  4. 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
    
  5. 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.

  1. 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++){
    
  2. 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
    
  3. Etablera den virtuella datorn som en virtuell Windows-dator.

     Add-AzureProvisioningConfig -VM $vmConfig -Windows `
     	-AdminUsername $cred.UserName `
     	-Password $cred.GetNetworkCredential().Password
    
  4. Ange standard-NIC och tilldela det en statisk IP-adress.

     Set-AzureSubnet			-SubnetNames $backendSubnetName -VM $vmConfig
     Set-AzureStaticVNetIP 	-IPAddress ($ipAddressPrefix+$suffixNumber+3) -VM $vmConfig
    
  5. 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
    
  6. 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
    
  7. 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.

  1. 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'.
    
  2. 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: