Azure Sanal Makinesi oluşturma ve yönetme için kullanılabilir seçenekleri açıklama

Tamamlandı

Azure portalı, başlarken VM'ler gibi kaynaklar oluşturmanın en kolay yoludur. Ancak portal, özellikle aynı anda birden fazla kaynak oluşturmanız gereken durumlarda Azure ile çalışmanın en verimli veya en hızlı yolu değildir. Bizim örneğimizde, sonunda farklı görevleri yerine getirmek için onlarca VM oluştururuz. Bunları Azure portalda tek tek oluşturmak pek de eğlenceli olmaz!

Şimdi Azure'da kaynak oluşturmak ve yönetmek için kullanılabilecek diğer seçeneklere göz atalım:

  • Azure Resource Manager şablonları
  • Azure PowerShell
  • Azure CLI
  • Azure REST API
  • Azure Client SDK
  • Azure VM Uzantıları
  • Azure Otomasyonu Hizmetleri

Resource Manager şablonları

Bir VM ile aynı ayarlara sahip yeni bir kopya oluşturmak istediğinizi düşünelim. VM görüntüsü oluşturabilir, Azure'a yükleyebilir ve yeni VM için referans olarak kullanabilirsiniz. Bu işlem verimli değildir ve zaman alır. Azure, bir şablon oluşturma ve bundan bir VM'nin tam olarak aynı olan bir kopyasını oluşturma seçeneği sunar.

Resource Manager şablonları, çözümünüz için dağıtmanız gereken kaynakları tanımlayan JSON dosyalarıdır.

VM'niz için bir kaynak şablonu oluşturabilirsiniz. VM menüsünden Otomasyon'un altında Şablonu dışarı aktar'ı seçin.

Screenshot showing Export template option for a VM.

Dekont

Bu Learn modülü için korumalı alana dahil edilen kaynaklara yönelik ilkeler, yeni oluşturduğunuz VM'yi dışarı aktarmanızı engeller; bu, dışarı aktarılan bir şablon düzenlemesi kolay bir JSON dosyasıdır. Şablonu daha sonra kullanmak üzere indirme veya kaydetme ya da şablonu temel alan yeni bir VM'yi hemen dağıtma seçeneğiniz vardır. Örneğin, test ortamındaki bir şablondan VM oluşturabilir ve şirket içi makinenizi değiştirmek için pek işe yaramadığından emin olabilirsiniz. Bu durumda kaynak grubunu silerek tüm kaynakların silinmesini sağlayabilir ve şablonda gerekli ayarlamaları yapıp tekrar deneyebilirsiniz. Yalnızca mevcut dağıtılan kaynaklarda değişiklik yapmak istiyorsanız, şablonu oluşturmak için kullanılan şablonu değiştirebilir ve yeniden dağıtabilirsiniz. Resource Manager, kaynakları yeni şablonla eşleşecek şekilde değiştirir.

İstediğiniz gibi çalışmasını sağlayın, sonra hazırlama ve üretim gibi altyapınızın birden çok sürümünü kolayca çoğaltmak için bu şablonu kullanabilirsiniz. VM adı, ağ adı, depolama hesabı adı gibi alanları parametreleştirebilir ve her ortamı özelleştirmek için farklı parametreler kullanarak şablonu tekrar tekrar yükleyebilirsiniz.

Şablonları kullanma hakkında daha fazla bilgi için bkz . Hızlı Başlangıç: ARM şablonu kullanarak Ubuntu Linux sanal makinesi oluşturma.

Azure CLI

Betik oluşturma ve komut satırı Azure etkileşimi için bir seçenek, Azure CLI'dır.

Azure CLI, sanal makineler ve diskler gibi Azure kaynaklarının komut satırından yönetimi için kullanılan Microsoft tarafından sunulan platformlar arası bir komut satırı aracıdır. Linux, macOS, Windows veya Cloud Shell kullanarak bir tarayıcıda kullanılabilir.

Örneğin, CLI'dan komutuyla az vm create bir Azure VM oluşturabilirsiniz.

az vm create \
    --resource-group TestResourceGroup \
    --name test-wp1-eus-vm \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

Azure CLI, Ruby ve Python gibi diğer betik dilleriyle kullanılabilir.

VM oluşturma ve yönetme hakkında daha fazla bilgi için Azure CLI aracıyla sanal makineleri yönetme modülüne bakın.

Vm oluşturmak için Azure CLI kullanma hakkında daha fazla bilgi için bkz . Hızlı Başlangıç: CLI kullanarak Linux sanal makinesi oluşturma.

Azure PowerShell

Azure PowerShell tek seferlik etkileşimli görevler veya yinelenen görevlerin otomatikleştirilmesi için idealdir.

Dekont

PowerShell, kabuk penceresi ve komut ayrıştırma gibi hizmetler sunan platformlar arası bir kabuktur. Azure PowerShell, Azure'a özgü komutları (cmdlet'ler) ekleyen isteğe bağlı bir eklenti paketidir. Azure PowerShell'i yükleme ve kullanma adımları ayrı bir eğitim modülünde ayrıntılı bir şekilde anlatılmaktadır.

