Alıştırma - Azure CLI’dan bir Azure VM görüntüsü oluşturma ve yeni bir VM sağlama
Bu örnek senaryoda kuruluşunuz, Azure’da sanal makineler kullanan yeni bir ortam dağıtıyor. Kuruluşun işlevlerini desteklemek için gereken yazılım ve araçları içeren bir sanal makineyi zaten oluşturdunuz. Yeni sanal makine örnekleri oluşturmak için kullanabileceğiniz özel bir görüntü oluşturmak üzere bu sanal makineyi kullanmanız gerekiyor.
Bu alıştırmada, bir sanal makine oluşturacak ve genelleştireceksiniz. Ardından genelleştirilmiş sanal makineden bir görüntü oluşturacak ve ardından bu görüntüyü kullanarak başka bir sanal makine oluşturacaksınız. Önceki kutuda platform türünü seçerek bunu Windows veya Linux (ya da her ikisi) ile deneyebilirsiniz.
Varsayılan kaynak grubunuzu ayarlama
Azure Korumalı Alanında oturum açarak sağdaki Cloud Shell penceresini etkinleştirin.
Sağdaki Cloud Shell penceresine aşağıdaki komutu yazarak birlikte çalışılacak varsayılan kaynak grubunu ayarlayın. Bu, tüm komutlardan kaynak grubu adını çıkarmanıza olanak sağlar.
az configure --defaults group="<rgn>[Sandbox resource group name]</rgn>"
Sanal makine oluşturun
Bu görevde, basit bir web uygulaması çalıştıran bir sanal makineyi hızlıca oluşturacaksınız. Web uygulaması konak makinenin adını görüntüler. Bu sanal makineyi, alıştırmanın geri kalanında temel alacaksınız.
Azure Cloud Shell’de, IIS çalıştıran bir Windows Server Datacenter sanal makinesi oluşturmak için aşağıdaki komutları çalıştırın. azureuser parolası sorulduğunda tercih ettiğiniz parolayı girin.
az vm create \ --name MyWindowsVM \ --image Win2019Datacenter \ --admin-username azureuser
VM oluşturmayı tamamladığında IIS'yi yüklemek ve varsayılan bir web sayfası ayarlamak için aşağıdaki komutu çalıştırın:
az vm extension set \ --name CustomScriptExtension \ --vm-name MyWindowsVM \ --publisher Microsoft.Compute \ --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $(hostname)"}'
IIS yüklemeyi tamamladığında, web sunucusuna 80 numaralı bağlantı noktasını açmak için aşağıdaki komutu çalıştırın:
az vm open-port \ --name MyWindowsVM \ --port 80
Yeni sanal makinenin genel IP adresini bulmak için aşağıdaki komutu çalıştırın:
echo http://$(az vm list-ip-addresses \ --name MyWindowsVM \ --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \ --output tsv)
Web tarayıcısında, sanal makinenin genel IP adresine gidin. Sanal makinenin (MyWindowsVM) adını görüntüleyen bir web sayfasının göründüğünü doğrulayın.
Cloud Shell’de, Nginx çalıştıran bir Ubuntu Server sanal makinesi oluşturmak için aşağıdaki komutları çalıştırın.
az vm create \ --name MyUbuntuVM \ --image Ubuntu2204 \ --generate-ssh-keys az vm open-port \ --name MyUbuntuVM \ --port 80 az vm extension set \ --publisher Microsoft.Azure.Extensions \ --name CustomScript \ --vm-name MyUbuntuVM \ --settings '{"commandToExecute":"apt-get -y update && apt-get -y install nginx && hostname > /var/www/html/index.html"}'
VM oluşturmayı tamamladığında, yeni sanal makinenin genel IP adresini bulmak için aşağıdaki komutu çalıştırın:
echo http://$(az vm list-ip-addresses \ --name MyUbuntuVM \ --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \ --output tsv)
Web tarayıcısında, sanal makinenin genel IP adresine gidin. MyUbuntuVM adlı sanal makinenin adını gösteren bir web sayfası görüntülendiğini doğrulayın.
Sanal makineyi genelleştirme
Azure Portal oturum açın.
Azure portalı menüsünde veya Giriş sayfasında Kaynak grupları’nı seçip
[Korumalı alan kaynak grubu adı] kaynak grubunu belirleyin.MyWindowsVM sanal makinesini seçin.
MyWindowsVM sayfasında Bağlan seçin ve ardından Yerel RDP kutusunda Seç düğmesini seçin.
Yerel RDP penceresinde RDP Dosyasını İndir'i seçin.
RDP dosyası indirildiğinde, sanal makineye bir RDP bağlantısı açmak için seçin.
Uzak Masaüstü Bağlantısı iletişim kutusunda Bağlan’ı seçin.
Windows Güvenliği iletişim kutusunda Diğer seçenekler'i ve ardından Başka bir hesap kullanın'ı seçin.
azureuser kullanıcı adı ve özgün sanal makineyi oluştururken kullandığınız yönetici parolası ile oturum açın.
Devam etmek için Uzak Masaüstü Bağlantısı iletişim kutusunda Evet’i seçin.
Sanal makinede, ekranın sol alt köşesindeki Ara düğmesini seçin.
Aramak için buraya yazın kutusuna Komut İstemi yazın, ancak Enter tuşunu seçmeyin.
En iyi eşleşme penceresinde Komut İstemi uygulamasına sağ tıklayıp Yönetici olarak çalıştır’ı seçin.
Komut İstemi penceresinde, Sysprep aracını çalıştırmak için aşağıdaki komutu kullanın:
C:\windows\system32\sysprep\sysprep
Sistem Hazırlama Aracı iletişim kutusunda aşağıdaki ayarları ve ardından Tamam'ı seçin:
Özellik Değer Sistem Temizleme Eylemi Sistem İlk Çalıştırma Deneyimi’ni (OOBE) girin Genelleştir Seç Kapatma Seçenekleri Kapat Sysprep aracının bitmesini ve sanal makine ile bağlantının sona ermesini bekleyin. Ardından, Uzak Masaüstü Bağlantısı ileti kutusunda Tamam’ı seçin.
Cloud Shell penceresinde aşağıdaki komutu çalıştırarak sanal makineyi serbest bırakın:
az vm deallocate \ --name MyWindowsVM
VM serbest bırakma işlemini tamamladığında, sanal makineyi genelleştirmek için aşağıdaki komutu çalıştırın:
az vm generalize \ --name MyWindowsVM
Cloud Shell penceresinde Ubuntu sanal makinesine bağlanmak için aşağıdaki komutu çalıştırın.
<ip address>
değerini, ayarlama görevi sırasında not ettiğiniz sanal makine genel IP adresi ile değiştirin.ssh -o StrictHostKeyChecking=no <ip address>
Sanal makineyi genelleştirmeye hazırlamak için aşağıdaki komutu çalıştırın:
sudo waagent -deprovision+user
Devam etmek istiyor musunuz (y/n) isteminde y yazın ve Enter tuşuna basın.
İşlem tamamlandığında, sanal makine bağlantısını sonlandırmak için aşağıdaki komutu çalıştırın:
exit
Cloud Shell'de aşağıdaki komutu çalıştırarak sanal makineyi serbest bırakın:
az vm deallocate \ --name MyUbuntuVM
VM serbest bırakma işlemini tamamladığında, sanal makineyi genelleştirmek için aşağıdaki komutu çalıştırın:
az vm generalize \ --name MyUbuntuVM
Sanal makine görüntüsü oluşturma
Genelleştirilmiş sanal makineden MyVMImage adlı bir sanal makine görüntüsü oluşturmak için aşağıdaki komutu çalıştırın:
az image create \
--name MyVMIMage \
--source MyWindowsVM
Genelleştirilmiş sanal makineden MyVMImage adlı bir sanal makine görüntüsü oluşturmak için aşağıdaki komutu çalıştırın:
az image create \ --name MyVMIMage \ --source MyUbuntuVM
Yeni görüntüyü kullanarak sanal makine oluşturma
MyVMImage görüntüsünü kullanarak yeni bir sanal makine oluşturmak için aşağıdaki komutu çalıştırın:
az vm create \ --name MyVMFromImage \ --computer-name MyVMFromImage \ --image MyVMImage \ --admin-username azureuser \ --generate-ssh-keys
VM oluşturmayı tamamladığında, varsayılan web sayfasını sunucu adıyla güncelleştirmek için aşağıdaki komutu çalıştırın:
az vm extension set \ --publisher Microsoft.Azure.Extensions \ --name CustomScript \ --vm-name MyVMFromImage \ --settings '{"commandToExecute":"hostname > /var/www/html/index.html"}'
Varsayılan web sayfasının güncelleştirilmesi tamamlandığında, yeni sanal makinede 80 numaralı bağlantı noktasını açmak için aşağıdaki komutu çalıştırın:
az vm open-port \ --name MyVMFromImage \ --port 80
Yeni sanal makinenin genel IP adresini bulmak için aşağıdaki komutu çalıştırın:
echo http://$(az vm list-ip-addresses \ --name MyVMFromImage \ --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \ --output tsv)
Web tarayıcısında, yeni sanal makinenin genel IP adresine gidin. Web sayfasının, görüntünün oluşturulduğu MyVMFromImage adlı sanal makineyi gösterdiğini doğrulayın.
MyVMImage görüntüsünü kullanarak yeni bir sanal makine oluşturmak için aşağıdaki komutu çalıştırın. Özgün sanal makineyi oluştururken kullandığınız azureuser parolasını girin.
az vm create \ --name MyVMFromImage \ --computer-name MyVMFromImage \ --image MyVMImage \ --admin-username azureuser
VM oluşturmayı tamamladığında, aşağıdaki komutu çalıştırarak varsayılan web sayfasını sunucu adıyla güncelleştirin:
az vm extension set \ --name CustomScriptExtension \ --vm-name MyVMFromImage \ --publisher Microsoft.Compute \ --settings '{"commandToExecute":"powershell Clear-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\"; Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $(hostname)"}'
Varsayılan web sayfasının güncelleştirilmesi tamamlandığında, yeni sanal makinede 80 numaralı bağlantı noktasını açmak için aşağıdaki komutu çalıştırın:
az vm open-port \ --name MyVMFromImage \ --port 80
Yeni sanal makinenin genel IP adresini bulmak için aşağıdaki komutu çalıştırın:
echo http://$(az vm list-ip-addresses \ --name MyVMFromImage \ --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \ --output tsv)
Web tarayıcısında, yeni sanal makinenin genel IP adresine gidin. Web sayfasının, görüntünün oluşturulduğu MyVMFromImage adlı sanal makineyi gösterdiğini doğrulayın.
Kaynaklarınızı temizleme
Bu modülle işiniz bittiğinde korumalı alan kaynaklarınızı otomatik olarak temizler.
Kendi aboneliğinizde çalışırken, projenin sonunda oluşturduğunuz kaynaklara hala ihtiyacınız olup olmadığını belirlemek iyi bir fikirdir. Çalışır durumda bırakılan kaynaklar maliyetlerin artmasına neden olabilir. Kaynakları teker teker silebilir veya tüm kaynak grubunu silerek kaynak kümesinin tamamını kaldırabilirsiniz.