Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede ağ hizmetleri için kanıtlanmış FinOps uygulamaları özetlenmektedir. Maliyet iyileştirme, verimlilik iyileştirmeleri ve kaynak içgörülerine odaklanır.
Azure Güvenlik Duvarı
Aşağıdaki bölümlerde Azure Güvenlik Duvarı için Azure Kaynak Grafı (ARG) sorguları sağlanır. Bu sorgular, Azure güvenlik duvarı kaynaklarınız hakkında içgörüler edinmenize ve bunların uygun ayarlarla yapılandırıldığından emin olmanıza yardımcı olur. Azure Danışmanı'nın kullanım örüntülerini analiz ederek ve önerileri gün yüzüne çıkararak, Azure güvenlik duvarı yapılandırmalarınızı maliyet verimliliği için optimize edebilirsiniz.
Sorgu: Azure güvenlik duvarı ve güvenlik duvarı ilkeleri analizi
Bu ARG sorgusu, Azure ortamınızda Azure güvenlik duvarlarını ve bunların ilişkili güvenlik duvarı ilkelerini analiz eder. Özel olarak premium SKU katmanına sahip güvenlik duvarlarını hedefler ve ilişkili güvenlik duvarı ilkelerindeki yapılandırmaların premium özelliklerden yararlandığını doğrular.
Kategori
İyileştirme
Sorgu
resources
| where type =~ 'Microsoft.Network/azureFirewalls' and properties.sku.tier=="Premium"
| project FWID=id, firewallName=name, SkuTier=tostring(properties.sku.tier), resourceGroup, location
| join kind=inner (
resources
| where type =~ 'microsoft.network/firewallpolicies'
| mv-expand properties.firewalls
| extend intrusionDetection = tostring(properties.intrusionDetection contains "Alert"
or properties.intrusionDetection contains "Deny")
| extend transportSecurity = tostring(properties.transportSecurity contains "keyVaultSecretId")
| extend FWID = tostring(properties_firewalls.id)
| where intrusionDetection == "False"
and transportSecurity == "False"
| project
PolicyName = name,
PolicySKU = tostring(properties.sku.tier),
intrusionDetection,
transportSecurity,
FWID
) on FWID
Sorgu: Azure Güvenlik Duvarı ve ilişkili alt ağlar analizi
Bu ARG sorgusu, Azure ortamınızdaki Azure güvenlik duvarlarını ve bunların ilişkili alt ağlarını analiz eder. Her Azure güvenlik duvarı örneğiyle hangi alt ağların ilişkilendirildiğine ilişkin içgörüler sağlar. Azure Güvenlik Duvarı'nın kullanımını optimize etmek için, bağlantı sanal ağı veya Sanal WAN güvenli merkezinde merkezi bir Azure Güvenlik Duvarı örneğine sahip olun. Ardından aynı güvenlik duvarını aynı bölgeden aynı hub'a bağlı birçok uç sanal ağında paylaşın.
Kategori
İyileştirme
Sorgu
resources
| where type =~ 'Microsoft.Network/azureFirewalls' and properties.sku.tier=="Premium"
| project
FWID=id,
firewallName=name,
SkuTier=tostring(properties.sku.tier),
resourceGroup,
location
| join kind=inner (
resources
| where type =~ 'microsoft.network/firewallpolicies'
| mv-expand properties.firewalls
| extend intrusionDetection = tostring(properties.intrusionDetection contains "Alert"
or properties.intrusionDetection contains "Deny")
| extend transportSecurity = tostring(properties.transportSecurity contains "keyVaultSecretId")
| extend FWID=tostring(properties_firewalls.id)
| where intrusionDetection == "False"
and transportSecurity == "False"
| project
PolicyName = name,
PolicySKU = tostring(properties.sku.tier),
intrusionDetection,
transportSecurity,
FWID
) on FWID
Application Gateway
Aşağıdaki bölüm, Azure Uygulama Gateway'ı için ARG sorguları sağlar. Azure Uygulama Gateway’i kaynaklarınız hakkında bilgi edinmenize ve her zaman uygun ayarlarla yapılandırıldıklarından emin olmanıza yardımcı olur.
Sorgu: Atıl uygulama ağ geçitleri
Bu ARG sorgusu, Azure ortamınızdaki uygulama ağ geçitlerini ve bunların ilişkili arka uç havuzlarını analiz eder. Hangi uygulama ağ geçitlerinin boş arka uç havuzlarına sahip olduğu hakkında içgörüler sağlar ve bunların boşta ve gereksiz olabileceğini gösterebilir.
Kategori
İyileştirme
Sorgu
resources
| where type =~ 'Microsoft.Network/applicationGateways'
| extend
backendPoolsCount = array_length(properties.backendAddressPools),
SKUName = tostring(properties.sku.name),
SKUTier = tostring(properties.sku.tier),
SKUCapacity = properties.sku.capacity,
backendPools = properties.backendAddressPools,
resourceGroup = strcat('/subscriptions/',subscriptionId,'/resourceGroups/',resourceGroup)
| project id, name, SKUName, SKUTier, SKUCapacity, resourceGroup, subscriptionId
| join (
resources
| where type =~ 'Microsoft.Network/applicationGateways'
| mvexpand backendPools = properties.backendAddressPools
| extend backendIPCount = array_length(backendPools.properties.backendIPConfigurations)
| extend backendAddressesCount = array_length(backendPools.properties.backendAddresses)
| extend backendPoolName = backendPools.properties.backendAddressPools.name
| summarize
backendIPCount = sum(backendIPCount),
backendAddressesCount = sum(backendAddressesCount)
by id
) on id
| project-away id1
| where (backendIPCount == 0 or isempty(backendIPCount))
and (backendAddressesCount==0 or isempty(backendAddressesCount))
| order by id asc
ExpressRoute
Aşağıdaki bölümde ExpressRoute için bir ARG sorgusu sağlanmaktadır. ExpressRoute bağlantı hatlarınızla ilgili içgörüler elde etmenize ve uygun ayarlarla yapılandırıldığından emin olmanıza yardımcı olur.
Sorgu: Boşta ExpressRoute devreleri
Bu ARG sorgusu, tamamlanmış bir bağlantı hattı olmayan bağlantı hatlarını belirlemek için Azure ortamınızdaki ExpressRoute bağlantı hatlarını analiz eder.
Kategori
İyileştirme
Sorgu
resources
| where type =~ 'Microsoft.Network/expressRouteCircuits'
and properties.serviceProviderProvisioningState == "NotProvisioned"
| extend
ServiceLocation = tostring(properties.serviceProviderProperties.peeringLocation),
ServiceProvider = tostring(properties.serviceProviderProperties.serviceProviderName),
BandwidthInMbps = tostring(properties.serviceProviderProperties.bandwidthInMbps)
| project
ERId = id,
ERName = name,
ERRG = resourceGroup,
SKUName = tostring(sku.name),
SKUTier = tostring(sku.tier),
SKUFamily = tostring(sku.family),
ERLocation = location,
ServiceLocation,
ServiceProvider,
BandwidthInMbps
Yük Dengeleyici
Aşağıdaki bölümde Azure Load Balancer için bir ARG sorgusu sağlanmaktadır. Azure yük dengeleyici kaynaklarınızla ilgili içgörüler elde etmenize ve bunların uygun ayarlarla yapılandırıldığından emin olmanıza yardımcı olur.
Sorgu: Boşta kalan yük dengeleyiciler
Bu ARG sorgusu, Azure ortamınızdaki Azure yük dengeleyicileri ve ilişkili arka uç havuzlarını analiz eder. Yük dengeleyicilerin arka uç havuzlarının boş olduğuna dair içgörüler sağlar, bu da onların atıl ve belki de gereksiz olabileceklerini gösterir.
Kategori
İyileştirme
Sorgu
resources
| extend resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| extend SKUName = tostring(sku.name)
| extend SKUTier = tostring(sku.tier)
| extend location,backendAddressPools = properties.backendAddressPools
| where type =~ 'microsoft.network/loadbalancers'
and array_length(backendAddressPools) == 0
and sku.name!='Basic'
| order by id asc
| project
id,
name,
SKUName,
SKUTier,
backendAddressPools,
location,
resourceGroup,
subscriptionId
Özel DNS
Aşağıdaki bölümde Özel DNS için bir ARG sorgusu sağlanmaktadır. Özel DNS kaynaklarınızla ilgili içgörüler elde etmenize ve uygun ayarlarla yapılandırıldığından emin olmanıza yardımcı olur.
Sorgu: Özel DNS
Bu ARG sorgusu, Sanal Ağ Bağlantıları olmadan bunları tanımlamak için Azure ortamınızdaki Özel DNS bölgeleri analiz eder.
Kategori
İyileştirme
Sorgu
resources
| where type == "microsoft.network/privatednszones"
and properties.numberOfVirtualNetworkLinks == 0
| project id, PrivateDNSName=name,
NumberOfRecordSets = tostring(properties.numberOfRecordSets),
resourceGroup = tostring(strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)),
vNets = tostring(properties.properties.numberOfVirtualNetworkLinks),
subscriptionId
Genel IP adresi
Aşağıdaki bölümlerde genel IP adresleri için ARG sorguları sağlanır. Genel IP adresi kaynaklarınız hakkında içgörüler edinmenize ve uygun ayarlarla yapılandırıldığından emin olmanıza yardımcı olur.
Sorgu: Boşta genel IP adresleri
Bu ARG sorgusu Azure genel IP adreslerini analiz eder. Hangi genel IP'lerin boşta ve potansiyel olarak gereksiz olduğu hakkında içgörüler sağlar.
Kategori
İyileştirme
Sorgu
resources
| where type =~ 'Microsoft.Network/publicIPAddresses'
and isempty(properties.ipConfiguration)
and isempty(properties.natGateway)
and properties.publicIPAllocationMethod =~ 'Static'
| extend
PublicIpId = id,
IPName = name,
AllocationMethod = tostring(properties.publicIPAllocationMethod),
SKUName = sku.name,
Location = location,
resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| project PublicIpId, IPName, SKUName, resourceGroup, Location, AllocationMethod, subscriptionId
| union (
Resources
| where type =~ 'microsoft.network/networkinterfaces'
and isempty(properties.virtualMachine)
and isnull(properties.privateEndpoint)
and isnotempty(properties.ipConfigurations)
| extend IPconfig = properties.ipConfigurations
| mv-expand IPconfig
| extend PublicIpId= tostring(IPconfig.properties.publicIPAddress.id)
| project PublicIpId
| join (
resource
| where type =~ 'Microsoft.Network/publicIPAddresses'
| extend
PublicIpId = id,
IPName = name,
AllocationMethod = tostring(properties.publicIPAllocationMethod),
SKUName = sku.name,
resourceGroup,
Location = location
) on PublicIpId
| project
PublicIpId,
IPName,
SKUName,
resourceGroup,
Location,
AllocationMethod,
subscriptionId
)
Sorgu: Genel IP adreslerini tanımlama yönlendirme yöntemi
Bu ARG sorgusu genel IP adreslerini analiz eder ve yönlendirme yöntemini, ayırma yöntemini ve SKU'yu tanımlar. Ayrıca, bir IP yapılandırmasıyla ilişkili genel IP adreslerinin diğer ayrıntılarını analiz eder.
Kategori
İyileştirme
Sorgu
resources
| where type =~ 'Microsoft.Network/publicIPAddresses'
and isnotempty(properties.ipConfiguration)
| where tostring(properties.ipTags) == "[]"
| extend
PublicIpId = id,
RoutingMethod = id,
IPName = name,
AllocationMethod = tostring(properties.publicIPAllocationMethod),
SKUName = sku.name,
Location = location,
resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| project
PublicIpId,
IPName,
RoutingMethod,SKUName,
resourceGroup,
Location,
AllocationMethod,
subscriptionId
Sorgu: Genel IP adreslerinin DDoS koruma ilkesini denetleyin
15'ten az genel IP kaynağını korumanız gerekiyorsa, IP koruma katmanı daha uygun maliyetli bir seçenektir. Ancak, korumanız gereken 15'ten fazla genel IP kaynağınız varsa ağ koruma katmanı daha uygun maliyetli hale gelir.
Kategori
İyileştirme
Sorgu
resources
| where type == "microsoft.network/publicipaddresses"
| project ddosProtection = tostring(properties.ddosSettings), name
| where ddosProtection has "Enabled"
| count
| project TotalIpsProtected = Count
| extend CheckIpsProtected = iff(TotalIpsProtected >= 15, "Enable Network Protection tier", "Enable PIP DDoS Protection")
Sanal Ağ Geçidi
Aşağıdaki bölümlerde Sanal Ağ Ağ Geçitleri için ARG sorguları sağlanmaktadır. Sanal Ağ Ağ Geçidi kaynaklarınız hakkında içgörüler edinmenize ve uygun ayarlarla yapılandırıldığından emin olmanıza yardımcı olur.
Sorgu: Boşta Sanal Ağ Ağ Geçidi olup olmadığını denetleyin
Bu ARG sorgusu, boşta olan ağ geçitlerini belirlemek için Azure ortamınızdaki Sanal Ağ Ağ Geçitlerini analiz eder.
Kategori
İyileştirme
Sorgu
resources
| where type == "microsoft.network/virtualnetworkgateways"
| extend resourceGroup = strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)
| project id, GWName=name, resourceGroup, location, subscriptionId
| join kind = leftouter(
resources
| where type == "microsoft.network/connections"
| extend id = tostring(properties.virtualNetworkGateway1.id)
| project id
) on id
| where isempty(id1)
| project
id,
GWName,
resourceGroup,
location,
subscriptionId,
status=id
Sorgu: Boşta NAT ağ geçidi olup olmadığını denetleyin
Bu ARG sorgusu, boşta kalanları belirlemek için Azure ortamınızdaki NAT ağ geçitlerini analiz eder.
Kategori
İyileştirme
Sorgu
resources
| where type == "microsoft.network/natgateways" and isnull(properties.subnets)
| project
id,
GWName = name,
SKUName = tostring(sku.name),
SKUTier = tostring(sku.tier),
Location = location,
resourceGroup = tostring(strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup)),
subnet = tostring(properties.subnet),
subscriptionId
Görüş bildirin
Hızlı bir incelemeyle nasıl olduğumuzu bize bildirin. Bu incelemeleri FinOps araçlarını ve kaynaklarını geliştirmek ve genişletmek için kullanırız.
Belirli bir şey arıyorsanız mevcut bir fikir için oy verin veya yeni bir fikir oluşturun. Daha fazla oy almak için başkalarıyla fikir paylaşın. En çok oyu alan fikirlere odaklanıyoruz.
İlgili içerik
İlgili kaynaklar:
İlgili çözümler: