Traffic-Flow-Datensätze werden benötigt? Zeige Flow Logs an
Ein Packet Capture liefert detaillierte Belege für eine kurze Untersuchung, aber keinen fortlaufenden Datensatz von Netzwerkverbindungen. Operations- und Security-Teams benötigen auch Metadaten zu Adressen, Ports, Protokollen, Richtungen und Traffic-Entscheidungen im Zeitverlauf.
Verwende Virtual Network Flow Logs für vnet-cloudtrips-test-weu. Erzeuge
eine bekannte HTTP-Verbindung von WEB02 zu WEB01, finde ihren JSON-Datensatz in
Azure Storage und interpretiere das Flow Tuple.
Dieser Trip baut auf Belege auf Paketebene werden benötigt? Zeichne Pakete auf auf. Behalte beide Web-VMs und den funktionierenden HTTP-Dienst auf WEB01. Beende und entferne das Packet Capture, bevor du Flow Logs aktivierst.
Warum dies kein neues NSG Flow Log ist
Azure NSG Flow Logs sind eine auslaufende Legacy-Funktion. Neue NSG Flow Logs können seit dem 30. Juni 2025 nicht mehr erstellt werden; die Funktion endet am 30. September 2027. Vorhandene Dateien bleiben entsprechend ihrer Retention in Storage, neue Deployments müssen jedoch Virtual Network Flow Logs verwenden.
VNet Flow Logs liefern die benötigten Layer-4-Verbindungsdatensätze auf VNet-, Subnetz- oder NIC-Ebene. Sie zeichnen Metadaten statt Paketpayloads auf. Nutze Packet Capture für Payload- oder TCP-Flag-Belege und Flow Logs für länger laufende Verbindungsdatensätze.
Insights Provider registrieren
Prüfe die für Flow Logs erforderliche Registrierung von Microsoft.Insights:
az provider show \
--namespace Microsoft.Insights \
--query registrationState \
--output tsv
Ist das Ergebnis nicht Registered, führe aus:
az provider register --namespace Microsoft.Insights
Warte vor dem Erstellen des Flow Logs auf den Status Registered.
Flow-Log Storage erstellen
Erzeuge einen global eindeutigen Storage-Account-Namen:
FLOW_STORAGE="stctflow$(az account show --query id --output tsv | tr -d '-' | cut -c1-10)"
printf 'Flow-log storage account: %s\n' "$FLOW_STORAGE"
Erstelle einen StorageV2-Account mit Standard LRS, diesem Namen,
rg-cloudtrips-network-test-weu und West Europe. Behalte Secure Transfer
und mindestens TLS 1.2. Flow Logs und Storage-Operationen können Kosten
verursachen; dieses Lab verwendet kurze Retention und entfernt die Ressourcen.
Virtual Network Flow Log aktivieren
Suche nach Network Watcher, öffne den Dienst und wähle Logs > Flow logs > Create. Konfiguriere:
Subscription: CloudTrips TEST
Flow log type: Virtual network
Target resource: vnet-cloudtrips-test-weu
Flow log name: vnet-cloudtrips-test-weu-flowlog
Storage account subscription: CloudTrips TEST
Storage account: FLOW_STORAGE-Wert
Retention: 1 day
Traffic analytics: Disabled
Traffic Analytics ist für einen bekannten Fluss unnötig und würde Log-
Analytics-Verarbeitung und Kosten hinzufügen. Wähle Review + create >
Create. Azure speichert die Flow-Log-Ressource in NetworkWatcherRG, auch
wenn VNet und Storage Account in der CloudTrips Resource Group liegen.

Bekannten HTTP-Fluss erzeugen
Starte beide VMs bei Bedarf und lies ihre privaten Adressen:
WEB01_IP=$(az vm list-ip-addresses \
--resource-group rg-cloudtrips-network-test-weu \
--name vm-cloudtrips-web01-test-weu \
--query '[0].virtualMachine.network.privateIpAddresses[0]' \
--output tsv)
WEB02_IP=$(az vm list-ip-addresses \
--resource-group rg-cloudtrips-network-test-weu \
--name vm-cloudtrips-web02-test-weu \
--query '[0].virtualMachine.network.privateIpAddresses[0]' \
--output tsv)
printf 'Expected flow: %s -> %s:80\n' "$WEB02_IP" "$WEB01_IP"
Sende mehrere Anfragen, damit der Fluss leicht erkennbar ist:
az vm run-command invoke \
--resource-group rg-cloudtrips-network-test-weu \
--name vm-cloudtrips-web02-test-weu \
--command-id RunShellScript \
--scripts "for request in 1 2 3; do curl --silent --show-error --connect-timeout 5 http://${WEB01_IP}/; done"
Erwarte drei WEB01-Antworten. Flow Logs werden in Intervallen gesammelt und nicht sofort geschrieben. Warte etwa fünf bis zehn Minuten auf die erste Datei.
JSON-Flow-Datensatz herunterladen
Öffne den Account $FLOW_STORAGE und wähle Data storage > Containers >
insights-logs-flowlogflowevent. Navigiere durch Flow-Log-Ressource, Jahr,
Monat, Tag, Stunde, Minute und MAC-Adressordner zu PT1H.json. Wähle dessen
Auslassungszeichen und Download.

Öffne PT1H.json in einem Texteditor und suche nach $WEB02_IP und
$WEB01_IP. Ein Version-4-flowTuple ähnelt:
timestamp,sourceIp,destinationIp,sourcePort,destinationPort,protocol,direction,state,encryption,packetsSent,bytesSent,packetsReceived,bytesReceived
Prüfe für die bekannte Anfrage:
sourceIp: WEB02_IP
destinationIp: WEB01_IP
destinationPort: 80
protocol: 6 (TCP)
direction: O (outbound von der aufgezeichneten Schnittstelle)
Der temporäre Quellport variiert. Paket- und Bytezähler fassen den Fluss zusammen, enthalten aber keinen HTTP-Payload. Der Datensatz kann außerdem die NSG- oder Virtual-Network-Manager-Regel nennen, die den Fluss verarbeitet hat.

Flow Log entfernen
Kehre zu Network Watcher > Flow logs zurück, wähle
vnet-cloudtrips-test-weu-flowlog und danach Delete. Lösche anschließend
den temporären Account $FLOW_STORAGE, nachdem erforderliche Belege exportiert
wurden. Das Löschen der Flow-Log-Ressource stoppt neue Erfassung, löscht jedoch
nicht bereits in Blob Storage gespeicherte Daten.
Deallokiere beide VMs. Lege in Produktion Retention, Storage-Netzwerkkontrollen, Zugriffsrollen und SIEM-Export entsprechend den Security- und Compliance- Anforderungen der Organisation fest.