PowerShell kullanarak birden çok NIC ile VM (Klasik) oluşturma

Azure'da sanal makineler (VM) oluşturabilir ve vm'lerinizin her birine birden çok ağ arabirimi (NIC) ekleyebilirsiniz. Birden çok NIC, NIC'ler arasında trafik türlerinin ayrılmasını sağlar. Örneğin, bir NIC İnternet ile iletişim kurabilirken, diğeri yalnızca İnternet'e bağlı olmayan iç kaynaklarla iletişim kurar. Ağ trafiğini birden çok NIC arasında ayırma özelliği, uygulama teslimi ve WAN iyileştirme çözümleri gibi birçok ağ sanal aleti için gereklidir.

Önemli

Azure, kaynak oluşturmak ve bu kaynaklarla çalışmak için iki dağıtım modeli kullanır: Resource Manager ve klasik. Bu makale klasik dağıtım modelini incelemektedir. Microsoft, yeni dağıtımların çoğunun Resource Manager modelini kullanmasını önerir. Resource Manager dağıtım modelini kullanarak bu adımları gerçekleştirmeyi öğrenin.

Senaryo

Bu belge, belirli bir senaryoda VM'lerde birden çok NIC kullanan bir dağıtımda yol gösterir. Bu senaryoda Azure'da barındırılan iki katmanlı bir IaaS iş yükünüz vardır. Her katman, bir sanal ağda (VNet) kendi alt ağına dağıtılır. Ön uç katmanı, yüksek kullanılabilirlik için bir yük dengeleyici kümesinde birlikte gruplandırılmış çeşitli web sunucularından oluşur. Arka uç katmanı çeşitli veritabanı sunucularından oluşur. Veritabanı sunucuları, biri veritabanı erişimi, diğeri yönetim için iki NIC ile dağıtılır. Senaryo, her alt ağa hangi trafiğe izin verilip ve dağıtımdaki NIC'yi denetlemek için Ağ Güvenlik Grupları'nı (NSG' ler) de içerir. Aşağıdaki resimde bu senaryonun temel mimarisi gösterilmektedir:

MultiNIC senaryosu

Aşağıdaki adımlarda WEB sunucuları için IaaSStory adlı bir kaynak grubu ve VERITABANı sunucuları için IaaSStory-BackEnd adlı bir kaynak grubu kullanılır.

Önkoşullar

DB sunucularını oluşturabilmeniz için önce bu senaryo için gerekli tüm kaynaklarla IaaSStory kaynak grubunu oluşturmanız gerekir. Bu kaynakları oluşturmak için aşağıdaki adımları tamamlayın. Sanal ağ oluşturma makalesindeki adımları izleyerek bir sanal ağ oluşturun .

Önkoşul: Azure PowerShell modülünü yükleyin

Bu makaledeki adımları gerçekleştirmek için Azure PowerShell modülünü yüklemeniz ve yapılandırmanız gerekir. Tüm yönergeleri tamamladığınızdan emin olun. Yükleme işlemi tamamlandıktan sonra Azure'da oturum açın ve aboneliğinizi seçin.

Not

Bu adımları tamamlamak için bir Azure hesabınızın olması gerekir. Azure hesabınız yoksa ücretsiz deneme sürümüne kaydolabilirsiniz.

Arka uç VM'lerini oluşturma

Arka uç VM'leri aşağıdaki kaynakların oluşturulmasına bağlıdır:

  • Arka uç alt ağı. Veritabanı sunucuları, trafiği ayırmak için ayrı bir alt ağın parçası olacaktır. Aşağıdaki betik, bu alt ağın WTestVnet adlı bir sanal ağda mevcut olmasını bekler.
  • Veri diskleri için depolama hesabı. Daha iyi performans için veritabanı sunucularında bulunan veri diskleri, premium depolama hesabı gerektiren katı hal sürücüsü (SSD) teknolojisini kullanır. Premium depolamayı desteklemek için dağıttığınız Azure konumunun emin olun.
  • Kullanılabilirlik kümesi. Bakım sırasında vm'lerden en az birinin çalışır durumda olduğundan emin olmak için tüm veritabanı sunucuları tek bir kullanılabilirlik kümesine eklenir.

1. Adım - Betiğinizi başlatma

Burada kullanılan PowerShell betiğinin tamamını indirebilirsiniz. Betiği ortamınızda çalışacak şekilde değiştirmek için aşağıdaki adımları izleyin.

  1. Önkoşullar bölümünde yukarıda dağıtılan mevcut kaynak grubunuz temelinde aşağıdaki değişkenlerin değerlerini değiştirin.

     $location              = "West US"
     $vnetName              = "WTestVNet"
     $backendSubnetName     = "BackEnd"
    
  2. Arka uç dağıtımınız için kullanmak istediğiniz değerlere göre aşağıdaki değişkenlerin değerlerini değiştirin.

     $backendCSName         = "IaaSStory-Backend"
     $prmStorageAccountName = "iaasstoryprmstorage"
     $avSetName             = "ASDB"
     $vmSize                = "Standard_DS3"
     $diskSize              = 127
     $vmNamePrefix          = "DB"
     $dataDiskSuffix        = "datadisk"
     $ipAddressPrefix       = "192.168.2."
     $numberOfVMs           = 2
    

2. Adım - VM'leriniz için gerekli kaynakları oluşturma

Tüm VM'ler için veri diskleri için yeni bir bulut hizmeti ve bir depolama hesabı oluşturmanız gerekir. Ayrıca VM'ler için bir görüntü ve yerel yönetici hesabı belirtmeniz gerekir. Bu kaynakları oluşturmak için aşağıdaki adımları tamamlayın:

  1. Yeni bir bulut hizmeti oluşturun.

     New-AzureService -ServiceName $backendCSName -Location $location
    
  2. Yeni bir premium depolama hesabı oluşturun.

     New-AzureStorageAccount -StorageAccountName $prmStorageAccountName `
     -Location $location -Type Premium_LRS
    
  3. Yukarıda oluşturulan depolama hesabını aboneliğinizin geçerli depolama hesabı olarak ayarlayın.

     $subscription = Get-AzureSubscription | where {$_.IsCurrent -eq $true}  
     Set-AzureSubscription -SubscriptionName $subscription.SubscriptionName `
     -CurrentStorageAccountName $prmStorageAccountName
    
  4. VM için bir görüntü seçin.

     $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. Yerel yönetici hesabı kimlik bilgilerini ayarlayın.

     $cred = Get-Credential -Message "Enter username and password for local admin account"
    

3. Adım - VM oluşturma

İstediğiniz kadar VM oluşturmak ve döngü içinde gerekli NIC'leri ve VM'leri oluşturmak için bir döngü kullanmanız gerekir. NIC'leri ve VM'leri oluşturmak için aşağıdaki adımları yürütün.

  1. for Değişkenin değerine $numberOfVMs göre bir VM ve iki NIC oluşturmak için komutları yinelemek için bir döngü başlatın.

     for ($suffixNumber = 1; $suffixNumber -le $numberOfVMs; $suffixNumber++){
    
  2. VM için görüntü, boyut ve kullanılabilirlik kümesini belirten bir VMConfig nesne oluşturun.

     $vmName = $vmNamePrefix + $suffixNumber
     $vmConfig = New-AzureVMConfig -Name $vmName `
     	-ImageName $image `
     	-InstanceSize $vmSize `
     	-AvailabilitySetName $avSetName
    
  3. VM'yi Bir Windows VM olarak sağlayın.

     Add-AzureProvisioningConfig -VM $vmConfig -Windows `
     	-AdminUsername $cred.UserName `
     	-Password $cred.GetNetworkCredential().Password
    
  4. Varsayılan NIC'yi ayarlayın ve statik bir IP adresi atayın.

     Set-AzureSubnet			-SubnetNames $backendSubnetName -VM $vmConfig
     Set-AzureStaticVNetIP 	-IPAddress ($ipAddressPrefix+$suffixNumber+3) -VM $vmConfig
    
  5. Her VM için ikinci bir NIC ekleyin.

     Add-AzureNetworkInterfaceConfig -Name ("RemoteAccessNIC"+$suffixNumber) `
     -SubnetName $backendSubnetName `
     -StaticVNetIPAddress ($ipAddressPrefix+(53+$suffixNumber)) `
     -VM $vmConfig
    
  6. Her VM için veri disklerine oluşturma.

     $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. Her VM'yi oluşturun ve döngüye son verme.

     New-AzureVM -VM $vmConfig `
     -ServiceName $backendCSName `
     -Location $location `
     -VNetName $vnetName
     }
    

4. Adım - Betiği çalıştırma

Artık betiği ihtiyaçlarınıza göre indirip değiştirdiğinize göre, birden çok NIC'ye sahip arka uç veritabanı VM'lerini oluşturmak için betiği çalıştırın.

  1. Betiğinizi kaydedin ve PowerShell komut isteminden veya PowerShell ISE'den çalıştırın. Aşağıda gösterildiği gibi ilk çıkışı görürsünüz.

     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. Kimlik bilgileri isteminde gereken bilgileri doldurun ve Tamam'a tıklayın. Aşağıdaki çıkış döndürülür.

     New-AzureVM             xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Succeeded
     New-AzureVM             xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Succeeded
    

5. Adım - VM'nin işletim sistemi içinde yönlendirmeyi yapılandırma

Azure DHCP, sanal makineye bağlı ilk (birincil) ağ arabirimine varsayılan bir ağ geçidi atar. Azure, bir sanal makineye bağlı ek (ikincil) ağ arabirimlerine varsayılan ağ geçidi atamaz. Bu nedenle varsayılan olarak, alt ağın dışında kalan ve ikincil bir ağ arabirimi içeren kaynaklarla iletişim kurulamaz. Ancak, ikincil ağ arabirimleri kendi alt ağlarının dışında kalan kaynaklarla iletişim kurabilir. İkincil ağ arabirimleri için yönlendirmeyi yapılandırmak için aşağıdaki makalelere bakın: