Tags Nedir ?
Tag yani etiket anlamına gelmektedir. Azure ortamınızdaki bir kayanağa etiketleme sağlayarak onun ortamınızda kolayca bulunmasını , Maliyet Hesaplamasının yapılmasını, Kategorize edilmesini sağlayabilirsiniz. Bu anlamda bu işlemlerin sağlanması size ortamınızdaki raporlamanızda yada işlemlerinizde çok büyük ivme kazandırıyor olacaktır.
Etiketler sadece isimdir. Kaynaklarımızı Azure Cloud içinde düzenlemek için Name:Value ve bunları kaynaklarımıza atayabiliriz. Örneğin ; Belirli bir departman tarafından özel olarak kullanılan bazı kaynaklarımız var ;
İnsan Kaynakları Departmanı gibi. Bu etiketi oluşturarak bu kaynaklara atayabiliriz. Yani Departmana göre ; İnsan Kaynakları departmanına ait olan kaynakları etiketleyebiliriz.
İçinde bulundukları ortamın türüne bağlı olarak etiketleme yapabiliriz. Örnek olarak ; Canlı ortamda olan kaynaklar için Prod şeklinde etiketleme sağlayabiliriz.
Artık Azure Cloud’daki etiketlerimiz 512 Karakterlik veya 256 Karakterlik bir addan oluşabilir.
Depolama Hesapları için sadece 128 karakterli bir isimlendirme sağlayabilirsiniz.
Bu bilgilere istinaden bunları belirli kaynaklara atamasını gerçekleştirebiliriz. Yani Resource Group’lara ve Abonelikler için geçerli olacak şekilde atayabiliriz.
Kaynak etiketi atama hiyerarşisi
Kaynak etiketlerini ne zaman atasak ? Altındaki Kaynaklar nelerdir ?
Örnek olarak ; Aboneliği etiketlediğimiz durumda bu aboneliğin içindeki kaynaklar bu abonelik kapsamında sırf bunu aboneliğin kendisine uyguladığımız için bu etiketi devralmayacak. Yani kaynak grupları ve bireysel kaynaklar , bağımsız olarak etiketlenmelidir. Yani etiket mirasımız yoksa , Kaynaklar organize olsun diye etiketleme şemamıza göre her kaynağı ayrı ayrı etiketlememiz gerekiyor. Eklemek istediğimiz kaynak gruplarının her birini etiketleyebiliriz. İnsan Kaynakları adındaki Tag’leri Hem Subscription hemde Resource Group’larını etiketleriz. Ancak bireysel kaynakları farklı olarak etiketliyoruz. Örnek olarak ; Bir kaynak grubundaysa , Kaynak Grubundan bireysel kaynak düzeyine Prod olarak hepsini etiketleyebiliriz ve bu işlemi yine bağımsız olarak yapabiliriz. Çünkü Kaynak Etiketleri miras alınmaz.
Bir Kaynak 50’ye kadar etikete sahip olabilmektedir. Departman Bazlı , Ortam bazlı yada maliyet bazlı etiketlenebilmektedir.
Microsoft Azure ortamındaki kaynaklarımızı etiketleme ile alakalı uygulamalar gerçekleştirelim. Bu işlemlerimizi Azure Cloud Shell aracılığıyla gerçekleştireceğiz.
İlk olarak Azure Cloud Shell üzerinden Azure ortamımızdaki Kaynak grubumunuzun adını öğreniriz.
Sonrasında Etiketsiz sanal makinemizi oluşturacağız. ` komutları ile sonraki satırlara atlıyoruz.
New-AzVm `
-ResourceGroupName RG_WeUS `
-Name "Example-VM" `
-Location "West US" `
-VirtualNetworkName "ExampVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-PublicIpAddressName "myPublicIpAddress" `
-OpenPorts 80,3389
Şimdi Etiketli sanal makinemizi oluşturacağız. ` komutları ile sonraki satırlara atlıyoruz.
Tag’li Sanal Makine oluşturmak için aşağıdaki komutu kullanarak devam ederiz.
az vm create `
>> --resource-group RG_WestUS `
>> --name tagged-vm `
>> --image Win2016Datacenter `
>> --tags testproject=fordt
NOT : İmage listelerini öğrenmek için ; az vm image list komutunu kullanırız.
Sanal Makinemizin Dağıtımını tamamladık.
Azure Portalımıza geri dönerek , Sanal Makinemize ait Kaynağımızı görmek için ” Resource Group “ servisini seçerek ilerleriz. RG_WestUS adındaki Resource Group içeriğini kontrol ettiğimizde tagged-vm adındaki sanal makinemizin kaynaklarının oluştuğunu görürüz.
Resource Group içeriğinde bulunan ” Virtual Machine “ type olan Resource’muza tıklayacağız.
” Tagged-vm “ adındaki resource’muza tıkladığımızda ” Tags “ alanında powershell üzerinde belirlemiş olduğumuz Tag’lerimizin geldiğini görmüş oluruz.
Tekrardan Resource Group ekranımıza döndüğümüzde ” Network Security Group “ Resource seçeneğimizi seçeriz.
Network Security Group tipindeki Resource Grubumuzun etiketininde belirlemiş olduğumuz gibi konfigüre edildiğini görmüş oluruz.
imdi Ortamımızda ” testproject=fordt ” adındaki kaynakları Powershell ortamında çıktısını almak için aşağıdaki komutu kullanırız :
az resource list –tag testproject=fordt –query [].name -o tsv
Örnek olarak Kaynaklarımızın etiketlerini silmek istersek , yapabileceğimiz şey kaynak kimliğimizi alabilmek
az resource list –tag testproject=fordt –query [].id -o tsv
Örnek olarak Belirlemiş olduğumuz Tag’lerdeki Kaynaklarımızı silmek istersek ,
Foreach’i çalıştırırız. Bu parantez içerisinde tag içerisinde bulunan id’leri sorgularız.
Echo komutu ile kaynaklarımızın silineceğinin komut ekranında görünmesini sağlarız.
Kaynaklarımıza -ids parametresi ile belirterek , silme komutunu yazarak köşeli parantezimizi kapatırız.
foreach ($r in az resource list --tag testproject=fordt --query [].id -o tsv) {
>> echo " Deleting $r"
>> az resource delete --ids $r
>> }
Burada yaptığımız şey , her kaynağımız için bir for döngüsü kullanmaktı. Bu komutta r değişkeni temsil etmektedir. Bu komutun sonucunda ise , tüm bildiğimiz kaynak kimlikleri yani testproject=fordt isimli etiketin kaynaklarının her biri için silinme işlemini belirtmek. Resource Group sayfasını yenilediğimizde “ testproject=fordt ” isimli kaynaklarımızın silindiğini görmüş oluruz.
Daha Önce Etiket olmayan Sanal makineyi Tag’lemek için aşağıdaki komutu kullanarak işlemlerimizi gerçekleştirebiliriz. Musty-VM adındaki Sanal Makinemizde herhangi bir Tag bulunmadığını görmüş oluruz.
” Replace “ operasyonu ile Sanal Makinemizin Tags bilgilerini güncellemiş oluruz.
az tag update `
>> --resource-id (az vm show --resource-group RG_WestUS --name Musty-VM --query id -o tsv) `
>> --operation Replace `
>> --tags testproject=fordt
Ve ilgili Sanal makineyi veya tüm seçmiş olduğumuz kaynaklarımızı kontrol ettiğimizde Tags bölümünde belirlemiş olduğumuz etiketin geçerli olduğunu görmüş oluruz.
Bu işlemleri Azure Portal üzerinden ” Tags “ alanındaki ” Edit “ seçeneğini seçerek tag üzerinde işlem sağlayabilirsiniz.
Her Kaynak Ayrı Ayrı etiketlenmelidir ve otomatik olarak gerçekleşmektedir.
Makalemi zaman ayırıp okuduğunuz için çok teşekkür ederim. Diğer makalelerimde görüşmek üzere.
Faydalı olması Dileğiyle.