Bu makale ile Azure Resource Graph ve onu farklı kılan özelliklerine bakacağımız bir yazı serisine başlıyoruz. Azure Resource Graph‘ı daha önce hiç kullanmamış olabilir ya da ilk defa duyuyor olabilirsiniz, fakat bu yazı serisiyle onunla tanışmış olacaksınız. Bu seri içerisinde gerçek senaryolar üzerinden örnekler vermeye ve onları geliştirmeye çalışacağız. Şimdi daha fazla detaya inmeden yazımıza devam edelim.
Azure Resource Graph Nedir?
En temel anlatımla Azure Resource Graph, Azure içerisinde bulunan bir servis olup, Azure Resource Manager’ın bir uzantısı yani extension’ı diyebiliriz. Peki ama tam olarak ne sağlıyor ve neden kullanmalıyız sorusuna cevap için Azure Resource Graph kullanarak organizasyonunuz içerisinde bulunan tüm subscriptionlar içerisinde yapabileceğimiz aksiyonları örnek gösterebiliriz. Bunlar sırasıyla:
* Daha hızlı ve performanslı kompleks resource sorguları yapabilmek ve filtreler uygulayabilmek
* Governance gereksinimleri olan (Azure Policy, Advisor ve Defender for Cloud vb) gibi kaynakalar için organizasyonunuzun kriterlerine uyup uymadığını düzenli olarak raporlayabilmek
* Yukarıda bulunan tüm Azure Resource Graph sorgulamalarını bir WorkBook haline getirip paylaşabilmek ve rapor özelinde devamlılık sağlayabilmek
Azure Resource Manager, şu anda temel özellikleri olan – Resource Name, Resource Id , Type, Resource Group, Susbscription ve Location üzerindeki sorgulamaları desteklemektedir. Azure Resource Manager ile ayrıntılı özellikleri listelemek için istediğiniz resource tiplerine sorgulama yapmanız ve onları çağırmanız gerekmektedir.
Azure Resource Graph ile herhangi bir özelliğe erişmek için ilgili resource provider’a gitmeniz yeterli olacaktır. Resource Graph kullanarak yapacağımız her sorgulama için Kusto Query Language(KQL) diline hakim olmamız gerekmektedir. Eğer bu dile dair hiçbir bilgimiz yok ise lütfen Microsoft sayfası üzerinden dil yapısını incelemeye çalışalım.
Resim-2
Yukarıda bulunan resimde gördüğünüz gibi, Azure Resource Graph Explorer’a eriştikten sonra sol tarafta karşımıza çıkan Resource Explorer Schema browser üzerinden ilgili Resource tablolarını aratabilir ve sorgulamalarınızı ona göre yapabilirsiniz.
Azure Resource Graph nasıl güncel kalıyor?
Bir Azure kaynağı güncelleştirildiğinde, Resource Graph, Resource Manager tarafından değişiklik hakkında bilgilendirilir. Resource Graph daha sonra veritabanını günceller. Resource Graph ayrıca kendi içerisinde tekrar güncellenen/oluşturulan kaynak için devamlı bir tarama yapar. Bu tarama sayesinde kaçırılan güncellemeler varsa veya bir kaynak Resource Manager dışında güncellenmişse; Resource Manager, Resource Graph’ı uyarır ve tüm verilerinin güncel olmasını sağlar. Yani özetle Azure Resource Graph başta da belirttiğimiz gibi Azure Resource Manager’in bir uzantısı olduğu için herhangi bir yeni kaynak provision edildiğinde, silindiğinde veya güncellendiğinde Resource Graph tarafından takip edilir ve Resource Graph’ın tabloları güncellenir.
Azure Resource Graph nasıl bir yetki gerektiriyor?
Resource Graph içerisinde bir sorgulama yapabilmek için sorgulamak istediğiniz kaynak üzerinde kesinlikle en az `Reader` iznine sahip olmamız gerekiyor. Eğer bu izne dahi sahip değilseniz, sorgulama yapmak istediğiniz kaynak üzerinde Azure Resource Graph size boş bir sonuç verecektir.
Resource Graph kullanarak örnek sorgulamalar
Azure portalının bir parçası olan Azure Resource Graph Explorer, Resource Graph sorgulamalarının doğrudan Azure portalında çalıştırılmasına olanak tanır. Portal üzerinden yapmış olduğunuz sorgulamaları kaydetme hakkına sahip olup; onları grafik haline dönüştürüp, Azure Portal üzerinde pin’leyebilirsiniz.
Bununla beraber başka araçlar kullanarak da sorgulamalar yapabilirsiniz.
* Azure portal ve Resource Graph Explorer
* Azure CLI
* Azure PowerShell
* Python
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: Azure Resource Graph, KQL, Resource Manager, Azure Resource Graph nedir