Hızlı Başlangıç: Azure PowerShell ile sanal makine ölçek kümesi oluşturmaQuickstart: Create a virtual machine scale set with Azure PowerShell

Bir sanal makine ölçek kümesi, bir dizi otomatik ölçeklendirme sanal makinesi dağıtmanızı ve yönetmenizi sağlar.A virtual machine scale set allows you to deploy and manage a set of autoscaling virtual machines. Ölçek kümesi içindeki sanal makine sayısını el ile ölçeklendirebilir veya CPU, bellek talebi ya da ağ trafiği gibi kaynak kullanımını temel alan otomatik ölçeklendirme kuralları tanımlayabilirsiniz.You can scale the number of VMs in the scale set manually, or define rules to autoscale based on resource usage like CPU, memory demand, or network traffic. Azure Load Balancer daha sonra ölçek kümesindeki sanal makine örneklerine trafiği dağıtır.An Azure load balancer then distributes traffic to the VM instances in the scale set. Bu hızlı başlangıçta, Azure PowerShell ile bir sanal makine ölçek kümesi oluşturur ve örnek uygulama dağıtırsınız.In this quickstart, you create a virtual machine scale set and deploy a sample application with Azure PowerShell.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell kullanmaUse Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell’i barındırır.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Bu makaledeki kodu, yerel ortamınıza herhangi bir şey yüklemeye gerek kalmadan çalıştırmak için Cloud Shell’in önceden yüklenmiş komutlarını kullanabilirsiniz.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell’i başlatmak için:To start Azure Cloud Shell:

SeçenekOption Örnek/BağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Deneyin seçeneği belirlendiğinde, kod otomatik olarak Cloud Shell’e kopyalanmaz.Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell için Deneyin örneği
Cloud Shell’i tarayıcınızda açmak için https://shell.azure.com bölümüne gidin veya Cloud Shell’i Başlat düğmesini seçin.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Cloud Shell’i yeni bir pencerede başlatmaLaunch Cloud Shell in a new window
Azure portalın sağ üst köşesindeki menü çubuğunda yer alan Cloud Shell düğmesini seçin.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Azure portaldaki Cloud Shell düğmesi

Azure Cloud Shell’de bu makaledeki kodu çalıştırmak için:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell’i başlatın.Start Cloud Shell.

  2. Kodu kopyalamak için kod bloğunda Kopyala düğmesini seçin.Select the Copy button on a code block to copy the code.

  3. Windows ve Linux sisteminde Ctrl+Shift+V tuşlarını kullanarak veya macOS’de Cmd+Shift+V tuşlarını kullanarak kodu Cloud Shell oturumuna yapıştırın.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Kodu çalıştırmak için Enter tuşuna basın.Select Enter to run the code.

Ölçek kümesi oluşturmaCreate a scale set

Ölçek kümesi oluşturabilmeniz için, New-AzResourceGroupile bir kaynak grubu oluşturun.Before you can create a scale set, create a resource group with New-AzResourceGroup. Aşağıdaki örnek eastus konumunda myresourcegroup adlı bir kaynak grubu oluşturur:The following example creates a resource group named myResourceGroup in the eastus location:

New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"

Şimdi New-AzVmssile bir sanal makine ölçek kümesi oluşturun.Now create a virtual machine scale set with New-AzVmss. Aşağıdaki örnek myScaleSet adına sahip olan ve Windows Server 2016 Datacenter platform görüntüsünü kullanan bir ölçek kümesi oluşturur.The following example creates a scale set named myScaleSet that uses the Windows Server 2016 Datacenter platform image. Sanal ağ, genel IP adresi ve yük dengeleyici için Azure ağ kaynakları otomatik olarak oluşturulur.The Azure network resources for virtual network, public IP address, and load balancer are automatically created. İstendiğinde, ölçek kümesindeki sanal makine örnekleri için kendi yönetici kimlik bilgilerinizi ayarlayabilirsiniz:When prompted, you can set your own administrative credentials for the VM instances in the scale set:

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "EastUS" `
  -VMScaleSetName "myScaleSet" `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -UpgradePolicyMode "Automatic"

Tüm ölçek kümesi kaynaklarının ve VM'lerin oluşturulup yapılandırılması birkaç dakika sürer.It takes a few minutes to create and configure all the scale set resources and VMs.

Örnek uygulama dağıtmaDeploy sample application

Ölçek kümenizi test etmek için temel web uygulaması yükleyin.To test your scale set, install a basic web application. Sanal makine örneklerine IIS uygulamasını yükleyen bir betik indirip çalıştırmak için Azure Özel Betik Uzantısı kullanılır.The Azure Custom Script Extension is used to download and run a script that installs IIS on the VM instances. Bu uzantı dağıtım sonrası yapılandırma, yazılım yükleme veya diğer yapılandırma/yönetim görevleri için kullanışlıdır.This extension is useful for post deployment configuration, software installation, or any other configuration / management task. Daha fazla bilgi için bkz. Özel Betik Uzantısı'na genel bakış.For more information, see the Custom Script Extension overview.

Temel bir IIS web sunucusu yüklemek için Özel Betik Uzantısı kullanın.Use the Custom Script Extension to install a basic IIS web server. IIS uygulamasını yükleyen Özel Betik Uzantısı'nı aşağıdaki şekilde uygulayın:Apply the Custom Script Extension that installs IIS as follows:

# Define the script for your Custom Script Extension to run
$publicSettings = @{
    "fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate-iis.ps1");
    "commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File automate-iis.ps1"
}

# Get information about the scale set
$vmss = Get-AzVmss `
            -ResourceGroupName "myResourceGroup" `
            -VMScaleSetName "myScaleSet"

# Use Custom Script Extension to install IIS and configure basic website
Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
    -Name "customScript" `
    -Publisher "Microsoft.Compute" `
    -Type "CustomScriptExtension" `
    -TypeHandlerVersion 1.8 `
    -Setting $publicSettings

# Update the scale set and apply the Custom Script Extension to the VM instances
Update-AzVmss `
    -ResourceGroupName "myResourceGroup" `
    -Name "myScaleSet" `
    -VirtualMachineScaleSet $vmss

Uygulamaya giden trafiğe izin vermeAllow traffic to application

Temel Web uygulamasına erişime izin vermek için, New-AzNetworkSecurityRuleConfig ve New-aznetworksecuritygroupile bir ağ güvenlik grubu oluşturun.To allow access to the basic web application, create a network security group with New-AzNetworkSecurityRuleConfig and New-AzNetworkSecurityGroup. Daha fazla bilgi için bkz. Azure sanal makine ölçek kümeleri Için ağ.For more information, see Networking for Azure virtual machine scale sets.

# Get information about the scale set
$vmss = Get-AzVmss `
            -ResourceGroupName "myResourceGroup" `
            -VMScaleSetName "myScaleSet"

#Create a rule to allow traffic over port 80
$nsgFrontendRule = New-AzNetworkSecurityRuleConfig `
  -Name myFrontendNSGRule `
  -Protocol Tcp `
  -Direction Inbound `
  -Priority 200 `
  -SourceAddressPrefix * `
  -SourcePortRange * `
  -DestinationAddressPrefix * `
  -DestinationPortRange 80 `
  -Access Allow

#Create a network security group and associate it with the rule
$nsgFrontend = New-AzNetworkSecurityGroup `
  -ResourceGroupName  "myResourceGroup" `
  -Location EastUS `
  -Name myFrontendNSG `
  -SecurityRules $nsgFrontendRule

$vnet = Get-AzVirtualNetwork `
  -ResourceGroupName  "myResourceGroup" `
  -Name myVnet

$frontendSubnet = $vnet.Subnets[0]

$frontendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
  -VirtualNetwork $vnet `
  -Name mySubnet `
  -AddressPrefix $frontendSubnet.AddressPrefix `
  -NetworkSecurityGroup $nsgFrontend

Set-AzVirtualNetwork -VirtualNetwork $vnet

# Update the scale set and apply the Custom Script Extension to the VM instances
Update-AzVmss `
    -ResourceGroupName "myResourceGroup" `
    -Name "myScaleSet" `
    -VirtualMachineScaleSet $vmss

Ölçek kümenizi test etmeTest your scale set

Ölçek kümenizi çalışır halde görmek için bir web tarayıcısında örnek web uygulamasına erişin.To see your scale set in action, access the sample web application in a web browser. Get-Azpublicıpaddressile yük dengeleyicinizin genel IP adresini alın.Get the public IP address of your load balancer with Get-AzPublicIpAddress. Aşağıdaki örnek, Myresourcegroup kaynak grubunda oluşturulan IP adresini görüntüler:The following example displays the IP address created in the myResourceGroup resource group:

Get-AzPublicIpAddress -ResourceGroupName "myResourceGroup" | Select IpAddress

Yük dengeleyicinin genel IP adresini bir web tarayıcısına girin.Enter the public IP address of the load balancer in to a web browser. Aşağıdaki örnekte gösterildiği gibi yük dengeleyici trafiği VM örneklerinizden birine dağıtır:The load balancer distributes traffic to one of your VM instances, as shown in the following example:

Çalışan IIS sitesi

Kaynakları temizlemeClean up resources

Artık gerekli değilse, Remove-AzResourceGroup komutunu kullanarak kaynak grubunu, ölçek kümesini ve tüm ilgili kaynakları aşağıdaki şekilde kaldırabilirsiniz.When no longer needed, you can use the Remove-AzResourceGroup to remove the resource group, scale set, and all related resources as follows. -Force parametresi kaynakları ek bir komut istemi olmadan silmek istediğinizi onaylar.The -Force parameter confirms that you wish to delete the resources without an additional prompt to do so. -AsJob parametresi işlemin tamamlanmasını beklemeden denetimi komut istemine döndürür.The -AsJob parameter returns control to the prompt without waiting for the operation to complete.

Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob

Sonraki adımlarNext steps

Bu hızlı başlangıçta basit bir ölçek kümesi oluşturdunuz ve Özel Betik Uzantısı'nı kullanarak VM örneklerine temel bir IIS web sunucusu yüklediniz.In this quickstart, you created a basic scale set and used the Custom Script Extension to install a basic IIS web server on the VM instances. Daha fazla bilgi edinmek için Azure sanal makine ölçek kümelerinin nasıl oluşturulacağı ve yönetileceğine ilişkin öğreticiyle devam edin.To learn more, continue to the tutorial for how to create and manage Azure virtual machine scale sets.