Örneğin, cmdlet'ini New-AzVM kullanarak yeni bir Debian tabanlı Azure sanal makinesi oluşturabilirsiniz.

New-AzVm `
    -ResourceGroupName "TestResourceGroup" `
    -Name "test-wp1-eus-vm" `
    -Location "East US" `
    -Image Debian11 `
    -VirtualNetworkName "test-wp1-eus-network" `
    -SubnetName "default" `
    -SecurityGroupName "test-wp1-eus-nsg" `
    -PublicIpAddressName "test-wp1-eus-pubip" `
    -GenerateSshKey `
    -SshKeyName myPSKey
    -OpenPorts 22

Burada gösterildiği gibi çeşitli parametreler kullanarak sunulan çeşitli VM yapılandırma ayarlarını değiştirebilirsiniz. Parametrelerin çoğuna anlamlı değerler sağlanmıştır, dolayısıyla yalnızca gerekli parametreleri belirtmeniz gerekir. Azure PowerShell ile VM oluşturma ve yönetme hakkında daha fazla bilgi için PowerShell betiklerini kullanarak Azure görevlerini otomatikleştirme modülünü inceleyin.

VM oluşturmak için PowerShell kullanma hakkında daha fazla bilgi için bkz . Hızlı Başlangıç: PowerShell kullanarak Linux sanal makinesi oluşturma.

Terraform

Azure'ın bir Terraform sağlayıcısı da vardır. Bu sayede Terraform'u kullanarak VM'lerinizi oluşturabilir ve yönetebilirsiniz. Terraform, bulut altyapısının tanımlanmasını, önizlemesini ve dağıtımını sağlar. Terraform kullanarak HCL söz dizimlerini kullanarak yapılandırma dosyaları oluşturursunuz. HCL söz dizimi, Azure gibi bulut sağlayıcısını ve bulut altyapınızı oluşturan öğeleri belirtmenize olanak tanır. Yapılandırma dosyalarınızı oluşturduktan sonra, altyapı değişikliklerinizin dağıtılmadan önce önizlemesini görüntülemenizi sağlayan bir yürütme planı oluşturursunuz. Değişiklikleri doğruladıktan sonra, altyapıyı dağıtmak için yürütme planını uygularsınız.

Daha fazla bilgi için bkz . Azure Terraform Sağlayıcısı ve Hızlı Başlangıç: Terraform kullanarak VM oluşturma.

