Öğretici: Azure PowerShell ile Sanal Makine Ölçek Kümeleri için özel görüntü oluşturma ve kullanma

Ölçek kümesi oluşturduğunuzda, sanal makine örnekleri dağıtılırken kullanılacak bir görüntü belirtirsiniz. Sanal makine örnekleri dağıtıldıktan sonraki görev sayısını azaltmak için özel bir sanal makine görüntüsünü kullanabilirsiniz. Bu özel sanal makine görüntüsü, gerekli uygulama yüklemelerini veya yapılandırmalarını içerir. Ölçek kümesinde oluşturulan tüm sanal makine örnekleri, özel sanal makine görüntüsünü kullanır ve uygulama trafiğinizi sunmaya hazır olur. Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:

  • Azure İşlem Galerisi oluşturma
  • Görüntü tanımı oluşturma
  • Görüntü sürümü oluşturma
  • Görüntüden ölçek kümesi oluşturma
  • Resim galerisini paylaşma

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure Cloud Shell'i başlatma

Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli kabuktur. Yaygın Azure araçları, kabuğa önceden yüklenmiştir ve kabuk, hesabınızla birlikte kullanılacak şekilde yapılandırılmıştır.

Cloud Shell'i açmak için kod bloğunun sağ üst köşesinden Deneyin'i seçmeniz yeterlidir. İsterseniz https://shell.azure.com/powershell adresine giderek Cloud Shell'i ayrı bir tarayıcı sekmesinde de başlatabilirsiniz. Kopyala’yı seçerek kod bloğunu kopyalayın, Cloud Shell’e yapıştırın ve Enter tuşuna basarak çalıştırın.

Kaynak sanal makine oluşturma ve yapılandırma

İlk olarak, New-AzResourceGroup ile bir kaynak grubu oluşturun, ardından New-AzVM ile bir VM oluşturun. Bu VM daha sonra görüntünün kaynağı olarak kullanılır. Aşağıdaki örnek, myResourceGroup adlı kaynak grubunda myVM adlı bir sanal makine oluşturur:

New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'

New-AzVm `
   -ResourceGroupName 'myResourceGroup' `
   -Name 'myVM' `
   -Location 'East US' `
   -VirtualNetworkName 'myVnet' `
   -SubnetName 'mySubnet' `
   -SecurityGroupName 'myNetworkSecurityGroup' `
   -PublicIpAddressName 'myPublicIpAddress' `
   -OpenPorts 80,3389

VM değişkenini depolama

Get-AzVM kullanarak kaynak grubunda kullanılabilen VM'lerin listesini görebilirsiniz. VM adını ve hangi kaynak grubunu öğrendikte, VM nesnesini almak ve daha sonra kullanmak üzere bir değişkende depolamak için yeniden kullanabilirsiniz Get-AzVM . Bu örnek, "myResourceGroup" kaynak grubundan myVM adlı bir VM alır ve bunu $vm değişkenine atar.

$sourceVM = Get-AzVM `
   -Name myVM `
   -ResourceGroupName myResourceGroup

Görüntü galerisi, görüntü paylaşımını etkinleştirmek için kullanılan birincil kaynaktır. Galeri adı için izin verilen karakterler büyük veya küçük harfler, basamaklar, noktalar ve noktalardır. Galeri adı tire içeremez. Galeri adları aboneliğinizde benzersiz olmalıdır.

New-AzGallery kullanarak bir görüntü galerisi oluşturun. Aşağıdaki örnek, myGalleryRG kaynak grubunda myGallery adlı bir galeri oluşturur.

$resourceGroup = New-AzResourceGroup `
   -Name 'myGalleryRG' `
   -Location 'EastUS'

$gallery = New-AzGallery `
   -GalleryName 'myGallery' `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -Description 'Azure Compute Gallery for my organization'	

Görüntü tanımı oluşturma

Görüntü tanımları, görüntüler için mantıksal bir gruplandırma oluşturur. Bunlar, içinde oluşturulan görüntü sürümleri hakkındaki bilgileri yönetmek için kullanılır. Görüntü tanımı adları büyük veya küçük harflerden, basamaklardan, noktalardan, kısa çizgilerden ve noktalardan oluşabilir. Görüntü tanımı için belirtebileceğiniz değerler hakkında daha fazla bilgi için bkz . Görüntü tanımları.

New-AzGalleryImageDefinition komutunu kullanarak görüntü tanımını oluşturun. Bu örnekte galeri görüntüsü myGalleryImage olarak adlandırılır ve özel bir görüntü için oluşturulur.

