Azure CLI ile Komut Satırından Azure Kaynaklarını Yönetmek
Azure CLI, Azure kaynaklarını portal yerine komut satırından ve betiklerle yönetmenizi sağlar. Kurulum ve oturum açmayı, komutları bulmayı, çıktıyı biçimlendirip süzmeyi ve tekrarlanabilir betikler yazmayı anlatır.
Bir bakışta
- Azure CLI, tarayıcıdaki Cloud Shell'de hazır gelir ya da yerele kurulur. Hızlı denemek için Cloud Shell, günlük işler ve otomasyon için yerel kurulum uygundur.
- Her iş, doğru abonelikte oturum açıp aboneliği seçmekle başlar. Yanlış abonelikte çalışmak en sık görülen ve en pahalı hatalardan biridir.
- Komutlar grup, alt grup ve komut sırasıyla gider ve her seviyede yardım alınır. Ezberlemek yerine yardım bayrağıyla ve arama komutuyla yolu bulmak beklenen çalışma biçimidir.
- Çıktı biçimi ve sorgu bayrakları, komutu betiğe uygun hale getirir. Tablo, JSON ya da düz metin seçilebilir; JMESPath sorgusu yalnız ihtiyaç duyulan alanı döndürür.
- Otomasyonda parolayla kullanıcı girişi yerine iş yükü kimliği kullanılır. Servis sorumluları ve yönetilen kimlikler çok faktörlü kimlik doğrulama etkisinden ayrı tutulur.
Azure CLI nedir, nerede çalışır?
Azure CLI, Azure kaynaklarını komut satırından yönetmek için kullanılan çok platformlu bir araçtır. Otomasyona ve betik yazmaya uygun olacak şekilde tasarlanmıştır ve Azure Resource Manager modeliyle uyumlu çalışır. Portalda tıklayarak yaptığınız işlerin çoğunu, aynı sırayla tekrar edilebilecek komutlara dönüştürmenizi sağlar.
Kullanım yolları şunlardır. Birincisi Azure Cloud Shell'dir: tarayıcıdan açılan, Bash ve PowerShell seçenekli, Azure CLI'nin güncel sürümüyle hazır gelen ortam. Kurulum gerektirmediği için denemek ve ara sıra iş yapmak için kolaydır. İkincisi yerel kurulumdur: kendi bilgisayarınıza kurup tercih ettiğiniz terminalde, kendi betik ve düzenleyicilerinizle çalışırsınız.
Portal keşif için, CLI tekrar ve otomasyon için iyidir. Birini diğerinin yerine koymak yerine, bir işi portalda öğrenip komutla tekrarlanabilir hale getirmek sağlıklı bir ilerleme yoludur.
Kurulum, oturum açma ve abonelik seçimi
Yerel kurulumdan sonra sürümü az version komutuyla görürsünüz; güncelleme için az upgrade komutu vardır. Oturum açmak için az login çalıştırılır. Tarayıcı açılabiliyorsa yetkilendirme akışı oturum açma sayfasını kendisi açar. Tarayıcı kullanılamıyorsa cihaz kodu akışı devreye girer ve terminalde gösterilen kodu bir tarayıcı sayfasına girmeniz istenir; bu akışı az login --use-device-code ile de zorlayabilirsiniz.
Oturum açınca erişebildiğiniz abonelikler listelenir ve geçerli olan işaretlenir. Başka bir aboneliğe geçmek için az account set --subscription ile abonelik kimliği ya da adı verilir. Birden çok aboneliği olan kullanıcılar için bu adım kritiktir: bir kaynak grubunu yanlış abonelikte oluşturmak ya da silmek, sonradan düzeltmesi zahmetli hatalardır.
Microsoft'un belgesine göre komut satırı araçlarında Microsoft Entra kullanıcı kimlikleri için çok faktörlü kimlik doğrulama gerekir; bu servis sorumlularını ve yönetilen kimlikleri etkilemez. Kullanıcı adı ve parolayla betik çalıştıran otomasyonlar bu yüzden iş yükü kimliğine taşınmalıdır.
Komut yapısı: grup, alt grup, komut
Azure CLI komutları komut gruplarında toplanır; her grup bir Azure hizmet alanını temsil eder. Örneğin az vm sanal makinelerle ilgili komutları, onun altındaki az vm availability-set erişilebilirlik kümeleriyle ilgili alt grubu toplar. Komutun sonuna eklenen parametreler işi tarif eder.
Komutu bulmak için ezberlemek gerekmez. Komut bulmanın yolları şunlardır: az find ile adında bir sözcük geçen komutları aramak ve herhangi bir seviyede --help eklemek. Örneğin az vm --help alt grupları listeler, az vm create --help ise zorunlu parametreleri ve örnek kullanımları gösterir. Yardım çıktısındaki örnekler çoğunlukla doğrudan uyarlanabilir: az vm create -g MyResourceGroup -n MyVm --image MyImage gibi.
Bash ortamında sekme tamamlama komut ve parametre adlarını yazmayı kolaylaştırır. Etkileşimli mod için az interactive komutu, satır içi yardım ve komut önerileri sunar.
Her seviyede --help ile bir alt seviyeye inilir
Komut hiyerarşisi
- Komut grubuBir hizmet alanını temsil eder; örneğin az vm.
- Alt grupGrubun bir parçasını toplar; örneğin az vm availability-set.
- Komut ve parametrelerİşi yapar; örneğin az vm create ve zorunlu parametreleri.
Çıktıyı biçimlendirmek ve sorgulamak
Birçok komut JSON döndürür; ekranda okumak için ağır, betikte ayrıştırmak için kullanışlıdır. Bunu iki bayrak çözer. --output ile biçim seçilir: json, jsonc, tsv, table ya da yaml. İnsan okuyacaksa tablo, betik okuyacaksa tsv ya da json uygundur.
--query bayrağı ise JMESPath sorgusuyla yalnız ihtiyaç duyulan alanları süzer. Büyük bir kaynak listesinden yalnız adları almak ya da bir kaynağın tek bir özelliğini bir değişkene yazmak bu sayede kolaydır. Sorguyu ve çıktı biçimini birlikte kullanmak betiklerde sık görülen bir kalıptır.
Diğer yararlı genel bayraklar şunlardır:
- --verbose: Çalışma ayrıntılarını yazdırır.
- --debug: Alttaki REST çağrılarını gösterir; hata ayıklamada işe yarar.
- --subscription: O komut için aboneliği belirler.
- --only-show-errors: Kritik olmayan çıktıyı bastırır.
Betiklerle kaynak yönetmek: değişken bloğu ve temizlik
Tek komut işin yarısıdır. Gerçek değer, aynı işi tekrar tekrar aynı şekilde yapan betiktir. Microsoft'un örnek betikleri bir kalıp izler: başta bir değişken bloğu (konum, kaynak grubu adı, kaynak adları), ardından kaynak grubunu oluşturan komut, sonra diğer kaynaklar. Örneğin kaynak grubu şöyle oluşturulur:
az group create --name $resourceGroup --location "$location"
Değişkenler sayesinde aynı betik farklı ortamlarda yalnız değişken bloğu değiştirilerek çalışır. Sunucu adı gibi evrensel olarak benzersiz olması gereken adlara rastgele bir sayı eklemek, örnek betiklerde kullanılan bir çözümdür.
Deneme bitince kaynakları silmek de betiğin parçası olmalıdır. Kaynak grubu silindiğinde içindeki kaynaklar da kaldırılır, bu yüzden temizlik tek komutla yapılır:
az group delete --name $resourceGroup
Bu komut güçlüdür: doğru abonelikte olduğunuzu ve doğru grubu hedeflediğinizi silmeden önce kontrol edin. Belgelerdeki örnekler Bash için yazılmıştır; çok satırlı betikler PowerShell ya da Cmd'de söz dizimi uyarlaması gerektirebilir.
Sık yapılan hatalar
Azure CLI hataları çoğunlukla komutun kendisinden değil, çevresinden gelir:
- Aboneliği kontrol etmeden komut çalıştırmak: Kaynaklar yanlış abonelikte oluşur ya da silinir. Doğrusu, önemli işten önce geçerli aboneliği doğrulamak ve gerekirse --subscription kullanmaktır.
- Otomasyonda kullanıcı parolasıyla giriş: Çok faktörlü kimlik doğrulama bu akışı bozar ve parola betikte kalır. Doğrusu, servis sorumlusu ya da yönetilen kimlik kullanmaktır.
- Her şeyi tek komutla çözmeye çalışmak: Uzun, okunmaz tek satırlar bakımı zorlaştırır. Doğrusu, değişken kullanıp adımları ayırmaktır.
- Yardımı okumadan parametre tahmin etmek: Zorunlu parametreler ve örnekler komutun --help çıktısında yazar.
- Deneme kaynaklarını temizlememek: Kullanılmayan kaynaklar maliyet yaratır. Kaynak grubu silerek hepsi birlikte kaldırılır.
Aynı iş, daha güvenli ve tekrarlanabilir yapılabilir
Bu beceriyi Mindset programlarında nerede çalışırsınız?
Mindset kataloğundaki Microsoft Azure Eğitimi, Azure kaynaklarını oluşturma ve yönetme, ağ yapılandırması, kimlik ve erişim yönetimi, depolama ve veri hizmetleri gibi başlıkları içerir; komut satırı becerisini kaynak yönetimiyle birleştirmek isteyen bulut çalışmalarına başlayanlar için geniş bir çerçeve sunar.
Azure Administrator hazırlık programı ise abonelik yönetimi, sanal makine, ağ ve depolama yönetimi, izleme ve yedekleme başlıklarını sınav hazırlığı çerçevesinde işler. Günlük yönetim görevlerini komutla otomatikleştirmek isteyen sistem yöneticileri için daha odaklıdır.
İlgili Mindset programı
Microsoft Azure Eğitimi
Sık sorulan sorular
Azure CLI mı yoksa Azure PowerShell mi kullanmalıyım?
İkisi de Azure kaynaklarını yönetir. Azure CLI Bash tarzı komut yapısıyla çok platformlu çalışır ve belgelerdeki örnekler çoğunlukla Bash içindir. Zaten PowerShell kullanan ekipler için Azure PowerShell doğal olabilir. Seçimi ekip alışkanlığı ve mevcut betikler belirler; kaynaklar aynıdır, komut söz dizimi farklıdır.
Komutu hatırlamıyorsam nasıl bulurum?
az find ile komut adında geçen bir sözcüğü aratabilir ya da herhangi bir grup, alt grup ya da komutun ardına --help ekleyebilirsiniz. Yardım çıktısı alt grupları, parametreleri ve kullanım örneklerini listeler. Ayrıca belgelerdeki komut referans dizini tüm grupları alfabetik olarak gösterir.
Betiğimi başkalarıyla paylaşırken nelere dikkat etmeliyim?
Parolaları, anahtarları ve abonelik kimliği gibi ortam bilgilerini betiğe yazmayın; değişken olarak dışarıdan verin. Hangi kabukta (Bash, PowerShell) yazıldığını belirtin, çünkü çok satırlı komutlar kabuğa göre farklılaşır. Silme komutları için onay adımı ekleyin.
Cloud Shell ile yerel kurulum arasındaki fark nedir?
Cloud Shell tarayıcıdan açılır, Azure CLI güncel sürümüyle hazır gelir ve kurulum gerektirmez. Yerel kurulumda kendi terminalinizi, düzenleyicinizi ve betik depolarınızı kullanırsınız. Ara sıra iş ve deneme için Cloud Shell, düzenli geliştirme ve otomasyon için yerel kurulum daha uygundur.
Komut çıktısı neden bu kadar uzun?
Çoğu komut varsayılan olarak ayrıntılı JSON döndürür. --output table ile tablo biçimine geçebilir, --query ile yalnız gereken alanları seçebilirsiniz. Betikte çıktıyı değişkene almak için de bu yöntem kullanılır. Hata ayıklarken ise --debug bayrağı alttaki çağrıları gösterir.
İlgili rehberler
İlgili eğitimler
Kategori: DevOps ve Bulut Teknolojileri