Program aracılığıyla (API'ler)

Çalıştırmak istediğiniz basit betikleriniz varsa ve komut satırı araçlarını kullanmak istiyorsanız hem Azure PowerShell hem de Azure CLI iyi birer seçenektir. VM oluşturma ve yönetim adımlarının karmaşık mantığa sahip daha büyük bir uygulamanın parçası olduğu daha karmaşık senaryolarda farklı bir yaklaşıma ihtiyaç duyulur.

Azure'daki tüm kaynaklarla program aracılığıyla etkileşim kurabilirsiniz.

Azure REST API

Azure REST API, geliştiricilere kaynağa göre kategorilere ayrılmış işlemler ve VM oluşturma ve yönetme olanağı sağlar. İşlemler karşılık gelen HTTP yöntemleri (GET, PUT, POST, DELETE ve PATCH) karşılık gelen bir yanıtla URI'ler olarak paylaşılır.

Azure İşlem API'leri sanal makinelere ve kaynaklarına program aracılığıyla erişmenizi sağlar.

Daha fazla bilgi için bkz. Sanal Makineler REST API başvurusu.

Azure Client SDK

REST API platform ve dil belirsiz olsa da çoğu zaman geliştiriciler daha yüksek bir soyutlama düzeyine bakar. Azure Client SDK, Azure REST API'sini kapsülleyerek geliştiricilerin Azure ile etkileşim kurmasını çok daha kolay hale getirir.

Azure İstemci SDK'ları, dahil olmak üzere çeşitli diller ve çerçeveler için kullanılabilir. C#, Java, Node.js, PHP, Python, Ruby ve Go gibi NET tabanlı diller.

Burada, NuGet paketini kullanarak Azure VM oluşturmak için C# kodunun örnek bir parçacığı verilmiştir Microsoft.Azure.Management.Fluent .

var azure = Azure
    .Configure()
    .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
    .Authenticate(credentials)
    .WithDefaultSubscription();
// ...
var vmName = "test-wp1-eus-vm";

azure.VirtualMachines.Define(vmName)
    .WithRegion(Region.USEast)
    .WithExistingResourceGroup("TestResourceGroup")
    .WithExistingPrimaryNetworkInterface(networkInterface)
    .WithLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter")
    .WithAdminUsername("jonc")
    .WithAdminPassword("aReallyGoodPasswordHere")
    .WithComputerName(vmName)
    .WithSize(VirtualMachineSizeTypes.StandardDS1)
    .Create();

Azure Java SDK'sını kullanan Java'da aynı kod parçacığı aşağıdadır.

String vmName = "test-wp1-eus-vm";
// ...
VirtualMachine virtualMachine = azure.virtualMachines()
    .define(vmName)
    .withRegion(Region.US_EAST)
    .withExistingResourceGroup("TestResourceGroup")
    .withExistingPrimaryNetworkInterface(networkInterface)
    .withLatestWindowsImage("MicrosoftWindowsServer", "WindowsServer", "2012-R2-Datacenter")
    .withAdminUsername("jonc")
    .withAdminPassword("aReallyGoodPasswordHere")
    .withComputerName(vmName)
    .withSize("Standard_DS1")
    .create();

Azure VM uzantıları

İlk dağıtımdan sonra sanal makinenize daha fazla yazılım yapılandırmak ve yüklemek istediğinizi varsayalım. Bu görevin otomatik olarak izlenen ve yürütülen belirli bir yapılandırmayı kullanmasını istiyorsunuz.

Azure VM uzantıları , ilk dağıtımdan sonra Azure VM'lerinde görevleri yapılandırmanızı ve otomatikleştirmenizi sağlayan küçük uygulamalardır.

Daha fazla bilgi için bkz . Azure sanal makine uzantıları ve özellikleri.

Azure Otomasyonu hizmetleri

Uzakta bulunan bir altyapıyı yönetirken karşılaşılan en önemli operasyonel yönetim zorluklarının bazıları zaman kazanma, hataları azaltma ve verimliliği artırmadır. Çok sayıda altyapı hizmetiniz varsa, daha yüksek düzeyden çalışmanıza yardımcı olması için Azure'da daha üst düzey hizmetler kullanmayı düşünebilirsiniz.

Azure Otomasyonu sık, zaman alan ve hataya açık yönetim görevlerini kolayca otomatikleştirmenizi sağlayan hizmetleri tümleştirmenize olanak tanır. Bu hizmetler işlem otomasyonu, yapılandırma yönetimi ve güncelleştirme yönetimi olabilir.

  • Süreç Otomasyonu. Belirli bir hata olayının izlendiği bir VM'niz olduğunu düşünelim. Eyleme geçmek ve sorunu bildirildiği anda düzeltmek istiyorsunuz. İşlem otomasyonu, veri merkezinizde oluşabilecek olaylara yanıt verebilen izleyici görevleri ayarlamanıza olanak tanır.

  • Yapılandırma Yönetimi. VM'nizde çalışan işletim sistemi için kullanıma sunulan yazılım güncelleştirmelerini de takip etmek istiyor olabilirsiniz. Dahil etmek veya hariç tutmak istediğiniz belirli güncelleştirmeler olabilir. Yapılandırma yönetimi, bu güncelleştirmeleri izlemenize ve gerektiği gibi işlem yapmanıza olanak tanır. Şirketinizdeki bilgisayarları, sunucuları ve mobil cihazları yönetmek için Microsoft Endpoint Configuration Manager'ı kullanırsınız. Configuration Manager ile Azure VM'lerinizi de dahil edebilirsiniz.

  • Güncelleştirme Yönetimi. Vm'lerinize yönelik güncelleştirmeleri ve düzeltme eklerini yönetmek için bu hizmeti kullanın. Bu hizmet sayesinde kullanılabilir güncelleştirmelerin durumunu değerlendirebilir, yükleme zamanlayabilir ve güncelleştirmelerin başarıyla uygulandığını doğrulamak için dağıtım sonuçlarını gözden geçirebilirsiniz. Güncelleştirme yönetimi, işlem ve yapılandırma yönetimi sunan hizmetler içerir. Doğrudan Azure Otomasyonu hesabınızdan bir VM için güncelleştirme yönetimini etkinleştirebilirsiniz. Ayrıca portaldaki sanal makine bölmesinden tek bir sanal makine için güncelleştirme yönetimini etkinleştirebilirsiniz.

Otomatik kapatma

Otomatik kapatma, Azure'da vm'lerinizi belirli bir zamanlamaya göre otomatik olarak kapatmanıza olanak tanıyan bir özelliktir. Vm'lerinizin gerekli olmadığında çalışmadığından emin olarak maliyet tasarrufu sağlamak için Otomatik kapatma özelliğini kullanın. Otomatik kapatma zamanlamasını günlük veya haftalık olarak ayarlayabilir ve zamanlamanın saat dilimini de belirtebilirsiniz.

Azure portalındaki bir VM'de Otomatik kapatma özelliğine gitmek için portalda VM'nin dikey penceresine gidin, "İşlemler" bölümünde "Otomatik kapatma" seçeneğine tıklayın ve ardından otomatik kapatma ayarlarını tercihlerinize göre yapılandırın.

Screenshot showing Auto-shutdown option for a VM.

Daha fazla bilgi için bkz . Otomatik kapatma.

Gördüğünüz gibi Azure, yönetim işlemlerini sizin için uygun bir işlemle tümleştirebilmeniz için kaynak oluşturmak ve yönetmek için çeşitli araçlar sağlar. Şimdi altyapı kaynaklarınızın düzgün şekilde çalıştığından emin olmak için diğer Azure hizmetlerine göz atalım.