Aracılığıyla paylaş


Öğ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ılacağını öğreneceksiniz:

  • Azure Hesaplama Galerisi Oluşturun
  • 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

Eğer bir 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 shell'dir. Sık kullanılan Azure araçları önceden yüklenmiş ve hesabınızla kullanılacak şekilde yapılandırılmıştır.

Cloud Shell'i açmak için, bir kod bloğunun sağ üst köşesindeki Deneyin seçeneğini seçin. Cloud Shell'i ayrı bir tarayıcı sekmesinde başlatmak için https://shell.azure.com/powershell adresine gidebilirsiniz. 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 VM 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, rakamlardan, noktalardan, kısa çizgilerden ve periyotlardan 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ılar ve nokta işaretleridir. 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 $vm.Id.ToString() kullanın -Source.

$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 kullanan -ImageName ile bir ölçek kümesi oluşturun. Trafiği tek tek VM örneklerine dağıtmak için bir yük dengeleyici de oluşturulur. Yük dengeleyici, trafiği TCP bağlantı noktası 80'e dağıtmanın yanı sıra TCP bağlantı noktası 3389'da uzak masaüstü trafiğine ve TCP bağlantı noktası 5985'te PowerShell uzaktan iletişimine izin veren kurallar içerir. İstendiğinde, ölçek kümesindeki VM örnekleri için istediğiniz yönetim 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 VMSS PowerShell/CLI Müşterileri için Kritik Değişiklik - Microsoft Community Hub'a gidin.

# 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ı temizle

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 bir VM görüntüsü oluşturmayı ve kullanmayı öğrendiniz:

  • Azure Hesaplama Galerisi Oluşturun
  • 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.