$galleryImage = New-AzGalleryImageDefinition `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $gallery.Location `
   -Name 'myImageDefinition' `
   -OsState specialized `
   -OsType Windows `
   -Publisher 'myPublisher' `
   -Offer 'myOffer' `
   -Sku 'mySKU'

Görüntü sürümü oluşturma

New-AzGalleryImageVersion kullanarak bir VM'den görüntü sürümü oluşturun.

Resim sürümü için izin verilen karakterler sayı ve noktadır. Sayılar 32 bitlik bir tamsayı aralığında olmalıdır. Biçim: MajorVersion.MinorVersion.Düzeltme eki.

Bu örnekte görüntü sürümü 1.0.0'dır ve hem Doğu ABD hem de Orta Güney ABD veri merkezlerine çoğaltılır. Çoğaltma için hedef bölgeleri seçerken, kaynak bölgeyi çoğaltma hedefi olarak eklemeniz gerekir.

VM'den görüntü sürümü oluşturmak için için -Sourcekullanın$vm.Id.ToString().

$region1 = @{Name='South Central US';ReplicaCount=1}
$region2 = @{Name='East US';ReplicaCount=2}
$targetRegions = @($region1,$region2)

New-AzGalleryImageVersion `
   -GalleryImageDefinitionName $galleryImage.Name`
   -GalleryImageVersionName '1.0.0' `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -TargetRegion $targetRegions  `
   -Source $sourceVM.Id.ToString() `
   -PublishingProfileEndOfLifeDate '2023-12-01'

Görüntüyü tüm hedef bölgelere çoğaltmak biraz zaman alabilir.

Görüntüden ölçek kümesi oluşturma

Şimdi, önceki adımda oluşturulan özel VM görüntüsünü tanımlamak için parametresini -ImageName kullanan New-AzVmss ile bir ölçek kümesi oluşturun. Her bir sanal makine örneklerine trafiği dağıtmak için bir yük dengeleyici de oluşturulur. Yük dengeleyici hem 80 numaralı TCP bağlantı noktasında trafiği dağıtmak hem de 3389 numaralı TCP bağlantı noktasında uzak masaüstü trafiğine ve 5985 numaralı TCP bağlantı noktasında PowerShell uzaktan iletişimine olanak tanımak için kurallar içerir. İstendiğinde, ölçek kümesindeki sanal makine örnekleri için kendi istediğiniz yönetici kimlik bilgilerini sağlayın:

Önemli

Kasım 2023'den itibaren, düzenleme modu belirtilmezse PowerShell ve Azure CLI kullanılarak oluşturulan VM ölçek kümeleri varsayılan olarak Esnek Düzenleme Modu olarak ayarlanır. Bu değişiklik ve gerçekleştirmeniz gereken eylemler hakkında daha fazla bilgi için BKZ. VMSS PowerShell/CLI Müşterileri için Yeni Değişiklik - Microsoft Community Hub

# Define variables for the scale set
$resourceGroupName = "myScaleSet"
$scaleSetName = "myScaleSet"
$location = "East US"

# Create a resource group
New-AzResourceGroup -ResourceGroupName $resourceGroupName -Location $location

# Create a configuration 
$vmssConfig = New-AzVmssConfig `
   -Location $location `
   -OrchestrationMode Flexible `
   -SkuCapacity 2 `
   -SkuName "Standard_D2s_v3"

# Reference the image version
Set-AzVmssStorageProfile $vmssConfig `
  -OsDiskCreateOption "FromImage" `
  -ImageReferenceId $galleryImage.Id

# Create the scale set 
New-AzVmss `
  -ResourceGroupName $resourceGroupName `
  -Name $scaleSetName `
  -VirtualMachineScaleSet $vmssConfig

Tüm ölçek kümesi kaynaklarının ve VM'lerin oluşturulup yapılandırılması birkaç dakika sürer.

Görüntü galerisi düzeyinde erişimi paylaşmanızı öneririz. Kullanıcının nesne kimliğini almak için bir e-posta adresi ve Get-AzADUser cmdlet'ini kullanın, ardından galeriye erişim vermek için New-AzRoleAssignment kullanın. Bu örnekteki örnek e-postayı alinne_montes@contoso.com kendi bilgilerinizle değiştirin.

# Get the object ID for the user
$user = Get-AzADUser -StartsWith alinne_montes@contoso.com
# Grant access to the user for our gallery
New-AzRoleAssignment `
   -ObjectId $user.Id `
   -RoleDefinitionName Reader `
   -ResourceName $gallery.Name `
   -ResourceType Microsoft.Compute/galleries `
   -ResourceGroupName $resourceGroup.ResourceGroupName

Kaynakları temizleme

Artık gerekli olmadığında Remove-AzResourceGroup cmdlet'ini kullanarak kaynak grubunu ve tüm ilgili kaynakları kaldırabilirsiniz:

# Delete the gallery 
Remove-AzResourceGroup -Name myGalleryRG

# Delete the scale set resource group
Remove-AzResourceGroup -Name myResoureceGroup

Sonraki adımlar

Bu öğreticide, Azure PowerShell ile ölçek kümeleriniz için özel sanal makine görüntüsü oluşturma ve kullanma işleminin nasıl yapılacağını öğrendiniz:

  • Azure İşlem Galerisi oluşturma
  • Görüntü tanımı oluşturma
  • Görüntü sürümü oluşturma
  • Görüntüden ölçek kümesi oluşturma
  • Resim galerisini paylaşma

Uygulamaların ölçek kümenize nasıl dağıtılacağını öğrenmek için sonraki öğreticiye ilerleyin.