Azure PowerShell ile sanal makine oluşturma
Bu öğreticide, Azure PowerShell ile sanal makine ayarlama işleminde yer alan adımların tümünü öğreneceksiniz. Öğreticide aynı zamanda çıktı sorguları, Azure kaynağı yeniden kullanımı ve kaynak temizleme de ele alınmaktadır.
Bu öğreticiyi Azure Cloud Shell üzerinden sunulan etkileşimli deneyimle tamamlayabilir veya Azure PowerShell’i yerel olarak yükleyebilirsiniz.
Öğretici metnini Azure Cloud Shell’e yapıştırmak için Ctrl+Shift+V (macOS’ta Cmd+Shift+V) tuşlarını kullanın.
Oturum açın
Azure PowerShell’in yerel bir yüklemesini kullanıyorsanız diğer adımları uygulamadan önce oturum açmanız gerekir.
Connect-AzAccount
Terminalinizde görüntülenen adımları uygulayarak oturum açma işlemini tamamlayın.
Kaynak grubu oluşturma
Azure’da tüm kaynaklar bir kaynak yönetimi grubunda ayrılır. Kaynak grupları, kaynaklar için mantıksal gruplamalar sağlar; bu da, kaynaklarla koleksiyon olarak çalışabilmeyi kolaylaştırır.
Bu öğreticide, oluşturulan kaynakların tümü TutorialResources
adlı tek bir gruba dahil edilir.
New-AzResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources
VM için yönetici kimlik bilgileri oluşturma
Yeni bir sanal makine oluşturabilmek için Windows VM’nin yönetici hesabının kullanıcı adını ve parolasını içeren bir kimlik bilgisi nesnesi oluşturmanız gerekir.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
İstendiğinde kullanıcı adını ve parolayı girin. Sonuçta elde edilen kimlik bilgisi nesnesi, bir sonraki adımda parametre olarak geçirilir.
Windows PowerShell credential request.
Enter a username and password for the virtual machine.
User: tutorAdmin
Password for user tutorAdmin: *********
Sanal makine oluşturun
Azure’daki sanal makinelerin çok sayıda bağımlılığı vardır. Azure PowerShell, belirttiğiniz komut satırı bağımsız değişkenlerine göre bu kaynakları oluşturur. Okunabilirlik açısından, parametreleri Azure PowerShell cmdlet’lerine geçirmek için PowerShell topluca geçirme yöntemini kullanıyoruz.
Windows çalıştıran yeni bir sanal makine oluşturun.
$vmParams = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM1'
Location = 'eastus'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'tutorialPublicIp'
Credential = $cred
OpenPorts = 3389
Size = 'Standard_D2s_v3'
}
$newVM1 = New-AzVM @vmParams
VM oluşturulurken kullanılan yerel değerleri ve oluşturulan Azure kaynaklarını görebilirsiniz. PowerShell, aşağıda gösterildiği gibi bir ilerleme çubuğu görüntüler.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
VM hazır olduktan sonra azure portalda veya değişkenini $newVM1
inceleyerek sonuçları görüntüleyebiliriz.
$newVM1
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM1
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
Köşeli parantez içinde listelenen özellik değerleri, iç içe geçmiş nesnelerdir. Sonraki adımda size bu iç içe geçmiş nesnelerde belirli değerlerin nasıl görüntüleneceğini göstereceğiz.
Sorgularla VM bilgilerini alma
Şimdi, yeni oluşturduğumuz VM'den biraz daha ayrıntılı bilgi alalım. Bu örnekte, oluşturduğumuz VM’nin ve yönetici hesabının Adını doğrulayacağız.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Ağ yapılandırması hakkında belirli bilgiler almak için diğer Azure PowerShell komutlarını kullanabiliriz.
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object -Property Name, PrivateIpAddress
Bu örnekte, $newVM 1 nesnesini cmdlet'ine göndermek için Get-AzNetworkInterface
PowerShell işlem hattını kullanıyoruz. Sonuçta elde edilen ağ arabirimi nesnesinden, iç içe geçmiş IpConfigurations nesnesini seçiyoruz. IpConfigurations nesnesinden Name ve PrivateIpAddress özelliklerini seçiyoruz.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
VM’nin çalışır durumda olduğunu doğrulamak için Uzak Masaüstü aracılığıyla bağlantı kurmamız gerekiyor. Bunun için Genel IP adresini bilmemiz gerekir.
$publicIp = Get-AzPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp |
Select-Object -Property Name, IpAddress, @{label='FQDN';expression={$_.DnsSettings.Fqdn}}
Bu örnekte ve kullanırız ve sonuçları değişkeninde $publicIp
depolarızGet-AzPublicIpAddress
. Bu değişkenden özellikleri seçiyoruz ve iç içe geçmiş Fqdn özelliğini almak için bir ifadeyi kullanıyoruz.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
VM’ye Uzak Masaüstü aracılığıyla bağlanmak için yerel makinenizden aşağıdaki komutu çalıştırabilirsiniz.
mstsc.exe /v $publicIp.IpAddress
Nesne özelliklerini sorgulama hakkında daha fazla bilgi için bkz. Azure kaynakları için sorgulama.
Mevcut alt ağda yeni bir VM oluşturma
İkinci VM mevcut alt ağı kullanır.
$vm2Params = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM2'
ImageName = 'Win2016Datacenter'
VirtualNetworkName = 'TutorialVM1'
SubnetName = 'TutorialVM1'
PublicIpAddressName = 'tutorialPublicIp2'
Credential = $cred
OpenPorts = 3389
}
$newVM2 = New-AzVM @vm2Params
$newVM2
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM2
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM2
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : tutorialvm2-dfa5af.eastus.cloudapp.azure.com
Nesnenin FullyQualifiedDomainName özelliğinde $newVM2
döndürüldükten sonra yeni VM'nin genel IP adresini almak için birkaç adımı atlayabilirsiniz. Uzak Masaüstü kullanarak bağlantı kurmak için aşağıdaki komutu kullanın.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Temizleme
Öğretici tamamlandığına göre oluşturulan kaynakları temizlemenin zamanı geldi. Remove-AzResource
komutuyla kaynakları tek tek silebilirsiniz ancak bir kaynak grubundaki tüm kaynakları kaldırmanın en güvenli yolu Remove-AzResourceGroup
komutunu kullanarak grubu silmektir.
$job = Remove-AzResourceGroup -Name TutorialResources -Force -AsJob
$job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost Remove-AzResource...
Bu komut, öğretici sırasında oluşturulan kaynakları siler ve bunların doğru sırada serbest bırakılmasını sağlar. Silme işlemi gerçekleşirken AsJob
parametresi, PowerShell’in engellenmesini önler. Silme işlemi tamamlanana kadar bekleyin ve aşağıdaki komutu kullanın:
Wait-Job -Id $job.Id
Temizleme tamamlandığında öğretici sona erer. Öğrendiklerinizin özeti üzerinden geçmek ve sonraki adımlar konusunda size yardımcı olacak kaynakların bağlantılarını görüntülemek için devam edin.
Özet
Tebrikler! Yeni veya mevcut kaynaklarla VM oluşturmayı öğrendiniz, kabuk değişkenlerinde depolanacak verileri yakalamak için ifadeleri ve diğer Azure PowerShell komutlarını kullandınız, Azure VM’leri için oluşturulan bazı kaynaklara göz attınız.
Bu noktadan itibaren izleyeceğiniz rota Azure PowerShell’i nasıl kullanmayı planladığınıza bağlıdır. Bu öğreticide ele alınan özelliklerin daha kapsamlı olarak incelendiği çok sayıda kaynak mevcuttur.
Ayrıntılı Azure PowerShell belgeleri
Biraz zaman ayırıp Azure PowerShell belgelerinin tamamını isteyebilirsiniz.
Bu öğreticide kullanılan komutlar hakkında daha fazla bilgi için aşağıdaki makalelere bakın.
- New-AzResourceGroup
- Get-Credential
- New-AzVM
- Select-Object
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
- Wait-Job
Öğreticide gösterilen özelliklerin ayrıntılarının incelendiği makaleler de mevcuttur.
Örnek betikler
Belirli görevlerle hızlı bir başlangıç yapmak istiyorsanız bazı örnek betiklere göz atın.
Geri Bildirim
Geri bildirim vermek, öneride bulunmak veya soru sormak istiyorsanız çeşitli şekillerde iletişime geçebilirsiniz.
Send-Feedback
, Azure PowerShell için takıma serbest biçimli geri bildirim sağlamanıza olanak tanıyan yerleşik bir komuttur.- Azure PowerShell deposuna bir özellik isteği veya hata raporu kaydedin.
- Azure PowerShell belge deposuna bir sorun kaydederek soru sorun veya açıklama alın.
Azure PowerShell'i kullanmaktan keyif alabileceğinizi umuyoruz!
Bu bölümle ilgili bir sorununuz mu var? Öyleyse bu bölümü iyileştirebilmemiz için lütfen geri bildirimde bulunun.
Azure PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin