Azure PowerShell kullanarak NSG akış günlüklerini yönetme
Önemli
30 Eylül 2027'de ağ güvenlik grubu (NSG) akış günlükleri kullanımdan kaldırılacaktır. Bu kullanımdan kaldırmanın bir parçası olarak 30 Haziran 2025'den itibaren yeni NSG akış günlükleri oluşturamayacaksınız. NSG akış günlüklerinin sınırlamalarını aşan sanal ağ akış günlüklerine geçiş yapmanızı öneririz. Kullanımdan kaldırma tarihinden sonra NSG akış günlükleriyle etkinleştirilen trafik analizi artık desteklenmeyecektir ve aboneliklerinizdeki mevcut NSG akış günlükleri kaynakları silinir. Ancak NSG akış günlükleri kayıtları silinmez ve ilgili bekletme ilkelerini izlemeye devam eder. Daha fazla bilgi için resmi duyuruya bakın.
Ağ güvenlik grubu akış günlüğü, Azure Ağ İzleyicisi'nin bir ağ güvenlik grubu üzerinden akan IP trafiği hakkındaki bilgileri günlüğe kaydetmenize olanak tanıyan bir özelliğidir. Ağ güvenlik grubu akış günlüğü hakkında daha fazla bilgi için bkz . NSG akış günlüklerine genel bakış.
Bu makalede, Azure PowerShell kullanarak NSG akış günlüğü oluşturmayı, değiştirmeyi, devre dışı bırakmayı veya silmeyi öğreneceksiniz. Azure portalı, Azure CLI, REST API veya ARM şablonunu kullanarak NSG akış günlüğünü yönetmeyi öğrenebilirsiniz.
Önkoşullar
Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
İçgörü sağlayıcısı. Daha fazla bilgi için bkz . Register Insights sağlayıcısı.
Bir ağ güvenlik grubu. Bir ağ güvenlik grubu oluşturmanız gerekiyorsa bkz . Ağ güvenlik grubu oluşturma, değiştirme veya silme.
Bir Azure depolama hesabı. Depolama hesabı oluşturmanız gerekiyorsa bkz . PowerShell kullanarak depolama hesabı oluşturma.
Azure Cloud Shell veya Azure PowerShell yerel olarak yüklenir.
Bu makaledeki adımlar Azure Cloud Shell'de Azure PowerShell cmdlet'lerini etkileşimli olarak çalıştırır. Komutları Cloud Shell'de çalıştırmak için kod bloğunun sağ üst köşesindeki Cloud Shell'i Aç'ı seçin. Kodu kopyalamak için Kopyala'yı seçin ve çalıştırmak için Cloud Shell'e yapıştırın. Cloud Shell'i Azure portalından da çalıştırabilirsiniz.
Cmdlet'leri çalıştırmak için Azure PowerShell'i yerel olarak da yükleyebilirsiniz. Bu makale, Az PowerShell modülünü gerektirir. Daha fazla bilgi için bkz . Azure PowerShell'i yükleme. Yüklü sürümü bulmak için
Get-InstalledModule -Name Az
komutunu çalıştırın. PowerShell'i yerel olarak çalıştırıyorsanız Connect-AzAccount cmdlet'ini kullanarak Azure'da oturum açın.
İçgörü sağlayıcısını kaydetme
Bir ağ güvenlik grubu üzerinden akan trafiğin başarıyla günlüğe kaydedilmesi için Microsoft.Insights sağlayıcısının kaydedilmesi gerekir. Microsoft.Insights sağlayıcısının kayıtlı olup olmadığından emin değilseniz, kaydetmek için Register-AzResourceProvider kullanın.
# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace 'Microsoft.Insights'
Akış günlüğü oluşturma
Akış günlüğünü oluşturmak istediğiniz ağ güvenlik grubunun özelliklerini ve sırasıyla Get-AzNetworkSecurityGroup ve Get-AzStorageAccount kullanarak oluşturulan akış günlüğünü depolamak için kullanmak istediğiniz depolama hesabını alın.
# Place the network security group properties into a variable. $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup' # Place the storage account properties into a variable. $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
Not
- Depolama hesabı farklı bir abonelikteyse, ağ güvenlik grubu ve depolama hesabı aynı Azure Active Directory kiracısıyla ilişkilendirilmelidir. Her abonelik için kullandığınız hesabın gerekli izinlere sahip olması gerekir.
New-AzNetworkWatcherFlowLog komutunu kullanarak akış günlüğünü oluşturun. Akış günlüğü, NetworkWatcherRG Ağ İzleyicisi varsayılan kaynak grubunda oluşturulur.
# Create a version 1 NSG flow log. New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true
Akış günlüğü ve trafik analizi çalışma alanı oluşturma
Akış günlüğünü oluşturmak istediğiniz ağ güvenlik grubunun özelliklerini ve sırasıyla Get-AzNetworkSecurityGroup ve Get-AzStorageAccount kullanarak oluşturulan akış günlüğünü depolamak için kullanmak istediğiniz depolama hesabını alın.
# Place the network security group properties into a variable. $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup' # Place the storage account properties into a variable. $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
Not
- Depolama hesabı, ağ erişimini yalnızca Microsoft hizmetleri veya belirli sanal ağlara kısıtlayan ağ kurallarına sahip olamaz.
- Depolama hesabı farklı bir abonelikteyse, ağ güvenlik grubu ve depolama hesabı aynı Azure Active Directory kiracısıyla ilişkilendirilmelidir. Her abonelik için kullandığınız hesabın gerekli izinlere sahip olması gerekir.
New-AzOperationalInsightsWorkspace kullanarak bir trafik analizi çalışma alanı oluşturun.
# Create a traffic analytics workspace and place its properties into a variable. $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
New-AzNetworkWatcherFlowLog komutunu kullanarak akış günlüğünü oluşturun. Akış günlüğü, NetworkWatcherRG Ağ İzleyicisi varsayılan kaynak grubunda oluşturulur.
# Create a version 1 NSG flow log with traffic analytics. New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId
Akış günlüğünü değiştirme
Akış günlüğünün özelliklerini değiştirmek için Set-AzNetworkWatcherFlowLog kullanabilirsiniz. Örneğin, akış günlüğü sürümünü değiştirebilir veya trafik analizini devre dışı bırakabilirsiniz.
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -FormatVersion 2
Bölgedeki tüm akış günlüklerini listeleme
Aboneliğinizdeki belirli bir bölgedeki tüm NSG akış günlüğü kaynaklarını listelemek için Get-AzNetworkWatcherFlowLog komutunu kullanın.
# Get all NSG flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name
Not
parametresini -Location
cmdlet ile Get-AzNetworkWatcherFlowLog
kullanmak için, NetworkWatcherRG kaynak grubunda ek bir Okuyucu iznine sahip olmanız gerekir.
Akış günlüğü kaynağının ayrıntılarını görüntüleme
Akış günlüğü kaynağının ayrıntılarını görmek için Get-AzNetworkWatcherFlowLog komutunu kullanın.
# Get the details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'
Not
parametresini -Location
cmdlet ile Get-AzNetworkWatcherFlowLog
kullanmak için, NetworkWatcherRG kaynak grubunda ek bir Okuyucu iznine sahip olmanız gerekir.
Akış günlüğünü indirme
Akış günlüğünün depolama konumu oluşturma sırasında tanımlanır. Depolama hesabınızdan akış günlüklerine erişmek ve bunları indirmek için Azure Depolama Gezgini kullanabilirsiniz. Daha fazla bilgi için bkz. Depolama Gezgini kullanmaya başlama.
Depolama hesabına kaydedilen NSG akış günlüğü dosyaları şu yolu izleyin:
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
Akış günlüğünün yapısı hakkında bilgi için bkz . NSG akış günlüklerinin günlük biçimi.
Akış günlüğünü devre dışı bırakma
Bir akış günlüğünü silmeden geçici olarak devre dışı bırakmak için Set-AzNetworkWatcherFlowLog parametresini -Enabled $false
kullanın. Akış günlüğünün devre dışı bırakılması, ilişkili ağ güvenlik grubu için akış günlüğünü durdurur. Ancak akış günlüğü kaynağı tüm ayarları ve ilişkilendirmeleriyle birlikte kalır. Yapılandırılan ağ güvenlik grubu için akış günlüğünü sürdürmek için istediğiniz zaman yeniden etkinleştirebilirsiniz.
Not
Akış günlüğü için trafik analizi etkinleştirildiyse, akış günlüğünü devre dışı bırakabilmeniz için önce devre dışı bırakılması gerekir.
# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id
Akış günlüğünü silme
Bir NSG akış günlüğünü kalıcı olarak silmek için Remove-AzNetworkWatcherFlowLog komutunu kullanın. Akış günlüğünün silinmesi, tüm ayarlarını ve ilişkilendirmelerini siler. Aynı ağ güvenlik grubu için akış günlüğünü yeniden başlatmak için, bunun için yeni bir akış günlüğü oluşturmanız gerekir.
# Delete the flow log.
Remove-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'
Not
Akış günlüğü silindiğinde, akış günlüğü verileri depolama hesabından silinmez. Akış günlükleri, depolama hesabında depolanan verileri yapılandırılan bekletme ilkesine uyar.
İlgili içerik
- NSG akış günlüklerini denetlemek veya dağıtmak için Azure yerleşik ilkelerini kullanmayı öğrenmek için bkz. Azure İlkesi kullanarak NSG akış günlüklerini yönetme.
- Trafik analizi hakkında bilgi edinmek için bkz . Trafik analizi.