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:
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.
Ö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"
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:
Yeni bir bulut hizmeti oluşturun.
New-AzureService -ServiceName $backendCSName -Location $location
Yeni bir premium depolama hesabı oluşturun.
New-AzureStorageAccount -StorageAccountName $prmStorageAccountName ` -Location $location -Type Premium_LRS
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
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
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.
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++){
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
VM'yi Bir Windows VM olarak sağlayın.
Add-AzureProvisioningConfig -VM $vmConfig -Windows ` -AdminUsername $cred.UserName ` -Password $cred.GetNetworkCredential().Password
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
Her VM için ikinci bir NIC ekleyin.
Add-AzureNetworkInterfaceConfig -Name ("RemoteAccessNIC"+$suffixNumber) ` -SubnetName $backendSubnetName ` -StaticVNetIPAddress ($ipAddressPrefix+(53+$suffixNumber)) ` -VM $vmConfig
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
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.
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'.
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: