Azure PowerShell ile sanal makineler oluşturma
Bu öğreticide, Azure PowerShell ile sanal makine ayarlama işleminin tüm adımlarını öğreneceksiniz. Öğreticide çıkış sorguları, Azure kaynağının yeniden kullanımı ve kaynak temizleme de yer alır.
Bu öğretici, Azure Cloud Shell aracılığıyla sunulan etkileşimli deneyimle tamamlanabilir veya Azure PowerShell yerel olarak
Öğretici metnini Azure Cloud Shell'e yapıştırmak için
Oturum Aç
Azure PowerShell'in yerel yüklemesini kullanıyorsanız, diğer adımları gerçekleştirmeden önce oturum açmanız gerekir.
Connect-AzAccount
Terminalinizde görüntülenen adımları izleyerek 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ın koleksiyon olarak daha kolay çalışmasını sağlayan mantıksal gruplandırmalar sağlar.
Bu öğreticide, oluşturulan tüm kaynaklar TutorialResources
adlı tek bir gruba gider.
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şturabilmeniz için önce Windows VM'sinin 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. 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şturma
Azure'daki sanal makinelerin çok sayıda bağımlılığı vardır. Azure PowerShell, belirttiğiniz komut satırı bağımsız değişkenlerini temel alarak bu kaynakları sizin için oluşturur. Okunabilirlik için, parametreleri Azure PowerShell cmdlet'lerine geçirmek için PowerShell splatting 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 parametre değerlerini ve oluşturulan Azure kaynaklarını görürsünüz. 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 $newVM1
değişkenini 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üme ayraçlarının içinde listelenen özellik değerleri iç içe nesnelerdir. Sonraki adımda, bu iç içe nesnelerdeki belirli değerleri nasıl görüntüleyebileceğinizi göstereceğiz.
Sorgularla VM bilgilerini alma
Şimdi yeni oluşturduğumuz VM'den daha ayrıntılı bilgiler alalım. Bu örnekte VM'nin adını ve oluşturduğumuz yönetici hesabı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 Get-AzNetworkInterface
cmdlet'ine göndermek için PowerShell işlem hattını kullanıyoruz. Sonuçta elde edilen ağ arabirimi nesnesinden iç içe IpConfigurations nesnesini seçiyoruz. IpConfigurations nesnesinden Name ve PrivateIpAddress özelliklerini seçiyoruz.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
VM'nin çalıştığını onaylamak için Uzak Masaüstü aracılığıyla bağlanmamız gerekir. 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, Get-AzPublicIpAddress
kullanır ve sonuçları $publicIp
değişkeninde depolarız. Bu değişkenden özellikleri seçiyoruz ve iç içe Fqdn özelliğini almak için bir ifade kullanıyoruz.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
Yerel makinenizden aşağıdaki komutu çalıştırarak Uzak Masaüstü üzerinden VM'ye bağlanabilirsiniz.
mstsc.exe /v $publicIp.IpAddress
Nesne özelliklerini sorgulama hakkında daha fazla bilgi için bkz. Azure kaynaklarını 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
$newVM2
nesnesinin FullyQualifiedDomainName özelliğinde döndürüldükten sonra yeni VM'nin genel IP adresini almak için birkaç adımı atlayabilirsiniz. Uzak Masaüstü kullanarak bağlanmak için aşağıdaki komutu kullanın.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Temizleme
Öğretici tamamlandıktan sonra, oluşturulan kaynakları temizlemenin zamanı geldi.
Remove-AzResource
komutuyla tek tek kaynakları 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ı garanti edilir.
AsJob
parametresi, silme işlemi gerçekleşirken PowerShell'in engellenmesini engeller. Silme işlemi tamamlanana kadar beklemek için aşağıdaki komutu kullanın:
Wait-Job -Id $job.Id
Temizleme tamamlandıysa öğretici tamamlanır. Öğrendiğiniz her şeyin özeti için devam edin ve sonraki adımlarınızda size yardımcı olacak kaynaklara bağlanın.
Özet
Tebrikler! Yeni veya mevcut kaynaklarla VM oluşturmayı, ifadeleri ve diğer Azure PowerShell komutlarını kullanarak kabuk değişkenlerinde depolanacak verileri yakalamayı öğrendin ve Azure VM'leri için oluşturulan bazı kaynakları incelediniz.
Buradan nereye gideceğiniz, Azure PowerShell'i nasıl kullanmayı planladığınıza bağlıdır. Bu öğreticide ele alınan özellikler hakkında daha ayrıntılı bilgi veren çeşitli malzemeler vardır.
Ayrıntılı Azure PowerShell belgeleri
Azure PowerShell belgelerinin kümesinin tamamını keşfetmek
Bu öğreticide kullanılan komutlar hakkında daha fazla bilgi için aşağıdaki makalelere bakın.
- New-AzResourceGroup
- Get-Credential
- New-AzVM
- Nesne Seçme
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
- bekleme işi
Öğreticide gösterilen özelliklerin daha ayrıntılı bir şekilde ayrıntılarına inen makaleler de vardır.
- PowerShell'i
- Sorguları
- Biçimlendirme
- PowerShell işlerini kullanma
Örnek betikler
Belirli görevleri hemen kullanmaya başlamak istiyorsanız bazı örnek betiklere bakın.
- Azure App Service
- SQL Veritabanları
- Cosmos DB
- Örnekleri deposu
Geri besleme
Geri bildirimde bulunmak, önerilerde bulunmak veya soru sormak isterseniz, sizinle iletişime geçmenin çeşitli yolları vardır.
-
Send-Feedback
, Azure PowerShell'in takıma serbest biçimli geri bildirim sağlamanıza olanak tanıyan yerleşik bir komutudur. - Azure PowerShell deposubir özellik isteği veya hata raporu oluşturun.
- Azure PowerShell belge deposundabir sorun bildirerek bir soru sorun veya netleştirin.
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