Skapa en virtuell dator (klassisk) med flera nätverkskort med hjälp av klassiska Azure CLI
Du kan skapa virtuella datorer (VM) i Azure och koppla flera nätverksgränssnitt (NIC) 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 distributionsmodellen Resource Manager.
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:
I följande steg används 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 IaaSStory-resursgruppen med alla nödvändiga resurser för det här scenariot. Skapa de här resurserna genom att följa stegen nedan. Skapa ett virtuellt nätverk genom att följa stegen i artikeln Skapa ett virtuellt nätverk .
Krav: Installera Azure CLI
Om du vill utföra stegen i den här artikeln installerar du Azure CLI och loggar in på Azure.
Anteckning
Om du inte har något Azure-konto behöver du ett. Registrera dig för en kostnadsfri utvärderingsversion här. Om du vill följa med måste du dessutom ha antingen jq eller något annat JSON-parsningsverktyg eller bibliotek installerat.
Distribuera de virtuella serverdelsdatorerna
De virtuella serverdelsdatorerna är beroende av att följande resurser skapas:
- 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 att den Azure-plats som du distribuerar har stöd för Premium Storage.
- Nätverkskort. Varje virtuell dator har två nätverkskort, en för databasåtkomst och en för hantering.
- 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åll.
Steg 1 – Starta skriptet
Du kan ladda ned det fullständiga bash-skriptet som används här. Utför följande steg 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 distribueras ovan i Krav.
location="useast2" 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" image="0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1" avSetName="ASDB" vmSize="Standard_DS3" diskSize=127 vmNamePrefix="DB" osDiskName="osdiskdb" dataDiskPrefix="db" dataDiskName="datadisk" ipAddressPrefix="192.168.2." username='adminuser' password='adminP@ssw0rd' numberOfVMs=2
Steg 2 – Skapa nödvändiga resurser för dina virtuella datorer
Skapa en ny molntjänst för alla virtuella serverdelsdatorer. Observera användningen av variabeln
$backendCSName
för resursgruppens namn och$location
för Azure-regionen.azure service create --serviceName $backendCSName \ --location $location
Skapa ett Premium Storage-konto för operativsystemet och datadiskarna som ska användas av dina virtuella datorer.
azure storage account create $prmStorageAccountName \ --location $location \ --type PLRS
Steg 3 – Skapa virtuella datorer med flera nätverkskort
Starta en loop för att skapa flera virtuella datorer baserat på variablerna
numberOfVMs
.for ((suffixNumber=1;suffixNumber<=numberOfVMs;suffixNumber++)); do
För varje virtuell dator anger du namn och IP-adress för var och en av de två nätverkskorten.
nic1Name=$vmNamePrefix$suffixNumber-DA x=$((suffixNumber+3)) ipAddress1=$ipAddressPrefix$x nic2Name=$vmNamePrefix$suffixNumber-RA x=$((suffixNumber+53)) ipAddress2=$ipAddressPrefix$x
Skapa den virtuella datorn. Observera användningen av parametern
--nic-config
som innehåller en lista över alla nätverkskort med namn, undernät och IP-adress.azure vm create $backendCSName $image $username $password \ --connect $backendCSName \ --vm-name $vmNamePrefix$suffixNumber \ --vm-size $vmSize \ --availability-set $avSetName \ --blob-url $prmStorageAccountName.blob.core.windows.net/vhds/$osDiskName$suffixNumber.vhd \ --virtual-network-name $vnetName \ --subnet-names $backendSubnetName \ --nic-config $nic1Name:$backendSubnetName:$ipAddress1::,$nic2Name:$backendSubnetName:$ipAddress2::
Skapa två datadiskar för varje virtuell dator.
azure vm disk attach-new $vmNamePrefix$suffixNumber \ $diskSize \ vhds/$dataDiskPrefix$suffixNumber$dataDiskName-1.vhd azure vm disk attach-new $vmNamePrefix$suffixNumber \ $diskSize \ vhds/$dataDiskPrefix$suffixNumber$dataDiskName-2.vhd done
Steg 4 – Kör skriptet
Nu när du har laddat ned och ändrat skriptet baserat på dina behov kör du skriptet för att skapa de virtuella datorerna för serverdelsdatabasen med flera nätverkskort.
Spara skriptet och kör det från Bash-terminalen . Du ser de första utdata som visas nedan.
info: Executing command service create info: Creating cloud service data: Cloud service name IaaSStory-Backend info: service create command OK info: Executing command storage account create info: Creating storage account info: storage account create command OK info: Executing command vm create info: Looking up image 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1 info: Looking up virtual network info: Looking up cloud service info: Getting cloud service properties info: Looking up deployment info: Creating VM
Efter några minuter avslutas körningen och resten av utdata visas enligt nedan.
info: OK info: vm create command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm create info: Looking up image 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1 info: Looking up virtual network info: Looking up cloud service info: Getting cloud service properties info: Looking up deployment info: Creating VM info: OK info: vm create command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK
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 Routning i ett virtuellt datoroperativsystem med flera nätverksgränssnitt.