从网络安全组流日志迁移到虚拟网络流日志

重要

网络安全组(NSG)流日志将于 2027 年 9 月 30 日停用。 由于该功能即将退役,它不再支持新的 NSG 流日志创建。 迁移虚拟网络流日志,解决NSG流日志的局限性。 退役后,Azure 将不再支持启用流量分析的 NSG 流日志,并且会删除你订阅中现有的 NSG 流日志资源。 然而,Azure 并不会从Azure 存储中删除现有的NSG流程日志记录,并且继续遵循其配置的保留策略。 有关详细信息,请参阅 官方公告

本文介绍如何使用迁移脚本将现有网络安全组流日志迁移到虚拟网络流日志。 虚拟网络流日志克服了网络安全组流日志的一些限制。 有关详细信息,请参阅虚拟网络流日志

注释

使用迁移脚本:

  • 如果未在虚拟网络中的所有网络接口或子网上启用流日志记录,并且你不想对所有网络接口或子网启用虚拟网络流日志记录;或者
  • 如果虚拟网络中的网络安全组流日志具有不同的配置,并且你想要创建虚拟网络流日志,并将这些不同的配置用作网络安全组流日志。

使用Azure Policy:

  • 如果对虚拟网络中的所有网络接口或子网应用了相同的网络安全组,
  • 如果对虚拟网络中的所有网络接口或子网使用相同的网络安全组流日志配置,或者
  • 当你想在虚拟网络层面启用虚拟网络流日志记录时。

有关详细信息,请参阅使用内置策略部署和配置虚拟网络流日志

先决条件

  • 具有活动订阅的Azure帐户。 创建试用版订阅

  • 计算机上已 安装 PowerShell 7。 有关详细信息,请参阅 Windows、Linux 和 macOS 上的 Install PowerShell。 本文需要 Az PowerShell 模块。 有关详细信息,请参阅 如何安装 Azure PowerShell。 要查找已安装的版本,请运行 Get-Module -ListAvailable Az

  • 流日志和Log Analytics工作区的订阅所需的 RBAC 权限(如果为任何网络安全组流日志启用了流量分析)。 有关详细信息,请参阅 网络观察程序 权限

  • 一个或多个区域的网络安全组流日志。

生成迁移脚本

本部分介绍如何为要迁移的网络安全组流日志生成和下载迁移文件。

  1. 在门户顶部的搜索框中,输入Network Watcher。 从搜索结果中选择 网络观察程序

    屏幕截图,演示如何在 Azure 门户中搜索 网络观察程序。

  2. 日志 中,选择 迁移流日志

    显示 Azure 门户中网络安全组流日志迁移页面的屏幕截图。

  3. 选择包含要迁移的网络安全组流日志的订阅。

  4. 为每个订阅选择包含要迁移的流日志的区域。 “NSG 流日志总数”显示所选订阅中的流日志总数。 “所选的 NSG 流日志”显示已选区域中的流日志数量

  5. 选择订阅和地区后,选择 下载脚本和JSON文件 ,下载迁移文件为压缩包。

    Screenshot,演示如何在 Azure 门户中生成迁移脚本。

  6. 在本地机器上解压文件 MigrateFlowLogs.zip 。 zip 文件包含以下两个文件:

    • 脚本文件:MigrationFromNsgToAzureFlowLogging.ps1
    • JSON 文件:RegionSubscriptionConfig.json

运行迁移脚本

本部分介绍如何使用在上一部分中下载的脚本文件迁移网络安全组流日志。

重要

开始运行脚本后,不应该对要迁移的流日志的区域和订阅中的拓扑进行任何更改。

  1. 运行脚本文件 MigrationFromNsgToAzureFlowLogging.ps1

  2. 输入1以选择运行分析选项。

    .\MigrationFromNsgToAzureFlowLogging.ps1
    
    Select one of the following options for flowlog migration:
    1. Run analysis
    2. Delete NSG flowlogs
    3. Quit
    
  3. 输入 JSON 文件名。

    Please enter the path to scope selecting config file: .\RegionSubscriptionConfig.json
    
  4. 输入线程数,或留空以使用默认值 16。

    Please enter the number of threads you would like to use, press enter for using default value of 16:    
    

    分析完成后,你将在屏幕上看到分析报告,也可在与迁移文件相同的目录中查看 html 文件格式的分析报告。 该报告列出了将禁用的网络安全组流日志数,以及为了替换它们而创建的虚拟网络流日志数。 创建的虚拟网络流日志数取决于所选迁移的类型。 例如,如果要迁移其流日志的网络安全组与同一虚拟网络中的三个网络接口相关联,则可以选择“聚合迁移”,以便将单个虚拟网络流日志资源应用到整个虚拟网络。 也可以选择“无聚合的迁移”,此时会有三个虚拟网络流日志(每个网络接口一个虚拟网络流日志资源)

    注释

    请查看 AnalysisReport-<subscriptionId>-<region>-<time>.html 文件获取所执行的分析的完整报告。 该文件与脚本在同一目录中。

  5. 输入 2 或 3 以选择要执行的迁移类型

    Select one of the following options for flowlog migration:
    1. Re-Run analysis
    2. Proceed with migration with aggregation
    3. Proceed with migration without aggregation
    4. Quit
    
  6. 在屏幕上看到迁移摘要后,可以取消迁移并还原更改。 若要接受并继续进行迁移,请输入 n,否则请输入 y。 接受更改后,便无法还原更改。

    Do you want to rollback? You won't get the option to revert the actions done now again (y/n): n
    

    注释

    请保留脚本和分析报告文件,以便在迁移过程中遇到任何问题时参考。

  7. 检查 Azure 门户,确认您迁移的网络安全组流日志的状态已被禁用。 检查迁移过程后新建的虚拟网络流日志。

    屏幕截图显示从网络安全组流日志迁移后新创建的虚拟网络流日志。

  8. 添加筛选器以仅列出所选订阅和区域的网络安全组流日志。 如果只迁移了几个网络安全组流日志,则可以跳过此步骤。

    显示如何使用筛选器仅列出网络安全组流日志的屏幕截图。

  9. 选择你想删除的流程日志,然后选择 删除

    显示如何选择和删除已迁移的网络安全组流日志的屏幕截图。

  10. 输入“删除”,然后选择“删除”以确认删除。

    显示如何确认删除已迁移流日志的屏幕截图。

注意事项

  • 具有负载均衡器的伸缩集:迁移脚本在包含伸缩集虚拟机的子网中启用虚拟网络流日志。

    注释

    如果未在规模集的所有网络接口上启用网络安全组流日志记录,或者网络接口不共享相同的网络安全组流日志,则会在子网上创建虚拟网络流日志,其配置与规模集的网络接口之一相同。

  • PaaS:该迁移脚本不支持那些在用户订阅中配置了 PaaS 解决方案和网络安全组流日志,但目标资源位于不同订阅中的环境。 对于此类环境,应在 PaaS 解决方案的虚拟网络或子网上手动启用虚拟网络流日志记录。