

# 使用 Network Flow Monitor
<a name="CloudWatch-NetworkFlowMonitor"></a>

网络流量监测仪可让您近实时掌握各类流量的网络性能状况，包括计算资源间的流量（Amazon EC2、Amazon Elastic Kubernetes Service）、发往其他 AWS 服务的流量（Amazon S3、Amazon DynamoDB），以及发往另一 AWS 区域边缘的流量。网络流量监测仪从部署在实例上的轻量级软件代理收集数据。这些代理从 TCP 连接中收集性能统计信息并将其发送到网络流量监测仪后端服务，该服务会为每种指标类型计算出主要影响因素。

Network Flow Monitor 还会确定 AWS 是否造成了所检测到的网络问题，并报告您选择监控的网络流的详细信息。

您可以查看单个账户中资源网络流的网络性能信息，也可以使用管理账户或委托管理员账户进行登录，通过 AWS Organizations 配置网络流量监测仪来查看组织中多个账户的性能信息。

Network Flow Monitor 适用于想要实时了解网络性能的网络运营商和应用程序开发人员。在 CloudWatch 的 Network Flow Monitor 控制台中，您可以查看资源网络流的性能数据，这些数据已从代理进行汇总，并已分为不同的类别。例如，您可以查看可用区之间或 VPC 之间的流量数据。然后，您可以为需要详细观察或长期密切追踪的特定数据流创建监测仪。

借助监测仪，您可以快速可视化指定时间范围内的网络连接的数据包丢失和延迟。对于每个监测仪，Network Flow Monitor 还会生成网络运行状况指标（NHI）。通过 NHI 值，您可以了解在所评估的时间段内，监测仪跟踪的网络流是否存在 AWS 网络问题。使用 NHI 信息，您可以快速决定是否应关注 AWS 网络问题的故障排除工作还是关注工作负载引起的网络问题。

要查看配置和使用网络流量监测仪的示例，请参阅以下博客文章：[Visualizing network performance of your AWS Cloud workloads with Network Flow Monitor](https://aws.amazon.com/blogs/networking-and-content-delivery/visualizing-network-performance-of-your-aws-cloud-workloads-with-network-flow-monitor/)。

# 什么是 Network Flow Monitor？
<a name="CloudWatch-NetworkFlowMonitor-What-is-NetworkFlowMonitor"></a>

Network Flow Monitor 属于 Amazon CloudWatch Network Monitoring 的一项功能。Network Flow Monitor 使用您在 AWS 工作负载中安装的完全托管代理来返回有关网络流的性能和可用性指标。使用 Network Flow Monitor，您可以针对实际工作负载获取重新传输和已传输数据等近乎实时的指标。您还可以通过检查网络运行状况指标（NHI）值来确定监测仪跟踪的网络流是否存在 AWS 底层网络问题。

**Network Flow Monitor 的主要功能**
+ 借助 Network Flow Monitor，您可以接收 VPC 网络中 TCP 流量所出现延迟和丢包的近乎实时的指标，因此您可以跟踪和调查工作负载流量的网络问题。
+ 当 AWS 工作负载出现网络性能下降时，Network Flow Monitor 可以帮助您确定问题由应用程序工作负载还是由 AWS 底层基础设施引起。然后，您可以快速将故障排除重点放在出现问题的区域。

**如何使用 Network Flow Monitor**

使用 Network Flow Monitor，您可以在实例上安装轻量级代理，这些代理会收集和汇总性能指标。Network Flow Monitor 代理将分析 TCP 流量，然后将性能指标导出到 Network Flow Monitor 的服务后端。

代理会为您的工作负载收集以下指标：TCP 往返时间（RTT）、TCP 重新传输超时、TCP 重新传输和已传输的数据（字节）。在实例上安装代理后，代理会检测由实例托管的相应工作负载。然后，代理将生成网络性能指标并将这些指标发送到 Network Flow Monitor 后端。指标将汇总至子网、可用区、VPC 和 AWS 服务等类别。

在网络流量监测仪范围内的所有网络流中，主要贡献者（按指标类型排序）的性能指标显示在 AWS 管理控制台中的**工作负载洞察**选项卡上。通过查看排名靠前的贡献者的表格和图表，您可以通过创建监测仪来确定可能存在需要进行故障排除的损坏位置，以及要持续监控哪些工作负载。

使用监测仪，您可以随着时间的推移更密切地监控特定工作负载，并查看有关特定网络流的详细信息。除了查看所选网络流中主要影响因素的性能指标外，您还可以查看该网络流的网络路径信息，包括其经过的网络跃点数，以便排查问题。此外，网络流量监测仪还会为监测仪生成网络运行状况指标（NHI）。**已降级** NHI 值表示在您选择的时间段内，监测仪跟踪的至少一个网络流存在 AWS 网络问题。

除了查看您创建的监测仪中的信息外，我们还建议您定期返回查看**工作负载见解**页面上的指标，以查看网络流量性能指标的排名靠前的最新贡献者。在查看最新信息时，请考虑在当前监测仪中添加或移除工作负载，或者创建新监测仪是否会有帮助。

**Topics**
+ [支持的 AWS 区域](CloudWatch-NetworkFlowMonitor-Regions.md)
+ [组件](CloudWatch-NetworkFlowMonitor-components.md)
+ [工作原理](CloudWatch-NetworkFlowMonitor-inside-network-flow-monitor.md)
+ [定价](CloudWatch-NetworkFlowMonitor.pricing.md)

# 网络流量监测仪支持的 AWS 区域
<a name="CloudWatch-NetworkFlowMonitor-Regions"></a>

目前以下 AWS 区域可使用 Network Flow Monitor：


| 区域名称 | 区域 | 
| --- | --- | 
| 亚太地区（孟买） | ap-south-1 | 
| 亚太地区（大阪） | ap-northeast-3 | 
| 亚太地区（首尔） | ap-northeast-2 | 
| 亚太地区（新加坡） | ap-southeast-1 | 
| 亚太地区（悉尼） | ap-southeast-2 | 
| 亚太地区（东京） | ap-northeast-1 | 
| 加拿大（中部） | ca-central-1 | 
| 欧洲地区（法兰克福） | eu-central-1 | 
| 欧洲地区（爱尔兰） | eu-west-1 | 
| 欧洲地区（伦敦） | eu-west-2 | 
| 欧洲地区（巴黎） | eu-west-3 | 
| 欧洲地区（斯德哥尔摩） | eu-north-1 | 
| 南美洲（圣保罗） | sa-east-1 | 
| 美国东部（弗吉尼亚州北部） | us-east-1  | 
| 美国东部（俄亥俄州） | us-east-2 | 
| 美国西部（北加利福尼亚） | us-west-1 | 
| 美国西部（俄勒冈州） | us-west-2 | 

# Network Flow Monitor 的组件和功能
<a name="CloudWatch-NetworkFlowMonitor-components"></a>

Network Flow Monitor 使用或引用了以下概念。

**座席**  
网络流量监测仪中的*代理*为一款软件应用程序，需安装在您的 AWS 计算资源（Amazon EC2、Amazon EKS）上。该应用程序具有两个部分：  
+ 第一部分接收与 TCP 连接相关的事件，并使用 eBPF 在 Linux 内核中注册。eBPF 是 Linux 扩展 Berkley 数据包过滤器（eBPF）功能，指定程序可以通过其接收 Linux 内核引发的某些事件。
+ 第二部分汇总了 eBPF 部分收集的统计数据。代理大约每 30 秒向 Network Flow Monitor 后端发送一次聚合指标，可能有 5 秒钟的抖动（换言之，为 25 到 35 秒）。
有关代理的更多信息，请参阅[工作原理](CloudWatch-NetworkFlowMonitor-inside-network-flow-monitor.md)。

**排名靠前的贡献者**  
*排名靠前的贡献者*指在 Network Flow Monitor 范围内或在监测仪中跟踪的网络流中，特定指标（例如重新传输）值最高的网络流。查看具有最高报告数量的流，以进行绩效指标衡量，此举可以帮助您了解可能存在哪些需要调查的损坏。Network Flow Monitor 将返回监控范围内排名靠前的贡献者的性能指标，以获取*工作负载见解*。此外，如果您创建监测仪，则 Network Flow Monitor 会针对监测仪所选的网络流，返回排名靠前的贡献者的性能指标。

**本地和远程资源**  
*本地资源*指安装了网络流量监测仪代理的主机所在位置，也可以是多台主机的所在位置。该代理的部署范围可覆盖子网、VPC、可用区、Amazon EKS 集群或 AWS 区域。例如，假设某个工作负载由前端 Web 服务与后端数据库（以 DynamoDB 为例）之间的交互构成。在这种情况下，本地资源是托管 Web 服务的 EC2 实例所在的子网，并且该实例上还运行着代理。网络流通常具有方向性（默认为单向），不过也可将其配置为双向。  
*远程资源*是网络流的另一端。在此带有后端数据库的 Web 服务示例中，DynamoDB 属于远程资源。远程资源可以是子网、VPC、可用区、AWS 服务或 AWS 区域。如果将某个区域指定为远程资源，则网络流量监测仪会测量流向该区域边缘的网络流的性能。其不会测量区域内特定端点的性能。  
资源通过资源的 ARN、AWS 服务名称进行标识。如果资源为可用区或区域，则通过该可用区或区域的名称进行标识。

**工作负载见解**  
*工作负载见解*包括范围内的所有网络流返回的性能指标。在 AWS 管理控制台中，**工作负载见解**页面提供了有关已在工作负载实例上安装了 Network Flow Monitor 代理的工作负载的性能数据。**工作负载见解**页面提供应用程序视图，其中包括已传输的数据量和其他多个指标，按工作负载类别分组。例如，您可以查看可用区（AZ）之间或可用区内工作负载和流量的所有指标。通过使用这些见解，您可以选择要为其创建监测仪的工作负载，以查看更多详细信息并持续跟踪网络性能。

**监控**  
您可以创建*监测仪*，以便持续监控一个或多个特定工作负载的网络性能，并查看有关网络流的更多详细信息。对于每台监测仪，Network Flow Monitor 都会发布端到端性能指标和网络运行状况指标（NHI），以便帮助您确定损坏的归因。我们建议您查看**工作负载**页面上的信息，了解要重点关注哪些网络流，然后为这些流量创建监测仪。然后，通过定期查看**工作负载见解**，您可以决定是否拥有所需的监测仪，或者决定创建新监测仪是否会有所帮助。

**网络运行状况指标（HNI）**  
*网络运行状况指标*（HNI）是二进制值，用于告知您在选择的时间段内，监测仪跟踪的一个或多个网络流是否存在 AWS 网络问题。当 NHI 值为 1 或显示**已降级**时，则表明至少一个网络流存在 AWS 网络问题。使用 NHI 指标，您可以快速决定是否应关注 AWS 网络问题的故障排除工作还是关注工作负载引起的网络问题。  
有关更多信息，请参阅 [在 CloudWatch 中查看 Network Flow Monitor 指标](CloudWatch-NetworkFlowMonitor-cw-metrics.md)。

**范围**  
在网络流量监测仪中，*范围*指的是查看网络性能指标时可观测到的一个或多个账户。若以管理账户身份登录并通过 CloudWatch 配置 AWS Organizations，则可将范围设置为组织中的多个账户（最多 100 个账户）。否则，若使用在组织中没有管理权限的 AWS 账户登录，或者尚未为组织配置 CloudWatch，则网络流量监测仪会将范围设置为登录时所使用的账户。  
完成 Organizations 配置后，即可通过添加或移除账户调整监控范围。但每次调整监控范围时，网络流量监测仪都必须重新生成该范围内的资源拓扑结构。有关更多信息，请参阅 [将多个账户添加到范围](CloudWatch-NetworkFlowMonitor-multi-account.md#CloudWatch-NetworkFlowMonitor-multi-account.config-scope)。  
Network Flow Monitor 为该范围生成唯一的**范围 ID**。指标数据的查询使用范围 ID 来确定 Network Flow Monitor 为其生成指标的资源。（必须先安装代理来收集和提交指标数据，然后才能使用 Network Flow Monitor 查看账户的性能指标。）

**查询 ID**  
Network Flow Monitor 会为每个查询（这些查询的创建目的为检索性能指标数据）生成唯一的*查询 ID*，例如用于了解监测仪排名靠前的贡献者的查询。通过在 Network Flow Monitor 中将查询 ID 与 API 调用配合使用，您可以检查查询的状态、停止查询、重新运行查询或以其他方式处理查询。

**性能指标**  
Network Flow Monitor 收集和计算端到端*性能指标*，包括 TCP 往返时间（RTT）、TCP 重新传输、TCP 重新传输超时以及 Network Flow Monitor 范围内各流量的已传输字节。该服务将汇总这些指标并将其返回到服务后端。您可以按指标类型查看排名靠前的贡献者。当您发现 Network Flow Monitor 中存在异常时，也可以检查网络运行状况指标（NHI），确定是否存在 AWS 底层网络问题。  
请注意，RTT 数据可能很稀疏，因为并不总是计算 RTT。  
您还可以根据这些指标使用 Amazon CloudWatch 功能，创建控制面板、警报和通知。例如，您可以通过查看 [使用 Network Flow Monitor 创建警报](CloudWatch-NetworkFlowMonitor-create-alarm.md) 中的信息来了解如何使用 Network Flow Monitor 指标设置警报。

# 工作原理
<a name="CloudWatch-NetworkFlowMonitor-inside-network-flow-monitor"></a>

本节旨在介绍网络流量监测仪工作机制的多个相关方面。

**网络流量监测仪代理的统计信息采集方式**  
网络流量监测仪的代理安装于 AWS 计算资源（Amazon EC2、Amazon EKS）中，代理在此采集性能指标并将其发送到网络流量监测仪后端服务。代理无权访问 TCP 连接的有效载荷。代理只能从 Linux 内核接收“bpf\$1sock\$1ops”结构。此结构提供本地和远程 IP 地址、源和目标 TCP 端口以及计数器和往返时间。有关代理收集和发布的 TCP 统计数据列表，请参阅[在 CloudWatch 中查看 Network Flow Monitor 指标](CloudWatch-NetworkFlowMonitor-cw-metrics.md)。  
代理使用 Network Flow Monitor `Publish` API 向 Network Flow Monitor 后端服务器发送指标。  
*注意*：网络流量监测仪每分钟最多支持处理约 500 万个网络流。这一规格对应约 5000 台安装了网络流量监测仪代理的实例（Amazon EC2 节点、Amazon EKS 节点）。在有更多容量可用之前，在超过 5000 个实例上安装代理可能会影响监控性能。

**网络流量监测仪的网络流分类方式**  
网络流量监测仪会根据网络流的源端和目的端位置，对其进行分类划分。

# Network Flow Monitor 定价
<a name="CloudWatch-NetworkFlowMonitor.pricing"></a>

使用 Network Flow Monitor，无需预付费用或长期订阅。网络流量监测仪的定价包含两个组成部分：监控的资源（已安装代理并主动发送数据）以及推送的 CloudWatch 指标。请注意，您还需要按标准 CloudWatch 价格为您创建的任何其他指标、控制面板、警报或见解付费。

有关 Network Flow Monitor 和 Amazon CloudWatch 定价的更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com//cloudwatch/pricing/)页面。

# 开始使用 Network Flow Monitor
<a name="CloudWatch-NetworkFlowMonitor-get-started"></a>

为了帮助您入门，本节简要概述了使用网络流量监测仪进行配置并获得洞察的步骤。有关详细信息，请参阅本指南中有关初始化网络流量监测仪、部署代理和创建监测仪的其他章节。
+ 初始化网络流量监测仪，接受与服务相关的角色权限、在网络流量监测仪中创建监控*范围*并创建初始拓扑。如果要观测多个账户中实例网络流的网络性能，则必须与 AWS Organizations 集成，然后将这些账户添加到范围中。要了解更多信息，请参阅[初始化网络流量监测仪](CloudWatch-NetworkFlowMonitor-configure-begin.md)。
+ 根据资源的部署方式，使用 AWS Systems Manager 或配置 Kubernetes，在您的实例上部署*代理*。如果您在 VPC EC2 实例上安装代理，请确保为每个实例上的代理启用向 Network Flow Monitor 后端发送指标的权限。要了解更多信息，请参阅[在 EC2 实例及自主管理型 Kubernetes 实例上部署网络流量监测仪代理](CloudWatch-NetworkFlowMonitor-agents.md)。
+ 对于代理返回的网络流，查看其排名靠前的贡献者指标，以获得*工作负载见解*。工作负载见解提供了您所监控范围内网络流性能的宏观视图。
+ 根据您要查看其详细网络信息的网络流，创建一个或多个*监测仪*。对于每个监测仪，指定要监测其间网络流的本地和远程资源。使用监测仪，您可以查看所选时段内的详细指标和信息（包括运行状况指标），也能观测所选时段内特定网络流的路径拓扑。
+ 定期执行以下操作：
  + 查看所创建监测仪中的网络流信息，了解工作负载中的网络故障并协助排查问题。
  + 查看所监控网络流的工作负载洞察，判断已创建的监测仪是否覆盖了最相关的网络流，或判断是否需要创建新的监测仪。

# 网络流量监测仪 API 操作
<a name="CloudWatch-NetworkFlowMonitor-API-operations"></a>

下表列出了可与网络流量监测仪配合使用的网络流量监测仪 API 操作。该表还包括相关文档的链接。


| Action | API 操作 | 更多信息 | 
| --- | --- | --- | 
|  创建流量监测仪。  |  请参阅 [CreateMonitor](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_CreateMonitor.html)   |  请参阅 [在 Network Flow Monitor 中创建监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-create.md)。  | 
|  为一定范围的资源生成指标。  |  请参阅 [CreateScope](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_CreateScope.html)   |  请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。  | 
|  移除监测仪。  |  请参阅 [DeleteMonitor](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_DeleteMonitor.html)   |  请参阅 [在 Network Flow Monitor 中删除监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-delete.md)。  | 
|  删除已定义的范围。  |  请参阅 [DeleteScope](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_DeleteScope.html)   |  请参阅 [在 Network Flow Monitor 中删除监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-delete.md)。  | 
|  获取有关监测仪的信息。  |  请参阅 [GetMonitor](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetMonitor.html)   |  请参阅 [使用网络流量监测仪监控和分析网络流](CloudWatch-NetworkFlowMonitor-monitor-and-analyze.md)。  | 
|  获取特定监测仪中排名靠前的贡献者的查询数据。  |  请参阅 [GetQueryResultsMonitorTopContributors](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetQueryResultsMonitorTopContributors.html)   |  请参阅 [使用网络流量监测仪监控和分析网络流](CloudWatch-NetworkFlowMonitor-monitor-and-analyze.md)。  | 
|  查询排名靠前的贡献者，以获取工作负载洞察的定义范围。  |  请参阅 [GetQueryResultsWorkloadInsightsTopContributors](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetQueryResultsWorkloadInsightsTopContributors.html)   |  请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。  | 
|  查询工作负载洞察数据，以获取特定范围中排名靠前的贡献者。  |  请参阅 [GetQueryResultsWorkloadInsightsTopContributorsData](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetQueryResultsWorkloadInsightsTopContributorsData.html)   |  请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。  | 
|  在查看结果之前，请检查监测仪中排名靠前的贡献者的查询状态，确保查询已成功。  |  请参阅 [GetQueryStatusMonitorTopContributors](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetQueryStatusMonitorTopContributors.html)   |  不适用  | 
|  在查看结果之前，请检查排名靠前的贡献者工作负载洞察的查询状态，确保查询已成功。  |  请参阅 [GetQueryStatusWorkloadInsightsTopContributors](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetQueryStatusWorkloadInsightsTopContributors.html)   |  不适用  | 
|  在查看结果之前，请检查排名靠前的贡献者工作负载洞察数据的查询状态，确保查询已成功。  |  请参阅 [GetQueryStatusWorkloadInsightsTopContributorsData](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetQueryStatusWorkloadInsightsTopContributorsData)   |  不适用  | 
|  获取有关账户或范围的信息，包括名称、状态、标签和目标详细信息。  |  请参阅 [GetScope](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetScope)   |  请参阅 [使用网络流量监测仪监控和分析网络流](CloudWatch-NetworkFlowMonitor-monitor-and-analyze.md)。  | 
|  列出账户中的所有监测仪。  |  请参阅 [ListMonitors](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_ListMonitors)   |  [使用网络流量监测仪监控和分析网络流](CloudWatch-NetworkFlowMonitor-monitor-and-analyze.md)  | 
|  列出账户的所有范围。  |  请参阅 [ListScopes](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_ListScopes)   |  不适用  | 
|  列出特定资源的所有标签。  |  请参阅 [ListTagsForResource](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_ListTagsForResource)   |  请参阅 [使用网络流量监测仪监控和分析网络流](CloudWatch-NetworkFlowMonitor-monitor-and-analyze.md)。  | 
|  查看监测仪中排名靠前的贡献者的查询数据。  |  请参阅 [StartQueryMonitorTopContributors](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_StartQueryMonitorTopContributors)   |  请参阅 [使用网络流量监测仪监控和分析网络流](CloudWatch-NetworkFlowMonitor-monitor-and-analyze.md)。  | 
|  启动查询以收集排名靠前的贡献者的工作负载洞察数据。  |  请参阅 [StartQueryWorkloadInsightsTopContributors](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_StartQueryWorkloadInsightsTopContributors)   |  请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。  | 
|  停止查询监测仪中排名靠前的贡献者。  |  请参阅 [StopQueryMonitorTopContributors](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_StopQueryMonitorTopContributors)   |  不适用  | 
|  停止查询排名靠前的贡献者的工作负载洞察数据。  |  请参阅 [StopQueryWorkloadInsightsTopContributorsIn](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_StopQueryWorkloadInsightsTopContributors)   |  不适用  | 
|  停止查询排名靠前的贡献者的工作负载洞察数据。  |  请参阅 [StopQueryWorkloadInsightsTopContributorsData](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_StopQueryWorkloadInsightsTopContributorsData)   |  不适用  | 
|  将标签添加到资源中。  |  请参阅 [TagResource](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_TagResource)   |  请参阅 [在 Network Flow Monitor 中编辑监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-edit.md)。  | 
|  从资源中移除标签。  |  请参阅 [UntagResource](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_UntagResource)   |  请参阅 [在 Network Flow Monitor 中编辑监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-edit.md)。  | 
|  更新监测仪以添加或移除本地或远程资源。  |  请参阅 [UpdateMonitor](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_UpdateMonitor)   |  请参阅 [在 Network Flow Monitor 中编辑监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-edit.md)。  | 
|  修改范围以添加或移除网络流量监测仪将在其上生成指标的资源。  |  请参阅 [UpdateScope](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_UpdateScope)   |  不适用  | 

# 将 CLI 与网络流量监测仪结合使用的示例
<a name="CloudWatch-NFM-get-started-CLI"></a>

本节包括将 AWS Command Line Interface 与网络流量监测仪操作结合使用的示例。

开始之前，请确保您通过 AWS 账户登录以使用 AWS CLI，该账户可提供您想要用于监控网络流量的范围。有关将 API 操作与网络流量监测仪结合使用的更多信息，请参阅 [Network Flow Monitor API Reference Guide](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/Welcome.html)。

**Topics**
+ [创建监视器](#CloudWatch-NFM-get-started-CLI-create-monitor)
+ [查看显示器详细信息](#CloudWatch-NFM-get-started-CLI-mon-details)
+ [创建范围](#CloudWatch-NFM-get-started-CLI-create-scope)
+ [删除监测仪](#CloudWatch-NFM-get-started-CLI-delete-monitor)
+ [删除范围](#CloudWatch-NFM-get-started-CLI-delete-scope)
+ [获取有关监测仪的信息](#CloudWatch-NFM-get-started-CLI-get-monitor)
+ [检索特定查询的数据](#CloudWatch-NFM-get-started-CLI-get-query-results)
+ [查看范围信息](#CloudWatch-NFM-get-scope)
+ [查看账户的监测仪列表](#CloudWatch-NFM-list-monitors)
+ [查看账户的范围列表](#CloudWatch-NFM-list-scopes)
+ [查看监测仪的标签列表](#CloudWatch-NFM-list-tags-for-resource)
+ [启动和停止查询](#CloudWatch-NFM-query-monitors)
+ [标记监测仪](#CloudWatch-NFM-tag-resource)
+ [从监测仪中移除标签](#CloudWatch-NFM-untag-resource)
+ [更新现有监测仪](#CloudWatch-NFM-update-monitor)

## 创建监视器
<a name="CloudWatch-NFM-get-started-CLI-create-monitor"></a>

要使用 AWS CLI 创建监测仪，请使用 `create-monitor` 命令。以下示例在指定账户中创建了名为 `demo` 的监测仪。

```
aws networkflowmonitor create-monitor \
        --monitor-name demo \
        --local-resources type="AWS::EC2::VPC",identifier="arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"  \
        --scope-arn arn:aws:networkflowmonitor:us-east-1:111122223333:scope/sample-aaaa-bbbb-cccc-44556677889
```

输出：

```
{
        "monitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/demo",
        "monitorName": "demo",
        "monitorStatus": "ACTIVE",
        "tags": {}
    }
```

有关更多信息，请参阅 [在 Network Flow Monitor 中创建监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-create.md)。

## 查看显示器详细信息
<a name="CloudWatch-NFM-get-started-CLI-mon-details"></a>

要使用 AWS CLI 查看有关监测仪的信息，请使用 `get-monitor` 命令。

```
aws networkflowmonitor get-monitor --monitor-name "TestMonitor"
```

输出：

```
{
    "ClientLocationType": "city",
    "CreatedAt": "2022-09-22T19:27:47Z",
    "ModifiedAt": "2022-09-22T19:28:30Z",
    "MonitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/TestMonitor",
    "MonitorName": "TestMonitor",
    "ProcessingStatus": "OK",
    "ProcessingStatusInfo": "The monitor is actively processing data",
    "Resources": [
        "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"
    ],
    "MaxCityNetworksToMonitor": 10000,
    "Status": "ACTIVE"
}
```

## 创建范围
<a name="CloudWatch-NFM-get-started-CLI-create-scope"></a>

以下 `create-scope` 示例创建了一个范围，该范围是一组资源，网络流量监测仪将为这些资源生成网络流量指标。

```
aws networkflowmonitor create-scope \
        --targets '[{"targetIdentifier":{"targetId":{"accountId":"111122223333"},"targetType":"ACCOUNT"},"region":"us-east-1"}]'
```

输出：

```
    {
        "scopeId": "sample-aaaa-bbbb-cccc-11112222333",
        "status": "IN_PROGRESS",
        "tags": {}
    }
```

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 删除监测仪
<a name="CloudWatch-NFM-get-started-CLI-delete-monitor"></a>

以下 `delete-monitor` 示例从您的账户中删除了名为 `Demo` 的监测仪。

```
aws networkflowmonitor delete-monitor \
        --monitor-name Demo
```

此命令不生成任何输出。

有关更多信息，请参阅 [在 Network Flow Monitor 中删除监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-delete.md)。

## 删除范围
<a name="CloudWatch-NFM-get-started-CLI-delete-scope"></a>

以下 `delete-scope` 示例删除了指定的范围。

```
aws networkflowmonitor delete-scope \
        --scope-id sample-aaaa-bbbb-cccc-44556677889
```

此命令不生成任何输出。

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 获取有关监测仪的信息
<a name="CloudWatch-NFM-get-started-CLI-get-monitor"></a>

以下 `get-monitor` 示例显示有关指定账户中名为 `demo` 的监测仪的信息。

```
aws networkflowmonitor get-monitor \ 
        --monitor-name Demo
```

输出：

```
{
        "monitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo",
        "monitorName": "Demo",
        "monitorStatus": "ACTIVE",
        "localResources": [
            {
                "type": "AWS::EC2::VPC",
                "identifier": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"
            }
        ],
        "remoteResources": [],
        "createdAt": "2024-12-09T12:21:51.616000-06:00",
        "modifiedAt": "2024-12-09T12:21:55.412000-06:00",
        "tags": {}
    }
```

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 检索特定查询的数据
<a name="CloudWatch-NFM-get-started-CLI-get-query-results"></a>

以下部分提供了用于检索查询状态的示例 CLI 命令。

### get-query-results-workload-insights-top-contributors-data
<a name="get-query-results-workload-insights-top-contributors-data"></a>

以下 `get-query-results-workload-insights-top-contributors-data` 示例返回了指定查询的数据。

```
aws networkflowmonitor get-query-results-workload-insights-top-contributors-data \
        --scope-id sample-aaaa-bbbb-cccc-11112222333 \
        --query-id sample-dddd-eeee-ffff-44556677889
```

输出：

```
{
        "datapoints": [
            {
                "timestamps": [
                    "2024-12-09T19:00:00+00:00",
                    "2024-12-09T19:05:00+00:00",
                    "2024-12-09T19:10:00+00:00"
                ],
                "values": [
                    259943.0,
                    194856.0,
                    216432.0
                ],
                "label": "use1-az6"
            }
        ],
        "unit": "Bytes"
    }
```

### get-query-results-workload-insights-top-contributors
<a name="get-query-results-workload-insights-top-contributors"></a>

以下 `get-query-results-workload-insights-top-contributors` 示例返回指定查询的数据。

```
aws networkflowmonitor get-query-results-workload-insights-top-contributors \
        --scope-id sample-aaaa-bbbb-cccc-11112222333 \
        --query-id sample-dddd-eeee-ffff-44556677889
```

输出：

```
{
        "topContributors": [
            {
                "accountId": "111122223333",
                "localSubnetId": "subnet-SAMPLE1111",
                "localAz": "use1-az6",
                "localVpcId": "vpc-SAMPLE2222",
                "localRegion": "us-east-1",
                "remoteIdentifier": "",
                "value": 333333,
                "localSubnetArn": "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-2222444455556666",
                "localVpcArn": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"
            }
        ]
    }
```

### get-query-status-monitor-top-contributors
<a name="get-query-status-monitor-top-contributors"></a>

以下 `get-query-status-monitor-top-contributors` 示例显示指定账户中查询的当前状态。

```
aws networkflowmonitor get-query-status-monitor-top-contributors \
        --monitor-name Demo \
        --query-id sample-dddd-eeee-ffff-44556677889
```

输出：

```
{
        "status": "SUCCEEDED"
    }
```

### get-query-status-workload-insights-top-contributors-data
<a name="get-query-status-workload-insights-top-contributors-data"></a>

以下 `get-query-status-workload-insights-top-contributors-data` 示例显示指定账户中查询的当前状态。

```
aws networkflowmonitor get-query-status-workload-insights-top-contributors-data \
        --scope-id sample-aaaa-bbbb-cccc-11112222333 \
        --query-id sample-dddd-eeee-ffff-44556677889
```

输出：

```
{
        "status": "SUCCEEDED"
    }
```

### get-query-results-workload-insights-top-contributors
<a name="get-query-results-workload-insights-top-contributors"></a>

以下 `get-query-results-workload-insights-top-contributors` 示例显示指定账户中查询的当前状态。

```
aws networkflowmonitor get-query-status-workload-insights-top-contributors \
        --scope-id sample-aaaa-bbbb-cccc-11112222333 \
        --query-id sample-dddd-eeee-ffff-44556677889
```

输出：

```
{
        "status": "SUCCEEDED"
    }
```

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

## 查看范围信息
<a name="CloudWatch-NFM-get-scope"></a>

以下 `get-scope` 示例显示了有关范围的信息，例如状态、标签、名称和目标详细信息等。

```
aws networkflowmonitor get-scope \
        --scope-id sample-aaaa-bbbb-cccc-11112222333
```

输出：

```
{
        "scopeId": "sample-aaaa-bbbb-cccc-11112222333",
        "status": "SUCCEEDED",
        "scopeArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:scope/sample-aaaa-bbbb-cccc-11112222333",
        "targets": [
            {
                "targetIdentifier": {
                    "targetId": {
                        "accountId": "111122223333"
                    },
                    "targetType": "ACCOUNT"
                },
                "region": "us-east-1"
            }
        ],
        "tags": {}
    }
```

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 查看账户的监测仪列表
<a name="CloudWatch-NFM-list-monitors"></a>

以下 `list-monitors` 示例返回了指定账户中的所有监测仪。

```
aws networkflowmonitor list-monitors
```

输出：

```
{
        "monitors": [
            {
                "monitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo",
                "monitorName": "Demo",
                "monitorStatus": "ACTIVE"
            }
        ]
    }
```

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 查看账户的范围列表
<a name="CloudWatch-NFM-list-scopes"></a>

以下 `list-scopes` 示例列出了指定账户中的所有范围。

```
aws networkflowmonitor list-scopes
```

输出：

```
{
        "scopes": [
            {
                "scopeId": "sample-aaaa-bbbb-cccc-11112222333",
                "status": "SUCCEEDED",
                "scopeArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:scope/sample-aaaa-bbbb-cccc-11112222333"
            }
        ]
    }
```

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 查看监测仪的标签列表
<a name="CloudWatch-NFM-list-tags-for-resource"></a>

以下 `list-tags-for-resource` 示例返回所有与指定资源关联的标签。

```
aws networkflowmonitor list-tags-for-resource \
        --resource-arn arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo
```

输出：

```
{
        "tags": {
            "Value": "Production",
            "Key": "stack"
        }
    }
```

有关更多信息，请参阅 [标记 Amazon CloudWatch 资源](CloudWatch-Tagging.md)。

## 启动和停止查询
<a name="CloudWatch-NFM-query-monitors"></a>

以下部分提供了用于在网络流量监测仪中启动和停止查询的示例 CLI 命令。

### start-query-monitor-top-contributors
<a name="start-query-monitor-top-contributors"></a>

以下 `start-query-monitor-top-contributors` 示例启动了查询，该查询返回查询 ID 以检索排名靠前的贡献者。

```
aws networkflowmonitor start-query-monitor-top-contributors \
        --monitor-name Demo \
        --start-time 2024-12-09T19:00:00Z \
        --end-time 2024-12-09T19:15:00Z \
        --metric-name DATA_TRANSFERRED \
        --destination-category UNCLASSIFIED
```

输出：

```
{
        "queryId": "sample-dddd-eeee-ffff-44556677889"
    }
```

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### start-query-workload-insights-top-contributors-data
<a name="start-query-workload-insights-top-contributors-data"></a>

以下 `start-query-workload-insights-top-contributors-data` 示例启动了查询，该查询返回查询 ID 以检索排名靠前的贡献者。

```
aws networkflowmonitor start-query-workload-insights-top-contributors-data \
        --scope-id sample-aaaa-bbbb-cccc-11112222333 \
        --start-time 2024-12-09T19:00:00Z \
        --end-time 2024-12-09T19:15:00Z \
        --metric-name DATA_TRANSFERRED \
        --destination-category UNCLASSIFIED
```

输出：

```
{
        "queryId": "sample-dddd-eeee-ffff-44556677889"
    }
```

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### start-query-workload-insights-top-contributors
<a name="start-query-workload-insights-top-contributors"></a>

以下 `start-query-workload-insights-top-contributors` 示例启动了查询，该查询返回查询 ID 以检索排名靠前的贡献者。

```
aws networkflowmonitor start-query-workload-insights-top-contributors \
        --scope-id sample-aaaa-bbbb-cccc-11112222333 \
        --start-time 2024-12-09T19:00:00Z \
        --end-time 2024-12-09T19:15:00Z \
        --metric-name DATA_TRANSFERRED \
        --destination-category UNCLASSIFIED
```

输出：

```
{
        "queryId": "sample-dddd-eeee-ffff-44556677889"
    }
```

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### stop-query-monitor-top-contributors
<a name="stop-query-monitor-top-contributors"></a>

以下 `stop-query-monitor-top-contributors` 示例停止指定账户中的查询。

```
aws networkflowmonitor stop-query-monitor-top-contributors \
        --monitor-name Demo \
        --query-id sample-dddd-eeee-ffff-44556677889
```

此命令不生成任何输出。

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### stop-query-workload-insights-top-contributors-data
<a name="stop-query-workload-insights-top-contributors-data"></a>

以下 `stop-query-workload-insights-top-contributors-data` 示例停止了指定账户中的查询。

```
aws networkflowmonitor stop-query-workload-insights-top-contributors-data \ 
        --scope-id sample-aaaa-bbbb-cccc-11112222333 \
        --query-id sample-dddd-eeee-ffff-44556677889
```

此命令不生成任何输出。

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### stop-query-workload-insights-top-contributors
<a name="stop-query-workload-insights-top-contributors"></a>

以下 `stop-query-workload-insights-top-contributors` 示例停止指定账户中的查询。

```
aws networkflowmonitor stop-query-workload-insights-top-contributors \ 
        --scope-id sample-aaaa-bbbb-cccc-11112222333 \
        --query-id sample-dddd-eeee-ffff-44556677889
```

此命令不生成任何输出。

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

## 标记监测仪
<a name="CloudWatch-NFM-tag-resource"></a>

以下 `tag-resource` 示例向指定账户中的监测仪添加了标签。

```
aws networkflowmonitor tag-resource \
        --resource-arn arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo \
        --tags Key=stack,Value=Production
```

此命令不生成任何输出。

有关更多信息，请参阅 [标记 Amazon CloudWatch 资源](CloudWatch-Tagging.md)。

## 从监测仪中移除标签
<a name="CloudWatch-NFM-untag-resource"></a>

以下 `untag-resource` 示例移除了指定账户中监测仪的标签。

```
aws networkflowmonitor untag-resource \
        --resource-arn arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo \
        --tag-keys stack
```

此命令不生成任何输出。

有关更多信息，请参阅 [标记 Amazon CloudWatch 资源](CloudWatch-Tagging.md)。

## 更新现有监测仪
<a name="CloudWatch-NFM-update-monitor"></a>

以下 `update-monitor` 示例更新了指定账户中名为“Demo”的监测仪。

```
aws networkflowmonitor update-monitor \
        --monitor-name Demo \
        --local-resources-to-add type="AWS::EC2::VPC",identifier="arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"
```

输出：

```
{
        "monitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo",
        "monitorName": "Demo",
        "monitorStatus": "ACTIVE",
        "tags": {
            "Value": "Production",
            "Key": "stack"
        }
    }
```

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

# 使用 EKS
<a name="CloudWatch-NetworkFlowMonitor-work-with-eks"></a>

通过网络流量监测仪，您可收集基于 Amazon Elastic Kubernetes Service（Amazon EKS）的工作负载性能指标。本章将分步介绍代理的部署方法，说明可监控的各类 EKS 应用场景。您可在控制台中找到网络流量监测仪为 Amazon EKS 提供的元数据详细说明，助力分析网络性能状况。

要使用网络流量监测仪的性能监控功能，您必须先为 Amazon EKS 部署 AWS 网络流量监测仪代理附加组件。有关更多信息，请参阅 [安装 EKS AWS 网络流量监测仪代理插件](CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks.md)。

若需监控单个 EKS 集群，同时希望增强集群内工作负载流量的可视性、掌握集群内及集群与外部目标间的性能详情，请参阅 [Amazon EKS 网络可观测性](https://docs.aws.amazon.com/eks/latest/userguide/network-observability.html)。

**Topics**
+ [安装 EKS AWS 网络流量监测仪代理插件](CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks.md)
+ [Amazon EKS 专属网络路径附加元数据](CloudWatch-NetworkFlowMonitor-work-with-eks.performance-metadata.md)

# 安装 EKS AWS 网络流量监测仪代理插件
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks"></a>

按照本节中的步骤，安装适用于 Amazon Elastic Kubernetes Service（Amazon EKS）的 AWS 网络流量监测仪代理插件，将网络流量监测仪指标从 Kubernetes 集群发送到网络流量监测仪后端。完成这些步骤后，AWS 网络流量监测仪代理容器组将在所有 Kubernetes 集群节点上运行。

如果您使用的是自行管理的 Kubernetes 集群，则要遵循的安装步骤位于上一节中：[为自行管理的 Kubernetes 实例安装代理](CloudWatch-NetworkFlowMonitor-agents-kubernetes-non-eks.md)。

请注意，网络流量监测仪不支持客户管理的前缀列表[客户管理的前缀列表](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-managed-prefix-lists.html)。

您可以使用控制台或使用带有 AWS Command Line Interface的 API 命令来安装该附加组件。

**Topics**
+ [安装附加组件的先决条件](#CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-prereq)
+ [使用控制台安装附加组件](#CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-console)
+ [使用 CLI 安装附加组件](#CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-cli)
+ [为第三方工具进行配置](CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party.md)

## 安装附加组件的先决条件
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-prereq"></a>

无论您是使用控制台还是 CLI 来安装 AWS 网络流量监测仪代理插件，为 Kubernetes 安装该插件均需满足几个要求。

**确保 Kubernetes 版本受支持**  
安装 Network Flow Monitor 代理需要 Kubernetes 版本 1.25 或更高的版本。

**Amazon EKS 容器组身份代理附加组件安装**  
您可以在控制台中或使用 CLI 安装 Amazon EKS 容器组身份代理附加组件。  
Amazon EKS 容器组身份关联提供管理应用程序凭证的功能，类似于 Amazon EC2 实例配置文件为 Amazon EC2 实例提供凭证的方式。Amazon EKS 容器组身份通过额外的 Amazon EKS Auth API 以及在每个节点上运行的代理容器组，为工作负载提供凭证。  
要了解更多信息并查看安装 Amazon EKS 容器组身份附加组件的步骤，请参阅《Amazon EKS 用户指南》中的[设置 Amazon EKS 容器组身份代理](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-agent-setup.html)。

## 使用控制台安装 AWS 网络流量监测仪代理插件
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-console"></a>

按照本节中的步骤，在 Amazon EKS 控制台中安装和配置 AWS 网络流量监测仪代理插件。

如果您已经安装了该插件，但在升级到新版本时遇到问题，请参阅[对 EKS 代理安装相关问题进行故障排除](CloudWatch-NetworkFlowMonitor-troubleshooting.md#CloudWatch-NetworkFlowMonitor-troubleshooting.ec2-agent-installation)。

在开始之前，请确保您已安装 Amazon EKS 容器组身份代理附加组件。有关更多信息，请参阅[前一章节](#NFMPodIdentity)。

**使用控制台安装附加组件**

1. 导航到 AWS 管理控制台中的 Amazon EKS 控制台。

1. 在安装插件页面的插件列表中，选择 **AWS 网络流量监测仪代理**。

1. 配置附加组件设置。

   1. 对于**附加组件的访问权限**，请选择 **EKS 容器组身份**。

   1. 要将 IAM 角色与插件配合使用，请使用附加了以下 AWS 托管策略的角色：[CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html)。通过此策略，代理可以向 Network Flow Monitor 端点发送遥测报告。如果您尚无附加策略的角色，请选择**创建推荐角色**并按照 IAM 控制台中的步骤创建角色。

   1. 选择**下一步**。

1. 在**查看并添加**页面上，确保附加组件看上去经过妥当配置，然后选择**创建**。

## 使用 AWS Command Line Interface安装 AWS 网络流量监测仪代理插件
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-cli"></a>

按照本节中的步骤，使用 AWS Command Line Interface安装适用于 Amazon EKS 的 AWS 网络流量监测仪代理插件。

**1. 安装 EKS 容器组身份代理附加组件**  
在开始之前，请确保您已安装 Amazon EKS 容器组身份代理附加组件。有关更多信息，请参阅[前述章节](#NFMPodIdentity)。

**2. 创建所需的 IAM 角色**  
AWS 网络流量监测仪代理插件必须具有向网络流量监测仪后端发送指标的权限。创建附加组件时，您必须附加具有所需权限的角色。创建附加了以下 AWS 托管策略的角色：[CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html)。您需要此 IAM 角色的 ARN 才能安装该附加组件。

**3. 安装 AWS 网络流量监测仪代理插件**  
要为集群安装 AWS 网络流量监测仪代理插件，请运行以下命令：  
`aws eks create-addon --cluster-name CLUSTER NAME --addon-name aws-network-flow-monitoring-agent --region AWS REGION --pod-identity-associations serviceAccount=aws-network-flow-monitor-agent-service-account,roleArn=IAM ROLE ARN`  
结果应类似以下内容：  

```
{
    "addon": {
        "addonName": "aws-network-flow-monitoring-agent",
        "clusterName": "ExampleClusterName",
        "status": "CREATING",
        "addonVersion": "v1.0.0-eksbuild.1",
        "health": {
            "issues": []
        },
        "addonArn": "arn:aws:eks:us-west-2:000000000000:addon/ExampleClusterName/aws-network-flow-monitoring-agent/eec11111-bbbb-EXAMPLE",
        "createdAt": "2024-10-25T16:38:07.213000+00:00",
        "modifiedAt": "2024-10-25T16:38:07.240000+00:00",
        "tags": {},
         "podIdentityAssociations": [
            "arn:aws:eks:us-west-2:000000000000:podidentityassociation/ExampleClusterName/a-3EXAMPLE5555555"
         ]
    }
  }
```

**4. 确保附加组件处于活动状态**  
查看已安装的 AWS 网络流量监测仪代理插件，确保该插件在集群中处于活动状态。要验证状态是否为 `ACTIVE`，请运行以下命令：  
`aws eks describe-addon --cluster-name CLUSTER NAME --addon-name aws-network-flow-monitoring-agent --region AWS REGION`  
结果应类似以下内容：  

```
{
    "addon": {
        "addonName": "aws-network-flow-monitoring-agent",
        "clusterName": "ExampleClusterName",
        "status": "ACTIVE",
        "addonVersion": "v1.0.0-eksbuild.1",
        "health": {
            "issues": []
        },
        "addonArn": "arn:aws:eks:us-west-2:000000000000:addon/ExampleClusterName/aws-network-flow-monitoring-agent/eec11111-bbbb-EXAMPLE",
        "createdAt": "2024-10-25T16:38:07.213000+00:00",
        "modifiedAt": "2024-10-25T16:38:07.240000+00:00",
        "tags": {},
         "podIdentityAssociations": [
            "arn:aws:eks:us-west-2:000000000000:podidentityassociation/ExampleClusterName/a-3EXAMPLE5555555"
         ]
    }
  }
```

# 为第三方监控工具配置附加组件
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party"></a>

您可在部署过程中配置网络流量监测仪附加组件，对外暴露 OpenMetrics 服务端。此举可实现与 Prometheus 等第三方监控工具的集成，让您能够在现有监控基础设施中收集并分析网络流指标。[了解有关 OpenMetrics 的更多信息](https://openmetrics.io/)。本功能自附加组件版本 v1.1.0 起可用。

如需启用 OpenMetrics 服务端，需将 OPEN\$1METRICS、OPEN\$1METRICS\$1ADDRESS 和 OPEN\$1METRICS\$1PORT 添加到 EKS 网络流量监测仪附加组件的配置值中。本指南将介绍如何分别通过 CLI 和控制台完成此操作。有关添加配置值的更多详情，请参阅 [Amazon EKS 插件高级配置](https://aws.amazon.com/blogs/containers/amazon-eks-add-ons-advanced-configuration/)。

## CLI 配置
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party-cli"></a>

使用 AWS Command Line Interface时，可将上述配置值作为参数传入：

```
aws eks create-addon \
  --cluster-name my-cluster-name \
  --addon-name aws-network-flow-monitoring-agent \
  --addon-version v1.1.0-eksbuild.1 \
  --configuration-values '{"env":{"OPEN_METRICS":"on","OPEN_METRICS_ADDRESS":"0.0.0.0","OPEN_METRICS_PORT":9109}}'
```

## 控制台配置
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party-console"></a>

使用 Amazon EKS 控制台时，可在可选配置设置下的配置值模块中添加上述配置值。

**示例 JSON：**

```
{
    "env": {
        "OPEN_METRICS": "on",
        "OPEN_METRICS_ADDRESS": "0.0.0.0",
        "OPEN_METRICS_PORT": 9109
    }
}
```

**示例 YAML：**

```
env:
  OPEN_METRICS: "on"
  OPEN_METRICS_ADDRESS: "0.0.0.0"
  OPEN_METRICS_PORT: 9109
```

## EKS 网络流量监测仪附加组件 OpenMetric 参数
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party-parameters"></a>
+ **OPEN\$1METRICS：**
  + 启用或关闭 OpenMetrics 功能。未配置时默认为关闭状态
  + 类型：字符串
  + 值：["on"，"off"]
+ **OPEN\$1METRICS\$1ADDRESS：**
  + OpenMetrics 端点的监听 IP 地址。未配置时默认值为 127.0.0.1
  + 类型：字符串
+ **OPEN\$1METRICS\$1PORT：**
  + OpenMetrics 端点的监听端口。未配置时默认值为 80
  + 类型：整数
  + 取值范围：[0..65535]

**重要提示：**将 OPEN\$1METRICS\$1ADDRESS 配置为 0.0.0.0 时，该指标端点将支持所有网络接口的访问。建议将值设为 127.0.0.1，仅允许本地主机访问；或部署相应的网络安全控制策略，将访问权限仅限授予已授权的监控系统。

## 问题排查
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party-troubleshooting"></a>

若在配置 OpenMetrics 服务端时遇到问题，可通过以下信息诊断并解决常见故障。

### 指标未显示
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party-troubleshooting-metrics-not-displaying"></a>

问题现象：已完成 OpenMetrics 服务端配置，但监控工具中未显示相关指标。

问题排查步骤：

1. 验证附加组件配置中是否已启用 OpenMetrics 服务端：
   + 检查配置值内的 OPEN\$1METRICS 参数是否设为“on”。具体可参阅 [describe-addon](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-addon.html) 命令说明。
   + 在*配置选定附加组件设置*中，确认附加组件版本为 v1.1.0 或更高版本。

1. 直接测试指标端点的连通性：
   + 通过地址 http://*pod-ip:port*/metrics 访问指标（将 pod-ip 替换为实际的容器组（pod）IP 地址，port 替换为配置的端口）。
   + 若无法访问该端点，需核查网络配置及安全组规则设置。

1. 验证监控工具配置情况。参考所用监控工具的用户指南，完成以下配置检查：
   + 确认监控工具（如 Prometheus）已配置为采集正确的指标端点。
   + 检查指标采集的时间间隔与超时时间配置是否合理。
   + 验证监控工具是否具备访问该容器组（pod）IP 地址的网络权限。

### 特定容器组（pod）指标缺失
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party-troubleshooting-metrics-missing-pods"></a>

问题现象：集群内部分容器组（pod）可采集到指标，其他容器组（pod）的指标无法获取。

问题排查步骤：

网络流量监测仪附加组件不支持启用“hostNetwork: true”的容器组（pod）。若容器组（pod）的配置清单中包含该设置，将无法采集到该容器组（pod）的相关指标。

解决办法：若条件允许，从容器组（pod）配置清单中移除“hostNetwork: true”设置。若应用程序业务必须使用主机网络，则可为这些特定容器组（pod）采用其他监控方案。

### “连接被拒绝”错误
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party-troubleshooting-connection-refused"></a>

问题现象：尝试访问指标端点时，出现“连接被拒绝”错误。

问题排查步骤：

1. 验证 OPEN\$1METRICS\$1ADDRESS 配置：
   + 若该配置设为 127.0.0.1，指标端点仅支持从容器组（pod）内部访问。
   + 若该配置设为 0.0.0.0，集群内其他容器组（pod）应可访问该指标端点。
   + 确认监控工具能够连通已配置的访问地址。

1. 检查 OPEN\$1METRICS\$1PORT 配置：
   + 验证该端口号未被其他服务占用。
   + 确认端口号处于有效取值范围（1-65535）内。
   + 核实所有相关安全组及网络策略均允许该端口的流量通行。

### 验证步骤
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks-third-party-troubleshooting-verification"></a>

确认 OpenMetrics 配置正常生效的操作步骤如下：

1. 检查附加组件状态：

   ```
   aws eks describe-addon --cluster-name your-cluster-name --addon-name aws-network-flow-monitoring-agent
   ```

1. 验证容器组（pod）运行状态：

   ```
   kubectl get pods app.kubernetes.io/name=aws-network-flow-monitoring-agent
   ```

1. 从集群内部测试指标端点连通性：

   ```
   kubectl exec add-on-pod-name -- curl localhost:9109/metrics
   ```

   将 9109 替换为配置的端口号，将容器组（pod）名称替换为附加组件对应的容器组（pod）名称。

# Amazon EKS 专属网络路径附加元数据
<a name="CloudWatch-NetworkFlowMonitor-work-with-eks.performance-metadata"></a>

网络流量监测仪采集 Amazon EKS 组件间网络流的性能指标时，会同步采集网络路径相关的附加元数据信息，助力您更清晰地掌握工作负载的网络路径运行表现。

您可通过为目标网络流创建监测任务，再在**历史浏览器**选项卡中查看详细信息，获取 Amazon EKS 网络流性能的精细化信息。

通过网络流量监测仪，您可对 Amazon EKS 各类组件间的网络性能进行量化分析，从而更深入地了解工作负载在当前 Amazon EKS 配置下的运行状态，定位网络性能瓶颈与异常点。
+ 同一节点上的容器组（pod）与容器组（pod）间
+ 同一集群内的节点与节点间
+ 不同集群中的容器组（pod）与容器组（pod）间
+ 不同集群中的节点与节点间
+ 启用/未启用网络负载均衡器的网络链路

下表列出了网络流量监测仪针对各类网络流场景返回的相关信息。


| **连接信息** | **元数据信息** |  | **本地** | **远端** | **场景** | **发起方** | **本地** | **远端** | **容器组（pod）名称** | **服务** | **命名空间** | **容器组（pod）名称** | **服务** | **命名空间** | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| 本地容器组（pod）连接至集群内其他内部服务的集群 IP | 本地 | 本地容器组（pod）IP 地址 | 远端容器组（pod）IP 地址 （通过集群 IP 地址） | ✓ | ✓ | ✓ | ✓ ¹ | ✓ | ✓ | 
| 节点网络命名空间中的本地容器组（pod）连接至集群内其他内部服务的集群 IP | 本地 | 本地节点 IP 地址 | 远端容器组（pod）IP 地址 （通过集群 IP 地址） | ✓ ² | ✓ ² | ✓ ² | ✓ ¹ | ✓ | ✓ | 
| 本地容器组（pod）连接至另一容器组（pod）的独立容器组（pod）IP 地址（无头服务） | 本地 | 本地容器组（pod）IP 地址 | 远端容器组（pod）IP 地址 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| 节点网络命名空间中的本地容器组（pod）连接至另一容器组（pod）的独立容器组（pod）IP 地址（无头服务） | 本地 | 本地容器组（pod）IP 地址 | 远端节点 IP 地址 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| 本地容器组（pod）连接至另一集群中的远端容器组（pod） | 本地 | 本地容器组（pod）IP 地址 | 远端容器组（pod）IP 地址 （另一集群） | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | 
| 本地容器组（pod）连接至外部网络地址 | 本地 | 本地容器组（pod）IP 地址 | 外部 IP 地址 | ✓ | ✓ | ✓ | 不适用 | 不适用 | 不适用 | 
| 节点网络命名空间中运行的本地容器组（pod）连接至外部网络 IP 地址 | 本地 | 本地节点 IP 地址 | 外部 IP 地址 | ✓ ² | ✓ ² | ✓ ² | 不适用 | 不适用 | 不适用 | 
| 远端容器组（pod）通过集群 IP 地址连接至本地容器组（pod） | 远端 | 本地容器组（pod）IP 地址 （通过集群 IP 地址） | 远端容器组（pod）IP 地址 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| 节点网络命名空间中的远端容器组（pod）连接至本地容器组（pod） | 远端 | 本地容器组（pod）IP 地址 （通过集群 IP 地址） | 远端节点 IP 地址 | ✓ | ✓ | ✓ | ✓ ³ | ✓ ³ | ✓ ³ | 
| 远端容器组（pod）连接至本地容器组（pod）（无头服务） | 远端 | 本地容器组（pod）IP 地址 | 远端容器组（pod）IP 地址 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| 外部容器组（pod）连接至本地容器组（pod） | 远端 | 本地容器组（pod）IP 地址 | 远端容器组（pod）IP 地址 | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | 
| 外部资源通过 NodePort 或负载均衡器连接至本地容器组（pod） | 远端 | 本地容器组（pod）IP 地址 | 外部 IP 地址 ⁴ | ✓ | ✓ | ✓ | 不适用 | 不适用 | 不适用 | 
| 外部资源通过 NodePort 或负载均衡器连接至节点网络命名空间中运行的本地容器组（pod） | 远端 | 本地节点 IP 地址 | 外部 IP 地址 ⁴ | ✓ | ✓ | ✓ | 不适用 | 不适用 | 不适用 | 

请注意，针对上表中带脚注标注的条目，补充以下说明信息。

1. 对于归属于其他所有者的容器组（pod）[例如由 EKS 控制面板管理的 Kubernetes 服务对应的容器组（pod）]，本场景下将无法查看其容器组（pod）名称。

1. 若节点网络命名空间中存在其他容器组（pod），本地容器组（pod）的名称、所属服务及命名空间信息将无法被解析。

1. 若节点网络命名空间中存在其他容器组（pod），远端容器组（pod）的名称、所属服务及命名空间信息将无法被解析。

1. 若服务在实例模式下使用 NodePort 或 LoadBalancer 类型，且 `ExternalTrafficPolicy` 配置为 `Cluster`，则该场景下上报的 IP 地址，将为接收该 NodePort 连接的节点对应的 IP 地址。

# 在 EC2 实例及自主管理型 Kubernetes 实例上部署网络流量监测仪代理
<a name="CloudWatch-NetworkFlowMonitor-agents"></a>

为了提供您的 AWS 工作负载中网络流的性能指标，网络流量监测仪依赖于您安装的*代理*，这些代理会将指标发送到网络流量监测仪。您可在实例上安装网络流量监测仪代理并为代理设置正确的权限，以便代理可以向网络流量监测仪后端发送指标。

代理是安装在资源（例如 VPC EC2 实例）上的轻量级软件应用程序。代理会持续将性能指标发送到网络流量监测仪后端。然后，您就可以在网络流量监测仪控制台中的**工作负载洞察**页面上查看指标。您还可以通过创建监测仪来跟踪特定网络流量或流量组的详细指标。

在实例中部署代理的操作步骤，取决于实例的类型：Amazon EKS Kubernetes 实例、VPC EC2 实例，或自主管理型（非 EKS）Kubernetes 实例。
+ 有关 Amazon EKS 的相关操作（包括在 EKS 上部署代理），请参阅[使用 EKS](CloudWatch-NetworkFlowMonitor-work-with-eks.md)。
+ 有关在 VPC EC2 实例和自主管理型 Kubernetes 实例上部署代理的操作说明，请参见本章相关小节。

您可以通过使用 AWS PrivateLink 在 VPC 和网络流量监测仪代理之间建立私有连接。有关更多信息，请参阅 [将 CloudWatch、CloudWatch Synthetics 和 CloudWatch 网络监控与接口 VPC 端点结合使用](cloudwatch-and-interface-VPC.md)。

**Topics**
+ [网络流量监测仪代理支持的 Linux 版本](CloudWatch-NetworkFlowMonitor-agents-versions.md)
+ [为 EC2 实例安装和管理代理](CloudWatch-NetworkFlowMonitor-agents-ec2.md)
+ [为自行管理的 Kubernetes 实例安装代理](CloudWatch-NetworkFlowMonitor-agents-kubernetes-non-eks.md)

# 网络流量监测仪代理支持的 Linux 版本
<a name="CloudWatch-NetworkFlowMonitor-agents-versions"></a>

您在其上安装代理的实例必须运行支持的 Linux 版本和发行版。Network Flow Monitor 支持代理仅在 Linux 上运行，并且 Linux 内核版本必须为 5.8 或更高版本。支持以下 Linux 发行版。请注意，代理经过测试后，可以在这些发行版的最新版本上运行。
+ Amazon Linux
+ Ubuntu
+ Red Hat
+ Suse Linux
+ 适用于 x86 和 aarch64 的 Debian 发行版

# 为 EC2 实例安装和管理代理
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2"></a>

请按照本节中的步骤，为 Amazon EC2 实例上的工作负载安装网络流量监测仪代理。可以使用 SSM 安装代理，也可以使用命令行下载并安装网络流量监测仪代理的预构建软件包。

无论使用何种方法在 EC2 实例上安装代理，都必须为代理配置权限，使其能够将性能指标发送到网络流量监测仪后端。

**Topics**
+ [配置代理的权限](CloudWatch-NetworkFlowMonitor-agents-ec2-permissions.md)
+ [使用 SSM 为 EC2 实例安装代理](CloudWatch-NetworkFlowMonitor-agents-ec2-install-ssm.md)
+ [下载并安装代理](CloudWatch-NetworkFlowMonitor-agents-download-agent-commandline.md)

# 配置代理的权限
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-permissions"></a>

要启用代理向 Network Flow Monitor 摄取后端发送指标，有代理在其中运行的 EC2 实例所用的角色必须有附加了正确权限的策略。要提供所需的权限，请使用附加了以下 AWS 托管策略的角色：[CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html)。将此策略附加到您计划安装 Network Flow Monitor 代理的 EC2 实例的 IAM 角色。

我们建议您在 EC2 实例上安装代理之前添加权限。您可以在完成代理安装之前选择等待，但是在正确附加权限之前，代理将无法向服务发送指标。

**为 Network Flow Monitor 代理添加权限**

1. 在 AWS 管理控制台的 Amazon EC2 控制台中，找到您计划在其上安装 Network Flow Monitor 代理的 EC2 实例。

1. 将 [CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html) 策略附加到各个实例的 IAM 角色。

   如果实例未附加 IAM 角色，请执行以下操作来选择角色：

   1. 在**操作**下，选择**安全**。

   1. 选择**修改 IAM 角色**，或者通过选择**创建新 IAM 角色**来创建新角色。

   1. 为实例选择角色，然后附加 [CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html) 策略。

# 使用 SSM 在 EC2 实例上安装代理
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-install-ssm"></a>

网络流量监测仪代理提供了有关网络流量的性能指标。请按照本节中的步骤，使用 AWS Systems Manager 在 EC2 实例上安装和使用网络流量监测仪代理。如果您使用 Kubernetes，请跳到后续章节，了解有关使用 Amazon EKS 集群或自主管理型 Kubernetes 集群安装代理的信息。

在 Systems Manager 中，网络流量监测仪提供了用于安装或卸载代理的 Distributor 软件包。此外，Network Flow Monitor 还提供了文档，用于使用文档类型命令激活或停用代理。请使用标准 Systems Manager 程序来使用该软件包和文档，或者按照此处提供的步骤获取详细指导。

有关更多使用 Systems Manager 的常规信息，请参阅以下文档：
+ [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)
+ [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html)

按照以下各部分中的步骤来配置权限、安装和使用网络流量监测仪代理。

**内容**
+ [安装或卸载代理](#CloudWatch-NetworkFlowMonitor-agents-ec2-install)
+ [启用或停用代理](#CloudWatch-NetworkFlowMonitor-agents-ec2-manage)

## 使用 Systems Manager 安装或卸载代理
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-install"></a>

网络流量监测仪在 AWS Systems Manager 中提供了一个分发包，供您安装网络流量监测仪代理：**AmazonCloudWatchNetworkFlowMonitorAgent**。要访问并运行软件包来安装代理，请按照此处的步骤操作。

**要在 EC2 实例中安装代理**

1. 在AWS 管理控制台中的 AWS Systems Manager 中，在**节点工具**下，选择 **Distributor**。

1. 在**由 Amazon 拥有**下，找到网络流量监测仪软件包，**AmazonCloudWatchNetworkFlowMonitorAgent**，然后将其选中。

1. 在**运行命令**流中，选择**一次安装**或**按计划安装**。

1. 在**目标选择**部分，确定如何选择要安装代理的 EC2 实例。可以根据标签选择实例、手动选择实例，或者根据资源组的选择来选择实例。

1. 在**命令参数**部分的**操作**下，选择**安装**。

1. 如有必要，向下滚动，然后选择**运行**以开始安装。

如果安装成功并且实例有权访问 Network Flow Monitor 端点，则代理将开始收集指标并向 Network Flow Monitor 后端发送报告。

处于活动状态（发送指标数据）的代理会产生账单费用。有关 Network Flow Monitor 和 Amazon CloudWatch 定价的更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com//cloudwatch/pricing/)页面。如果您暂时不需要指标数据，可以停用代理。有关更多信息，请参阅[激活或停用代理](#CloudWatch-NetworkFlowMonitor-agents-ec2-manage)。如果您不再需要网络流量监测仪代理，可以从 EC2 实例中将其卸载。

**要从 EC2 实例卸载代理**

1. 在AWS 管理控制台中的 AWS Systems Manager 中，在**节点工具**下，选择 **Distributor**。

1. 在**由 Amazon 拥有**下，找到网络流量监测仪软件包，**AmazonCloudWatchNetworkFlowMonitorAgent**，然后将其选中。

1. 在**命令参数**部分的**操作**下，选择**卸载**。

1. 选择要从其上卸载代理的 EC2 实例。

1. 如有必要，向下滚动，然后选择**运行**以开始安装。

## 使用 Systems Manager 启用或停用代理
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-manage"></a>

安装带有 SSM 的网络流量监测仪代理后，必须将其激活，才能从安装该代理的实例接收网络流量指标。处于活动状态（发送指标数据）的代理会产生账单费用。有关 Network Flow Monitor 和 Amazon CloudWatch 定价的更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com//cloudwatch/pricing/)页面。如果您暂时不需要指标数据，可以停用代理以防止代理继续计费。

Network Flow Monitor 在 AWS Systems Manager 中提供了文档，您可以使用该文档启用或停用已在 EC2 实例上安装的代理。通过运行此文档来管理代理，您可以启用代理，开始接收性能指标。或者，您可以停用代理以暂时停止发送指标，而无需卸载代理。

SSM 中可用于激活或停用代理的文档名为 **AmazonCloudWatch-NetworkFlowMonitorManageAgent**。要访问并运行文档，请遵循过程中的步骤。

**启用或停用 Network Flow Monitor 代理**

1. 在AWS 管理控制台中的 AWS Systems Manager 中，在**更改管理工具**下，选择**文档**。

1. 在**由 Amazon 所有**下，找到网络流量监测仪文档：**AmazonCloudWatch-NetworkFlowMonitorManageAgent**，然后选择该文档。

1. 在**目标选择**部分，确定如何选择要安装代理的 EC2 实例。可以根据标签选择实例、手动选择实例，或者根据资源组的选择来选择实例。

1. 在**命令参数**部分的**操作**下，选择**激活**或**停用**，具体取决于您要为代理完成的操作。

1. 如有必要，向下滚动，然后选择**运行**以开始安装。

# 使用命令行下载网络流量监测仪代理的预构建软件包
<a name="CloudWatch-NetworkFlowMonitor-agents-download-agent-commandline"></a>

您可以使用命令行将网络流量监测仪代理作为软件包安装在 Amazon Linux 2023 中，也可以下载并安装网络流量监测仪代理的预构建软件包。

在下载预构建软件包之前或之后，可选择验证软件包签名。有关更多信息，请参阅[验证网络流量监测仪代理软件包的签名](#CloudWatch-NetworkFlowMonitor-agents-download-agent-commandline-verify-sig)。

可根据所使用的 Linux 操作系统和所需的安装类型，从以下说明中进行选择。

**Amazon Linux AMI**  
网络流量监测仪代理可作为在 Amazon Linux 2023 中使用的软件包。如果您使用此操作系统，则可以通过输入以下命令安装该软件包：  
`sudo yum install network-flow-monitor-agent`  
您还必须确保附加到实例的 IAM 角色附加了 [CloudWatchNetworkFlowMonitorAgentPublishPolicy](security-iam-awsmanpol-network-flow-monitor.md#security-iam-awsmanpol-CloudWatchNetworkFlowMonitorAgentPublishPolicy) 策略。有关更多信息，请参阅[配置代理的权限](CloudWatch-NetworkFlowMonitor-agents-ec2-permissions.md)。

**Amazon Linux 2023**  
使用以下命令之一安装适用于架构的软件包：  
+ **x86\$164**：`sudo yum install https://networkflowmonitoragent.awsstatic.com/latest/x86_64/network-flow-monitor-agent.rpm`
+ **ARM64（Graviton）**：`sudo yum install https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.rpm`
运行以下命令并验证响应是否显示代理已启用且处于活动状态，用以验证网络流量监测仪代理是否已成功安装：  

```
service network-flow-monitor status
network-flow-monitor.service - Network Flow Monitor Agent
     Loaded: loaded (/usr/lib/systemd/system/network-flow-monitor.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-04-23 19:17:16 UTC; 1min 9s ago
```

**基于 DEB 的发行版（Debian、Ubuntu）**  
使用以下命令之一安装适用于架构的软件包：  
+ **x86\$164**：`wget https://networkflowmonitoragent.awsstatic.com/latest/x86_64/network-flow-monitor-agent.deb`
+ **ARM64（Graviton）**：`wget https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.deb`
使用以下命令安装该软件包：`$ sudo apt-get install ./network-flow-monitor-agent.deb`  
运行以下命令并验证响应是否显示代理已启用且处于活动状态，用以验证网络流量监测仪代理是否已成功安装：  

```
service network-flow-monitor status
network-flow-monitor.service - Network Flow Monitor Agent
     Loaded: loaded (/usr/lib/systemd/system/network-flow-monitor.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-04-23 19:17:16 UTC; 1min 9s ago
```

## 验证网络流量监测仪代理软件包的签名
<a name="CloudWatch-NetworkFlowMonitor-agents-download-agent-commandline-verify-sig"></a>

适用于 Linux 实例的网络流量监测仪代理 RPM 和 DEB 安装软件包均采用加密签名。您可以使用公钥验证代理软件包是否为未修改的原始包。如果文件有任何损坏或已更改，则验证将失败。您可以使用 RPM 或 GPG 验证安装程序包的签名。以下信息适用于网络流量监测仪代理版本 0.1.3 或更高版本。

要查找适用于每种架构和操作系统的正确签名文件，请参阅下表。


| 架构 | 平台 | 下载链接 | 签名文件链接 | 
| --- | --- | --- | --- | 
|  x86-64 |  Amazon Linux 2023  |  https://networkflowmonitoragent.awsstatic.com/latest/x86\$164/network-flow-monitor-agent.rpm  |  https://networkflowmonitoragent.awsstatic.com/latest/x86\$164/network-flow-monitor-agent.rpm.sig  | 
|  ARM64 |  Amazon Linux 2023  |  https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.rpm  |  https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.rpm.sig  | 
|  x86-64 |  Debian/Ubuntu  |  https://networkflowmonitoragent.awsstatic.com/latest/x86\$164/network-flow-monitor-agent.deb  |  https://networkflowmonitoragent.awsstatic.com/latest/x86\$164/network-flow-monitor-agent.deb.sig  | 
|  ARM64 |  Debian/Ubuntu  |  https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.deb  |  https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.deb.sig  | 

按照此处的步骤验证网络流量监测仪代理的签名。

**验证适用于 Amazon S3 软件包的网络流量监测仪代理的签名**

1. 安装 GnuPG，以便运行 gpg 命令。必须安装 GnuPG，才能验证从 Amazon S3 软件包下载的网络流量监测仪代理的真实性与完整性。GnuPG 默认安装在 Amazon Linux 亚马逊机器映像（AMI）上。

1. 复制以下公有密钥并将其保存到名为 `nfm-agent.gpg` 的文件。

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   
   mQINBGf0b5IBEAC6YQc0aYrTbcHNWWMbLuqsqfspzWrtCvoU0yQ62ld7nvCGBha9
   lu4lbhtiwoDawC3h6Xsxc3Pmm6kbMQfZdbo4Gda4ahf6zDOVI5zVHs3Yu2VXC2AU
   5BpKQJmYddTb7dMI3GBgEodJY05NHQhq1Qd2ptdh03rsX+96Fvi4A6t+jsGzMLJU
   I+hGEKGif69pJVyptJSibK5bWCDXh3eS/+vB/CbXumAKi0sq4rXv/VPiIhn6bsCI
   A2lmzFd3vMJQUM/T7m7skrqetZ4mWHr1LPDFPK/H/81s8TJawx7MACsK6kIRUxu+
   oicW8Icmg9S+BpIgONT2+Io5P1tYO5a9AyVF7X7gU0VgHUA1RoLnjHQHXbCmnFtW
   cYEuwhUuENMl+tLQCZ+fk0kKjOlIKqeS9AVwhks92oETh8wpTwTE+DTBvUBP9aHo
   S39RTiJCnUmA6ZCehepgpwW9AYCc1lHv/xcahD418E0UHV22qIw943EwAkzMDA4Q
   damdRm0Nud0OmilCjo9oogEB+NUoy//5XgQMH1hhfsHquVLU/tneYexXYMfo/Iu5
   TKyWL2KdkjKKP/dMR4lMAXYi0RjTJJ5tg5w/VrHhrHePFfKdYsgN6pihWwj2Px/M
   ids3W1Ce50LOEBc2MOKXYXGd9OZWyR8l15ZGkySvLqVlRGwDwKGMC/nS2wARAQAB
   tEJOZXR3b3JrIEZsb3cgTW9uaXRvciBBZ2VudCA8bmV0d29yay1mbG93LW1vbml0
   b3ItYWdlbnRAYW1hem9uLmNvbT6JAlcEEwEIAEEWIQR2c2ypl63T6dJ3JqjvvaTM
   vJX60QUCZ/RvkgIbAwUJBaOagAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAK
   CRDvvaTMvJX60euSD/9cIu2BDL4+MFFHhyHmG3/se8+3ibW0g8SyP3hsnq7qN+bm
   ZzLAhll7DVoveNmEHI1VC7Qjwb30exgLcyK2Ld6uN6lwjjK0qiGGz943t230pJ3z
   u7V2fVtAN+vgDVmD7agE6iqrRCWu3WfcgzFlEkE/7nkhtbWzlaK+NkdEBzNZ+W7/
   FmLClzIbMjIBW2M8LdeZdQX0SWljy18x7NGNukWeNTJxmkDsjAeKl+zkXYk9h7ay
   n3AVl1KrLZ5P9vQ5XsV5e4T6qfQ3XNY1lm54cpa+eD7NyYcTGRDK+vIxO4xD8i2M
   yl1iNf2+84Tt6/SAgR/P9SJ5tbKD0iU9n4g1eBJVGmHDuXTtDR4H/Ur7xRSxtuMl
   yZP/sLWm8p7+Ic7aQJ5OVw36MC7Oa7/K/zQEnLFFPmgBwGGiNiw5cUSyCBHNvmtv
   FK0Q2XMXtBEBU9f44FMyzNJqVdPywg8Y6xE4wc/68uy7G6PyqoxDSP2ye/p+i7oi
   OoA+OgifchZfDVhe5Ie0zKR0/nMEKTBV0ecjglb/WhVezEJgUFsQcjfOXNUBesJW
   a9kDGcs3jIAchzxhzp/ViUBmTg6SoGKh3t+3uG/RK2ougRObJMW3G+DI7xWyY+3f
   7YsLm0eDd3dAZG3PdltMGp0hKTdslvpws9qoY8kyR0Fau4l222JvYP27BK44qg==
   =INr5
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. 将公有密钥导入到密钥环中，并记下返回的键值。

   ```
   PS>  rpm --import nfm-agent.gpg
   gpg: key 3B789C72: public key "Network Flow Monitor Agent" imported
   gpg: Total number processed: 1
   gpg: imported: 1 (RSA: 1)
   ```

   请记下密钥值，因为需要在下一步中使用该值。在此示例中，密钥值为 `3B789C72`。

1. 通过运行以下命令验证指纹。请务必将 *key-value* 替换为上一步中的值。我们建议您使用 GPG 来验证指纹，即使您使用 RPM 验证安装程序包也是如此。

   ```
   PS>  gpg --fingerprint key-value
   pub   rsa4096 2025-04-08 [SC] [expires: 2028-04-07]
         7673 6CA9 97AD D3E9 D277  26A8 EFBD A4CC BC95 FAD1
   uid   Network Flow Monitor Agent <network-flow-monitor-agent@amazon.com>
   ```

   指纹字符串应等于以下内容：

   `7673 6CA9 97AD D3E9 D277 26A8 EFBD A4CC BC95 FAD1`

   如果指纹字符串不匹配，请不要安装该代理。请联系 Amazon Web Services。

   在验证指纹后，您可以使用该指纹验证网络流量监测仪代理软件包的签名。

1. 根据实例架构和操作系统下载软件包签名文件（如果尚未执行下载）。

1. 验证安装程序包签名。请务必将 `signature-filename` 和 `agent-download-filename` 替换为下载签名文件和代理时指定的值，如本主题前面的表中所示。

   ```
   PS> gpg --verify sig-filename agent-download-filename
   gpg: Signature made Tue Apr  8 00:40:02 2025 UTC
   gpg:                using RSA key 77777777EXAMPLEKEY
   gpg:                issuer "network-flow-monitor-agent@amazon.com"
   gpg: Good signature from "Network Flow Monitor Agent <network-flow-monitor-agent@amazon.com>" [unknown]
   gpg: WARNING: Using untrusted key!
   ```

   如果输出包含短语 `BAD signature`，则检查是否正确执行了此过程。如果您继续获得该响应，请与 [AWS Support](https://aws.amazon.com/premiumsupport/) 联系，并避免使用下载的文件。

   请注意有关信任的警告。只有当您或您信任的某个人对密钥进行了签名，密钥才是可信的。这并不意味着签名无效，只是您尚未验证公有密钥而已。

接下来，按照此处的步骤验证 RPM 软件包。

**验证 RPM 软件包的签名**

1. 复制以下公有密钥并将其保存到名为 `nfm-agent.gpg` 的文件。

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   
   mQINBGf0b5IBEAC6YQc0aYrTbcHNWWMbLuqsqfspzWrtCvoU0yQ62ld7nvCGBha9
   lu4lbhtiwoDawC3h6Xsxc3Pmm6kbMQfZdbo4Gda4ahf6zDOVI5zVHs3Yu2VXC2AU
   5BpKQJmYddTb7dMI3GBgEodJY05NHQhq1Qd2ptdh03rsX+96Fvi4A6t+jsGzMLJU
   I+hGEKGif69pJVyptJSibK5bWCDXh3eS/+vB/CbXumAKi0sq4rXv/VPiIhn6bsCI
   A2lmzFd3vMJQUM/T7m7skrqetZ4mWHr1LPDFPK/H/81s8TJawx7MACsK6kIRUxu+
   oicW8Icmg9S+BpIgONT2+Io5P1tYO5a9AyVF7X7gU0VgHUA1RoLnjHQHXbCmnFtW
   cYEuwhUuENMl+tLQCZ+fk0kKjOlIKqeS9AVwhks92oETh8wpTwTE+DTBvUBP9aHo
   S39RTiJCnUmA6ZCehepgpwW9AYCc1lHv/xcahD418E0UHV22qIw943EwAkzMDA4Q
   damdRm0Nud0OmilCjo9oogEB+NUoy//5XgQMH1hhfsHquVLU/tneYexXYMfo/Iu5
   TKyWL2KdkjKKP/dMR4lMAXYi0RjTJJ5tg5w/VrHhrHePFfKdYsgN6pihWwj2Px/M
   ids3W1Ce50LOEBc2MOKXYXGd9OZWyR8l15ZGkySvLqVlRGwDwKGMC/nS2wARAQAB
   tEJOZXR3b3JrIEZsb3cgTW9uaXRvciBBZ2VudCA8bmV0d29yay1mbG93LW1vbml0
   b3ItYWdlbnRAYW1hem9uLmNvbT6JAlcEEwEIAEEWIQR2c2ypl63T6dJ3JqjvvaTM
   vJX60QUCZ/RvkgIbAwUJBaOagAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAK
   CRDvvaTMvJX60euSD/9cIu2BDL4+MFFHhyHmG3/se8+3ibW0g8SyP3hsnq7qN+bm
   ZzLAhll7DVoveNmEHI1VC7Qjwb30exgLcyK2Ld6uN6lwjjK0qiGGz943t230pJ3z
   u7V2fVtAN+vgDVmD7agE6iqrRCWu3WfcgzFlEkE/7nkhtbWzlaK+NkdEBzNZ+W7/
   FmLClzIbMjIBW2M8LdeZdQX0SWljy18x7NGNukWeNTJxmkDsjAeKl+zkXYk9h7ay
   n3AVl1KrLZ5P9vQ5XsV5e4T6qfQ3XNY1lm54cpa+eD7NyYcTGRDK+vIxO4xD8i2M
   yl1iNf2+84Tt6/SAgR/P9SJ5tbKD0iU9n4g1eBJVGmHDuXTtDR4H/Ur7xRSxtuMl
   yZP/sLWm8p7+Ic7aQJ5OVw36MC7Oa7/K/zQEnLFFPmgBwGGiNiw5cUSyCBHNvmtv
   FK0Q2XMXtBEBU9f44FMyzNJqVdPywg8Y6xE4wc/68uy7G6PyqoxDSP2ye/p+i7oi
   OoA+OgifchZfDVhe5Ie0zKR0/nMEKTBV0ecjglb/WhVezEJgUFsQcjfOXNUBesJW
   a9kDGcs3jIAchzxhzp/ViUBmTg6SoGKh3t+3uG/RK2ougRObJMW3G+DI7xWyY+3f
   7YsLm0eDd3dAZG3PdltMGp0hKTdslvpws9qoY8kyR0Fau4l222JvYP27BK44qg==
   =INr5
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. 将公有密钥导入到您的密钥环中。

   ```
   PS>  rpm --import nfm-agent.gpg
   ```

1. 验证安装程序包签名。请务必将 `agent-download-filename` 替换为下载代理时指定的值，如本主题前面的表中所示。

   ```
   PS>  rpm --checksig agent-download-filename
   ```

   例如，对于 Amazon Linux 2023 上的 x86\$164 架构，请使用以下命令：

   ```
   PS>  rpm --checksig network-flow-monitor-agent.rpm
   ```

   该命令会返回类似以下内容的输出。

   ```
   network-flow-monitor-agent.rpm: digests signatures OK
   ```

   如果输出包含短语 `NOT OK (MISSING KEYS: (MD5) key-id)`，则检查是否正确执行了此过程。如果您继续获得该响应，请联系 [AWS Support](https://aws.amazon.com/premiumsupport/) 且不要安装该代理。

# 为自行管理的 Kubernetes 实例安装代理
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-non-eks"></a>

按照本节中的步骤，为自行管理的 Kubernetes 集群上的工作负载安装 Network Flow Monitor 代理。完成这些步骤后，Network Flow Monitor 代理容器组将在所有自行管理的 Kubernetes 集群节点上运行。

如果您使用 Amazon Elastic Kubernetes Service（Amazon EKS），则要遵循的安装步骤位于以下章节：[安装 EKS AWS 网络流量监测仪代理插件](CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks.md)。

**Topics**
+ [开始前的准备工作](CloudWatch-NetworkFlowMonitor-agents-kubernetes-before-you-begin.md)
+ [下载 Helm 图表并安装代理](CloudWatch-NetworkFlowMonitor-agents-kubernetes-install-agents.md)
+ [为代理配置权限以传送指标](CloudWatch-NetworkFlowMonitor-agents-kubernetes-permissions.md)

# 开始前的准备工作
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-before-you-begin"></a>

在开始安装过程之前，请按照本节中的步骤进行操作，确保环境已进行设置，旨在成功在正确的 Kubernetes 集群上安装代理。

**确保 Kubernetes 版本受支持**  
安装 Network Flow Monitor 代理需要 Kubernetes 版本 1.25 或更高的版本。

**确保您已安装所需的工具**  
用于此安装过程的脚本要求您安装以下工具。如果您尚未安装这些工具，请查看提供的链接以获取更多信息。  
+ AWS Command Line Interface（CLI）。有关更多信息，请参阅《AWS Command Line Interface Reference Guide》中的 [Installing or updating to the latest version of the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。
+ Helm 软件包管理器。有关更多信息，请参阅 Helm 网站上的[安装 Helm](https://helm.sh/docs/intro/install/)。
+ `kubectl` 命令行工具 有关更多信息，请参阅 Kubernetes 网站上的[安装 kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)。
+ `make` Linux 命令依赖项。有关更多信息，请参阅以下博客文章：《[Intro to make Linux Command: Installation and Usage](https://ioflood.com/blog/install-make-command-linux/)》。例如，请执行以下操作之一：
  + 对于 Debian 的发行版（例如 Ubuntu），请使用以下命令：`sudo apt-get install make`
  + 对于 RPM 的发行版（例如 CentOS），请使用以下命令：`sudo yum install make`

**确保配置了有效且正确配置的 KubeConfig 环境变量**  
Network Flow Monitor 代理安装使用 Helm 软件包管理器工具（该工具使用 kubeconfig 变量 `$HELM_KUBECONTEXT`）来确定要使用的目标 Kubernetes 集群。另外，请注意，当 Helm 运行安装脚本时，在默认情况下，它会引用标准 `~/.kube/config` 文件。您可以更改配置环境变量，以使用不同的配置文件（通过更新 `$KUBECONFIG`）或定义要使用的目标集群（通过更新 `$HELM_KUBECONTEXT`）。

**创建 Network Flow Monitor Kubernetes 命名空间**  
Network Flow Monitor 代理的 Kubernetes 应用程序将其资源安装到特定的命名空间中。必须存在命名空间才能实现成功安装。为确保所需的命名空间已就绪，您可以执行以下操作之一：  
+ 在开始之前，请创建默认命名空间 `amazon-network-flow-monitor`。
+ 创建不同的命名空间，然后在运行安装以创建目标时在 `$NAMESPACE` 环境变量中对其进行定义。

# 下载 Helm 图表并安装代理
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-install-agents"></a>

您可以使用以下命令，从 AWS 公共存储库下载 Network Flow Monitor 代理 Helm 图表。确保您首先使用 GitHub 账户进行身份验证。

`git clone https://github.com/aws/network-flow-monitor-agent.git`

在 `./charts/amazon-network-flow-monitor-agent` 目录中，您可以找到 Network Flow Monitor 代理 Helm 图表和 Makefile，其中包含用于创建目标的安装。您可以使用以下 Makefile 目标为 Network Flow Monitor 安装代理：`helm/install/customer`

如果您愿意，可以通过执行以下操作自定义安装，例如：

```
# Overwrite the kubeconfig files to use
KUBECONFIG=<MY_KUBECONFIG_ABS_PATH> make helm/install/customer
 
# Overwrite the Kubernetes namespace to use
NAMESPACE=<MY_K8S_NAMESPACE> make helm/install/customer
```

要验证 Network Flow Monitor 代理的 Kubernetes 应用程序容器是否已成功创建和部署，请检查其状态是否为 `Running`。您可以通过运行以下命令来检查代理的状态：`kubectl get pods -o wide -A | grep amazon-network-flow-monitor`

# 为代理配置权限以传送指标
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-permissions"></a>

为 Network Flow Monitor 安装代理后，必须允许代理向 Network Flow Monitor 摄取 API 发送网络指标。Network Flow Monitor 中的代理必须有权访问 Network Flow Monitor 摄取 API，这样才能为每个实例传送收集的网络流指标。您可以通过为服务账户（IRSA）实施 IAM 角色来授予此访问权限。

要让代理能够向 Network Flow Monitor 传送网络指标，请按照本节中的步骤操作。

1. **实施服务账户的 IAM 角色**

   服务账户的 IAM 角色可管理供应用程序使用的凭证，这与 Amazon EC2 实例配置文件为 Amazon EC2 实例提供凭证的方式相似。建议通过实施 IRSA 来提供 Network Flow Monitor 代理为成功访问 Network Flow Monitor 摄取 API 所需的所有权限。有关更多信息，请参阅《Amazon EKS 用户指南》中的[服务账户的 IAM 角色](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)。

   为 Network Flow Monitor 代理设置 IRSA 时，请使用以下信息：
   + **ServiceAccount：**在定义 IAM 角色信任策略时，对于 `ServiceAccount`，指定 `aws-network-flow-monitor-agent-service-account`。
   + **命名空间：**对于 `namespace`，请指定 `amazon-network-flow-monitor`。
   + **临时凭证部署：**完成 Network Flow Monitor 代理容器组的部署后，在配置权限并使用 IAM 角色更新 `ServiceAccount` 时，Kubernetes 不会部署 IAM 角色凭证。为确保 Network Flow Monitor 代理获得您指定的 IAM 角色凭证，您必须重新启动 `DaemonSet`。例如，使用以下命令：

     `kubectl rollout restart daemonset -n amazon-network-flow-monitor aws-network-flow-monitor-agent`

1. **确认 Network Flow Monitor 代理已成功访问 Network Flow Monitor 摄取 API**

   您可以使用 Network Flow Monitor 代理容器组的 HTTP 200 日志，检查代理的配置是否正常运行。首先，搜索 Network Flow Monitor 代理容器组，然后搜索日志文件以找到成功的 HTTP 200 请求。例如，您可以执行以下操作：

   1. 查询网络流量监测仪代理的容器组（pod）名称。例如，您可以使用以下命令：

      ```
      RANDOM_AGENT_POD_NAME=$(kubectl get pods -o wide -A | grep amazon-network-flow-monitor | grep Running | head -n 1 | tr -s ' ' | cut -d " " -f 2)
      ```

   1. 搜寻已找到的容器组名称的所有 HTTP 日志。如果您更改了命名空间，请确保使用新命名空间。

      ```
      NAMESPACE=amazon-network-flow-monitor
      kubectl logs $RANDOM_AGENT_POD_NAME -\-namespace ${NAMESPACE} | grep HTTP
      ```

   如果已成功授予访问权限，您应该会看到与以下内容相似的日志条目：

   ```
   ...
   {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027525679}
   {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027552827}
   ```

   请注意，Network Flow Monitor 代理通过调用 Network Flow Monitor 摄取 API，每 30 秒发布一次网络流报告。

# 初始化网络流量监测仪
<a name="CloudWatch-NetworkFlowMonitor-configure-begin"></a>

在查看网络流的性能指标之前，必须初始化网络流量监测仪，因为初始化操作会授予所需权限并为账户创建初始拓扑。如果计划监控多个账户的资源，则还须通过 Amazon CloudWatch 配置 AWS Organizations。然后为网络流量监测仪范围指定账户，以便网络流量监测仪为要跟踪性能指标的所有账户创建初始拓扑。

此外，须在实例上安装代理，这样才能将性能指标发送到网络流量监测仪摄取服务器。有关更多信息，请参阅 [在 EC2 实例及自主管理型 Kubernetes 实例上部署网络流量监测仪代理](CloudWatch-NetworkFlowMonitor-agents.md)。

初始化网络流量监测仪的步骤会有所不同，具体取决于您是要衡量单个账户中资源的性能指标，还是要监控组织中多个账户所拥有资源的指标。
+ [单个账户监控初始化](CloudWatch-NetworkFlowMonitor-single-account.md)
+ [多个账户监控初始化](CloudWatch-NetworkFlowMonitor-multi-account.md)

# 初始化网络流量监测仪进行单个账户监控
<a name="CloudWatch-NetworkFlowMonitor-single-account"></a>

要初始化网络流量监测仪来监控网络性能指标，不仅需要您授予权限，还需要网络流量监测仪为账户创建初始拓扑。仅在单个账户中监控资源时，网络流量监测仪会将该账户设置为网络监控范围，并为该范围创建拓扑。

初始化网络流量监测仪需要执行以下操作：
+ 授予 Network Flow Monitor 对您的账户使用所需服务相关角色的权限。Network Flow Monitor 需要您向其授予特定权限，以便该功能可以代表您向 Amazon CloudWatch 发送指标并创建网络流拓扑。有关更多信息，请参阅 [适用于 Network Flow Monitor 的服务相关角色](using-service-linked-roles-network-flow-monitor.md)。
+ 将 Network Flow Monitor 的监控范围设置为您登录时所使用的 AWS 账户。有关更多信息，请参阅 **Scope** in [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。
+ 为范围创建初始拓扑。

要初始化网络流量监测仪，您需要设置提供所需权限的服务相关角色、设置账户范围以及创建网络流性能监控拓扑。请按照以下步骤操作：

**初始化网络流量监测仪**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在左侧导航窗格中的**网络监控**下，选择**流量监测仪**。

1. 在**开始使用网络流量监测仪**部分的“步骤 1”中，选择**开始初始化**。

1. 在**配置网络流量监测仪**页面上，向下滚动，然后选择**初始化网络流量监测仪**。

完成初始化可能需要 20-30 分钟。

为账户初始化网络流量监测仪后，若要查看网络流性能指标，还须为资源安装网络流量监测仪代理。这些代理会将性能指标发送到网络流量监测仪后端接收服务器。有关更多信息，请参阅 [在 EC2 实例及自主管理型 Kubernetes 实例上部署网络流量监测仪代理](CloudWatch-NetworkFlowMonitor-agents.md)。

# 初始化网络流量监测仪进行多个账户监控
<a name="CloudWatch-NetworkFlowMonitor-multi-account"></a>

如果想在网络流量监测仪中监控不同账户所拥有资源的网络流，则必须先通过 AWS Organizations 配置 Amazon CloudWatch。要在网络流量监测仪中使用多个账户，您需要为 CloudWatch 启用可信访问，最好还要注册委托管理员。

此外，如果计划通过控制台为网络流创建监测仪，则必须将网络流量监测仪策略添加到资源相关角色。该策略允许您在控制台中查看其他账户的资源，以便您将多个账户中的资源添加到一个监测仪中。

要监测不同账户所拥有资源的网络流，还需执行其他配置步骤。首先，作为管理账户，您必须通过 AWS Organizations 配置 CloudWatch 来启用可信访问，并且通常还需注册委托管理员账户。然后，您可以使用委托管理员账户在组织中添加更多账户，将网络可观测性范围设置为包含这些账户中的资源。（您也可以使用管理账户添加多个账户，但在 Organizations 中，当您使用服务中的资源时，最佳做法是使用委托管理员账户。我们在此处的网络流量监测仪说明中提供了遵循该指导的步骤。）

请注意，如果不需要监控多个账户中实例的网络流，则可在单个账户中使用网络流量监测仪。网络流量监测仪的范围会自动设置为登录时所使用的 AWS 账户。

请按照以下各节中的指导完成这些步骤。

**Topics**
+ [多个账户设置概述](#CloudWatch-NetworkFlowMonitor-multi-account.overview)
+ [配置 AWS Organizations](#CloudWatch-NetworkFlowMonitor-multi-account.config-orgs)
+ [添加多个账户](#CloudWatch-NetworkFlowMonitor-multi-account.config-scope)
+ [为控制台添加权限](#CloudWatch-NetworkFlowMonitor-multi-account.console-perms)

## 在网络流量监测仪中使用多个账户的步骤概述
<a name="CloudWatch-NetworkFlowMonitor-multi-account.overview"></a>

要开始使用网络流量监测仪，任何之前未使用过网络流量监测仪的账户都必须初始化网络流量监测仪。为账户初始化网络流量监测仪时，网络流量监测仪会添加所需的服务相关角色权限，并创建要包含在网络可观测性中的一个或多个账户范围。要在网络流量监测仪中使用多个账户，还需执行其他步骤：与 AWS Organizations 集成，然后添加要使用的账户。

总之，您需要执行以下步骤：

1. 以管理账户身份登录 AWS 管理控制台，然后执行以下操作：
   + 完成在 CloudWatch 中与 AWS Organizations 集成所需的步骤。

1. 以委托管理员账户身份登录 AWS 管理控制台，然后执行以下操作：
   + 初始化网络流量监测仪，包括添加要包含在范围内的账户。
   + 添加从控制台访问其他账户中的资源所需的权限。

如果要将网络流量监测仪设置为使用多个账户，但不熟悉 AWS Organizations，请查看以下资源，从中了解管理账户、可信访问和委托管理员账户等概念，学习如何将 Organizations 与 CloudWatch 集成。
+ 《AWS Organizations User Guide》中的 [Managing accounts in an organization with AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html)。
+ 《AWS Organizations User Guide》中的 [Amazon CloudWatch and AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudwatch.html)。

要获得为多个账户配置网络流量监测仪的具体指导，请按照以下各节中的步骤进行操作。

## 在 CloudWatch 中配置 AWS Organizations
<a name="CloudWatch-NetworkFlowMonitor-multi-account.config-orgs"></a>

要通过 AWS Organizations 配置网络流量监测仪，请登录管理账户，再为 CloudWatch 启用可信访问。然后，注册委托管理员账户，用于初始化网络流量监测仪和添加多个账户。

如果您已在 CloudWatch 中配置 Organizations，为 CloudWatch 中的 Organizations 启用了可信访问并注册了委托管理员账户，则无需为网络流量监测仪特定的 Organizations 配置任何其他内容。可以使用 CloudWatch 的委托管理员账户登录，然后初始化网络流量监测仪，包括为网络可观测性范围添加多个账户。

如果尚未在 CloudWatch 中配置 Organizations，请按照此处的步骤启用可信访问并注册委托管理员账户。

### 在 CloudWatch 中启用可信访问
<a name="CloudWatch-NetworkFlowMonitor-multi-account.config-orgs.trusted-access"></a>

必须先在 Amazon CloudWatch 中为 AWS Organizations 启用可信访问，然后才能将网络流量监测仪用于组织中的多个账户。请执行以下步骤，在 CloudWatch 控制台中启用可信访问。

**启用可信访问**

1. 使用组织的管理账户登录控制台。

1. 在 CloudTrail 控制台的导航窗格中选择**设置**。

1. 选择**组织**选项卡。

1. 在**组织管理设置**中，选择**开启**。系统将出现**启用可信访问权限**页面。

1. 要查看角色策略，请选择**查看权限**详细信息。

1.  选择 **Enable trusted access (启用可信访问)**。

现在，当 CloudWatch 发现资源后，会自动更新有关您在网络流量监测仪中有权访问其资源的账户的相关信息。

### 注册委托管理员账户
<a name="CloudWatch-NetworkFlowMonitor-multi-account.config-orgs.delegated-admin"></a>

组织的管理账户应遵循 AWS Organizations 的最佳做法，将成员账户注册为 CloudWatch 的委托管理员账户。在 CloudWatch 中注册委托管理员账户后，组织成员可以使用该委托管理员账户进行登录，以便在网络流量监测仪中监控多个账户中资源的网络性能。

借助委托管理员账户，您可以为网络流量监测仪中的网络可观测性范围添加多个账户。虽然管理账户也可以创建包含多个账户的范围，但还是建议您遵循 AWS Organizations 的最佳做法，使用委托管理员账户在网络流量监测仪中添加多个账户。对于非委托管理员账户的成员账户，范围将仅限于登录账户，且该账户会自动设置为范围。

Organizations 的委托管理员账户是一个成员账户，可以共享服务管理权限的管理员访问权限。您选择注册为委托管理员账户的账户必须是组织中的成员账户。组织的委托管理员账户可在 CloudWatch 之外使用，因此在执行此步骤之前，请务必了解此账户类型。有关更多信息，请参阅《AWS Organizations 用户指南》中的 [Amazon CloudWatch 和 AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudwatch.html)。

**配置委托管理员账户**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，选择**设置**。

1. 选择**组织**选项卡。

1. 选择**注册委托管理员**。

1. 在**注册委托管理员**窗口的**委托管理员账户 ID** 字段中，输入 12 位数的组织成员账户 ID。

1. 选择**注册委托管理员**。页面顶部会显示一条消息，表明账户已成功注册。系统将显**组织设置**页面。要查看有关委托管理员账户的信息，请将鼠标悬停在**委托管理员**下方的数字上。

要移除或更改委托管理员账号，请先注销该账户。有关更多信息，请参阅[注销委托管理员账户](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/telemetry-config-turn-on.html#telemetry-config-deregister-administrator)。

## 将多个账户添加到范围
<a name="CloudWatch-NetworkFlowMonitor-multi-account.config-scope"></a>

要将账户添加到网络流量监测仪范围，请使用委托管理员账户进行登录。（如果使用管理账户进行登录，也可将账户添加到范围；但在 AWS Organizations 中，最佳做法是通过委托管理员账户使用资源。） 

登录后，按步骤完成网络流量监测仪的初始化操作，该过程会完成以下操作：授权所需的服务相关角色权限，支持您通过添加账户设置网络可观测性的监控范围，并为您所设范围内的账户生成初始资源拓扑结构。登录时所使用的账户（本例中为委托管理员账户）会自动包含在网络流量监测仪范围内。

**为含多账户的监控范围初始化网络流量监测仪**

1. 使用组织的委托管理员账户登录控制台。

1. 在 CloudWatch 控制台的导航窗格中，从**网络监控**下选择**流量监测仪**。

1. 在**开始使用网络流量监测仪**的“步骤 1”中，选择**开始初始化**。

1. 在**网络流量监测仪**页面上，从**添加账户**下选择**添加**。登录时所使用的账户会自动包含在范围内，且会作为**（此账户）**显示在**范围内的账户**表中。

1. 在**添加账户**对话框页面上，可以选择筛选账户，然后选择最多 99 个要添加到范围的其他账户。一个范围中最多可包含 100 个账户。

1. 选择**添加**。

1. 选择**初始化网络流量监测仪**。网络流量监测仪会添加所需的服务相关角色权限，创建一个包含您指定的所有账户的范围，然后为范围内账户中的资源创建初始拓扑。

网络流量监测仪完成初始化后，若需为监控范围添加或移除账户，请按如下步骤操作。

注意：对监控范围完成账户的添加或删除操作后，需等待约 20 分钟才能再次对监控范围进行修改。该延时是因网络流量监测仪需要一定时间更新其拓扑信息所致。

**为监控范围添加或移除账户**

1. 使用组织的委托管理员账户登录控制台。

1. 在 CloudWatch 控制台的导航窗格中，从**网络监控**下选择**流量监测仪**。

1. 在**监测仪**列表中，选中目标监测仪。

1. 进入**监测仪详情**选项卡，在**范围内的账户**部分下，单击**添加**或**删除**。

1. 勾选需要添加到监控范围的账户（最多支持 100 个账户），或勾选需要删除的账户。

1. 按确认弹窗中的步骤完成操作。

## 设置多个账户资源访问权限（仅限控制台）
<a name="CloudWatch-NetworkFlowMonitor-multi-account.console-perms"></a>

如果计划通过控制台为网络流创建监测仪，则必须为范围内的每个成员账户添加特定策略。此策略允许您在将本地资源和远程资源添加到监测仪时，查看其他账户的资源。

为范围内的每个账户创建名为 **NetworkFlowMonitorAccountResourceAccess** 的角色，并附加 **AmazonEC2ReadOnlyAccess** 策略。要查看此策略的权限详细信息，请参阅《AWS Managed Policy Reference Guide》中的 [AmazonEC2ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html)。

此策略是必须添加到每个实例的策略之外的附加策略，便于网络流量监测仪代理将性能指标从实例发送到网络流量监测仪后端接收服务器。有关代理要求的更多信息，请参阅[在 EC2 实例及自主管理型 Kubernetes 实例上部署网络流量监测仪代理](CloudWatch-NetworkFlowMonitor-agents.md)。

以下过程概述了为在网络流量监测仪控制台中访问范围内资源创建所需角色的步骤。有关如何在 IAM 中创建角色的一般指导，请参阅《AWS Identity and Access Management 用户指南》中的[创建角色，向 IAM 用户授予权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)。

**为在网络流量监测仪控制台中访问资源创建角色**

1. 登录到 AWS 管理控制台 并打开 IAM 控制台。

1. 在控制台的导航窗格中，选择**角色**，然后选择**创建角色**。

1. 指定 **AWS 账户**可信实体。此可信实体类型允许其他 AWS 账户中的主体担任该角色并访问其他账户中的资源。

1. 选择**下一步**。

1. 在 AWS 托管式策略列表中，选择 **AmazonEC2ReadOnlyAccess** 策略。

1. 选择**下一步**。

1. 对于角色名称，请输入 **NetworkFlowMonitorAccountResourceAccess**。

1. 检查该角色，然后选择**创建角色**。

## 在实例上安装代理
<a name="CloudWatch-NetworkFlowMonitor-configure-begin.agents"></a>

要使用网络流量监测仪跟踪网络性能，您必须初始化该服务，且必须在工作负载的 EC2 实例上安装网络流量监测仪代理并为代理添加权限，以便代理将网络性能指标发送到网络流量监测仪。。安装代理后，请等待一小段时间（约 20 分钟），数据才会开始发送到网络流量监测仪后端。然后，您可以在**工作负载洞察**选项卡上查看网络性能指标，还可以创建监测仪来查看详细信息。

例如，您可以查看由网络流量监测仪代理收集的本地和远程资源之间网络流的主要贡献者性能指标，如数据传输量和重传超时情况。通过查看和分析这些指标，您可以选择要查看更多详细信息并使用监测仪更密切地跟踪的特定流程。通过为特定流创建监测仪，您可以查看有关这些流的详细信息，包括按每种指标类型的主要影响因素排序的指标，以及每种网络流的网络路径。

网络流量监测仪还可以通过监测仪提供网络运行状况指标（NHI）。您可以通过该指标查看所选时间段内，在监测仪中跟踪的网络流是否存在 AWS 网络损坏。这些信息可以帮助您决定在哪方面侧重网络故障排除工作。

有关更多信息和如何安装代理的说明，请参阅 [在 EC2 实例及自主管理型 Kubernetes 实例上部署网络流量监测仪代理](CloudWatch-NetworkFlowMonitor-agents.md)。

# 在 Network Flow Monitor 中监控和分析网络流
<a name="CloudWatch-NetworkFlowMonitor-configure"></a>

借助网络流量监测仪，您可以了解监控范围内所监控流量的网络流及性能情况。首先，在**工作负载洞察**选项卡中按每种指标类型查看主要影响因素的相关信息。接下来请创建监测仪，以便针对您在**工作负载洞察**中选定的网络流，在不同时段内进行详细的网络性能探查。

初始化网络流量监测仪并在实例上安装代理后，网络流量监测仪就会生成这些实例的网络流的性能指标。请阅读本章各节的内容，深入了解如何运用网络流量监测仪评估网络流量监测仪中的网络性能，创建监测仪来获取深度信息，以及掌握网络流量监测仪提供的特定指标。

这些部分中提供的步骤使用 AWS 管理控制台。您还可以使用网络流量监测仪 API 操作和 AWS Command Line Interface（AWS CLI）或 AWS SDK 来查看工作负载洞察与主要影响因素指标，以及创建并配置监测仪。有关更多信息，请参阅以下资源：
+ 如果计划将网络流量监测仪与 CLI 结合使用，请参阅[将 CLI 与网络流量监测仪结合使用的示例](CloudWatch-NFM-get-started-CLI.md)。
+ 有关使用网络流量监测仪 API 操作的详细信息，请参阅《[Network Flow Monitor API Reference Guide](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/Welcome.html)》。

**Topics**
+ [评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)
+ [创建和使用监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors.md)
+ [监控和分析](CloudWatch-NetworkFlowMonitor-monitor-and-analyze.md)
+ [删除范围](CloudWatch-NetworkFlowMonitor-disable.md)

# 利用工作负载见解评估网络流
<a name="CloudWatch-NetworkFlowMonitor-configure-evaluate-flows"></a>

网络流量监测仪会针对您启用监视的范围，提供有关该范围内网络流的工作负载洞察。通过呈现每种指标类型下“主要影响因素网络流”的信息，您可以快速识别可能存在问题的网路流。您可以在控制台的**工作负载洞察**选项卡中，查看这些主要影响因素指标。在网络流量监测仪中，主要影响因素指每个网络性能指标值最高的网络流。

**排名靠前的贡献者**  
在网络流量监测仪控制台中的**工作负载洞察**页面上，网络流量监测仪将针对在监控范围内部署代理的所有资源之间的网络流，显示主要贡献者的网络性能统计数据。  
为了编制主要影响因素列表，网络流量监测仪会确定范围内具有最高重新传输、重新传输超时和数据传输值的网络流。这些网络流是每种指标类型的*排名靠前的贡献者*。  
为了获取工作负载洞察，会针对您正在接收性能数据的所有网络流确定主要影响因素，即范围内安装了网络流量监测仪代理的所有资源的网络流。

**网络流分类**  
网络流量监测仪会将指标归类至指定的本地-远端类别中。指标被分为两种类型的流量：  
+ **网络运行状况指标（NHI）流量：**参与网络运行状况指标（NHI）计算的流量：
  + 可用区之间 (`INTER_AZ`)。始终位于同一 VPC 中。
  + 可用区内部 (`INTRA_AZ`)。始终位于同一 VPC 中。
  + VPC 之间 (`INTER_VPC`)。跨越 VPC 边界。
  + 区域之间（`INTER_REGION`）。此类网络流指的是同区域内资源与另一区域网络边缘之间的网络流性能数据。
  + 流向 Amazon S3 存储桶（`AMAZON_S3`）
  + 流向 Amazon DynamoDB（`AMAZON_DYNAMODB`）
+ **非网络运行状况指标（NHI）流量：**不参与网络运行状况指标（NHI）计算的流量：
  + 通向互联网（`INTERNET`）。经过互联网网关并最终终止于公共互联网的流量。
  + 通向 AWS 服务（`AWS_SERVICE`）。最终连接到未完全监控的 AWS 服务（例如 CloudFront 或 API Gateway）的流量。
  + 通向中转网关（`TRANSIT_GATEWAY`）。此分类中的流量是指到达中转网关的流量，但流量的最终目的地未知。
  + 通向本地区域（`LOCAL_ZONE`）。起始于或终止于本地区域的流量
  + 无法以其他方式分类的任何其他流量（`UNCLASSIFIED`）。

**性能指标**  
有关**工作负载洞察**的性能指标显示在以下指标类型的单独表格中：重新传输、重新传输超时和已传输的数据。所提供的数据适用于每种类型排名靠前的贡献者。请注意，首次安装网络流量监测仪代理后，需要等待一段时间（大约 20 分钟）才能查看性能指标。在此期间，代理会收集数据并将其发送到网络流量监测仪后端。

**监测特定的网络流**  
在查看性能指标时，当您看到想要浏览更多详细信息的特定资源或网络流时，可以创建仅包含这些流的监测仪。  
使用监测仪，您可以持续追踪一组特定网络流在一段时间内的表现，从而获取工作负载在某个方面的洞察。您也可以获取实用的故障排除信息，例如检查网络运行状况指标（NHI），判断所遇到的问题是否由 AWS 故障引起。  
有关更多信息，请参阅 [创建和使用 Network Flow Monitor 中的监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors.md)。

**多账户覆盖**  
要在网络流量监测仪中使用多个账户，必须配置与 CloudWatch 的 AWS Organizations 集成。通过配置 Organizations，您可将账户添加到网络流量监测仪覆盖范围内。然后，如果范围内有多个账户，且每个账户都包含您想要监测其间网络流的资源，则可以指定包含所有账户的范围，然后查看由已安装在资源上的网络流量监测仪代理收集的性能指标。有关更多信息，请参阅 [初始化网络流量监测仪进行多个账户监控](CloudWatch-NetworkFlowMonitor-multi-account.md)。

# 创建和使用 Network Flow Monitor 中的监测仪
<a name="CloudWatch-NetworkFlowMonitor-configure-monitors"></a>

您可以创建监测仪来查看有关工作负载中一个或多个网络流的网络性能的详细信息。网络流量监测仪会针对各监测仪发布端到端性能指标和网络运行状况指标（NHI），并生成单个网络流的网络路径。创建监测仪后，您可以在**监测仪**选项卡的控制台中查看监测仪提供的信息。

流量监测仪有助于评估正影响工作负载的网络性能问题，包括 AWS 区域内部的故障以及本地和远程区域之间的 AWS 全球网络问题。监测仪提供的网络运行状况指标（NHI）还会捕获工作负载在区域间网络路径上的 AWS 全球网络运行状况。这有助于您快速确定本地区域、AWS 全球网络或远程区域的故障是否正在影响工作负载。

对于远程区域，监测仪可针对以下两类流量提供网络可见性：一类是发往该区域公网 IP 地址的流量，另一类是通过 VPC 对等连接或 Transit Gateway 对等连接流向远程区域的私有流量。

创建监测仪后，您可以随时编辑该监测仪进行更改（更改监测仪名称除外）或删除该监测仪。

以下章节包含在网络流量监测仪控制台中创建、编辑和删除监测仪的操作步骤。

**Topics**
+ [创建监视器](CloudWatch-NetworkFlowMonitor-configure-monitors-create.md)
+ [编辑监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-edit.md)
+ [删除监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-delete.md)

# 在 Network Flow Monitor 中创建监测仪
<a name="CloudWatch-NetworkFlowMonitor-configure-monitors-create"></a>

在**工作负载洞察**选项卡查看主要影响因素的过程中，若您发现某个或某几个网络流需要长期追踪，或希望了解其更多细节，可直接从**工作负载洞察**界面创建监测仪。这简化了针对特定网络流创建监测仪的过程。

如果明确知道要使用监测仪跟踪的特定网络流（例如查看发往另一个 AWS 区域的所有网络流的性能信息），则可以使用**创建监测仪**向导从头开始创建监测仪。在以这种方式创建监测仪时，您需要指定用于定义要监测的网络流的本地和远程资源。

请参阅下面几节，了解具体操作步骤：
+  [通过指定网络流来创建监测仪](#CloudWatch-NetworkFlowMonitor-configure-monitors-create-workload-insights)
+  [通过指定本地和远程资源来创建监测仪](#CloudWatch-NetworkFlowMonitor-configure-monitors-create-standalone)

## 通过指定网络流来创建监测仪
<a name="CloudWatch-NetworkFlowMonitor-configure-monitors-create-workload-insights"></a>

要通过选择网络流来创建监测仪，请从**工作负载洞察**选项卡开始。在单个区域的一张表中选择一个或多个网络流，然后选择使用这些网络流创建监测仪。

以这种方式创建监测仪时，**创建监测仪**向导会预先填充本地和远程资源，并在模态对话框中显示这些资源。您可以选择基于这些资源创建监测仪，也可编辑本地或远端资源的选择范围，添加或移除需要纳入监控的资源。

通过持续查看排名靠前的**工作负载见解**贡献者，您可以定期评估自己是否拥有所需的监测仪，或者评估创建新监测仪是否会有所帮助。

**重要**  
这些步骤需一次性完成。任何正在进行的工作都无法保存以待后续处理。

**从**工作负载洞察**创建监测仪**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在左侧导航窗格中的**网络监控**下，选择**流量监测仪**。

1. 选择**工作负载洞察**。

1. 在其中一张**主要影响因素**表中，选择一个或多个网络流，然后选择**创建监测仪**。

1. 在打开的模态窗口中，您可以编辑用于定义所选网络流的资源，也可以直接选择**创建监测仪**。

## 通过指定本地和远程资源来创建监测仪
<a name="CloudWatch-NetworkFlowMonitor-configure-monitors-create-standalone"></a>

您可以随时为特定的本地和远程资源创建监测仪，这些资源定义了您要查看详细信息的网络流。

例如，您可以为以下某个场景创建监测仪：
+ 包含本地区域中某个特定 VPC 与同一区域内另一个 VPC 之间网络流的监测仪。[注意：不能选择特定资源（例如 VPC）作为其他区域的网络流端点（即远程资源）。]
  + 对于本地资源，选择***区域*内特定资源**。然后选择 **VPC 和子网**，接着在表中选择特定 VPC。
  + 对于远程资源，请执行相同操作：选择***区域*内特定资源**，然后选择 **VPC 和子网**，最后选择特定 VPC。
+ 包含从本地区域中的工作负载到特定可用区的所有网络流的监测仪。
  + 对于本地资源，选择***区域*内所有地方**
  + 对于远程资源，选择**可用区**，然后选择特定的可用区
+ 包含本地区域内工作负载相关的所有网络流的监测仪。
  + 对于本地资源，选择***区域*内所有地方**
  + 对于远程资源，选择***区域*内所有地方**
+ 包含从本地区域中的工作负载到另一个区域边缘节点的所有网络流的监测仪。
  + 对于本地资源，选择***区域*内所有地方**
  + 对于远程资源，选择**其他区域**，然后选择远程区域

**重要**  
这些步骤需一次性完成。任何正在进行的工作都无法保存以待后续处理。

**使用控制台创建监测仪**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在左侧导航窗格中的**网络监控**下，选择**流量监测仪**。

1. 从“网络流量监测仪”页面进入**监测仪**选项卡，随后单击**创建监测仪**。

1. 在**监测仪名称**中输入要用于该监测仪的名称。此后便不能更改此名称。

1. 选择**下一步**。

1. 为要监控的网络流选择本地资源（一个或多个）。
   + 要监测来自您所在区域所有资源的网络流，请选择***区域*内所有地方**。
   + 要选择特定本地资源来监控其网络流，请选择***区域*内特定资源**。然后，在**添加资源**部分下，选择**可用区**、**EKS 集群**或 **VPC 和子网**，接着选择要添加的资源。

1. 选择**下一步**。

1. 为要监测的网络流选择远程资源（一个或多个）。
   + 要监测流向您所在地区所有资源的网络流，请选择***区域*内所有地方**。
   + 要监控特定远端资源的网络流，请选择***区域*内特定资源**。在**添加资源**部分下，选择 **VPC 和子网**、**可用区**或 **AWS 服务**，接着选择要添加的资源。
   + 要监测流向另一个区域边缘的网络流，请选择**其他区域**。

1. 选择**下一步**。

1. 检查各项选择确认要监测的网络流，或者编辑选项进行更改。

1. 选择 **Create monitor（创建监控）**。

创建监测仪后，您可以随时编辑或删除监测仪来添加或删除网络流。选择一个监测仪，然后选择**编辑**或**删除**。请注意，您不能更改监测仪的名称。

**查看 Network Flow Monitor 控制面板**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，选择**网络监控**，然后选择**流量监测仪**。

   **Monitors**（监视器）选项卡显示了您创建的监视器列表。

要查看有关特定监测仪的更多信息，请选择该监测仪。

# 在 Network Flow Monitor 中编辑监测仪
<a name="CloudWatch-NetworkFlowMonitor-configure-monitors-edit"></a>

您可以随时编辑监测仪来添加或删除网络流。

请注意，监测仪创建后将不能更改名称。

**重要**  
这些步骤需一次性完成。任何正在进行的工作都无法保存以待后续处理。

**使用控制台编辑监测仪**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在左侧导航窗格中的**网络监控**下，选择**流量监测仪**。

1. 在**监测仪**选项卡上选择一个监测仪，然后在**操作**菜单下选择**编辑**。

1. 选择要为监测仪添加或删除的本地或远程资源。如果范围内有多个账户，请指定资源所在的账户，然后选择资源。

1. 更新完监测仪后，选择**下一步**查看并确认要监测的网络流。

1. 选择**保存监测仪**。

# 在 Network Flow Monitor 中删除监测仪
<a name="CloudWatch-NetworkFlowMonitor-configure-monitors-delete"></a>

要删除 Network Flow Monitor 中的监测仪，请遵循此处的步骤。

**删除监视器**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在左侧导航窗格中的**网络监控**下，选择**流量监测仪**。

1. 在**监测仪**选项卡上选择一个监测仪，然后在**操作**菜单下选择**删除**。

1. 在出现的对话框中输入确认文本，然后选择**删除**。

# 使用网络流量监测仪监控和分析网络流
<a name="CloudWatch-NetworkFlowMonitor-monitor-and-analyze"></a>

Network Flow Monitor 数据和图表可帮助您可视化和跟踪网络问题。您可以创建监测仪来查看有关 AWS 工作负载特定网段的详细信息，包括各个网络流的网络路径。在 Network Flow Monitor 中创建了一个或多个监测仪后，您可以观察性能和指标以及浏览历史数据以发现异常情况。

要查看监测仪提供的信息，请从**监测仪**选项卡的**监测仪**表中选择监测仪。然后，选择以下某个选项卡来获取更多信息：**概览**、**历史资源探索器**或**监测仪详细信息**。

**“概述”选项卡**  
在**概览**选项卡上，可以查看指定时间段的以下内容。要查看 NHI 和流量摘要数据等更长或更短时间内的历史信息，请调整页面顶部的时间段选择。  
+ **网络运行状况指标（NHI）：**NHI 会提醒您，在您选择查看性能指标的时间范围内，显示器跟踪的一个或多个网络流是否存在 AWS 网络问题。NHI 为二进制值（即 1 或 0），在控制台中显示为**已降级**或**正常**。
  + 在您所选时间范围内的任何时间，如果监测仪中任何 AWS 网络流所遍历的网络部分存在问题，则 NHI 将显示为**已降级**。
  + 否则，NHI 将显示为**正常**。

  如果 NHI 显示为**已降级**，则可以查看**网络运行状况指标**条形图以了解更多信息。该图显示在所选时间段内，监测仪跟踪的网络流何时出现 AWS 网络问题。
+ **流量摘要：**在您选择的时间段内，观察此监测仪跟踪流量的总体指标。您可以在监测仪中查看平均往返时间、传输超时和重新传输的总和（总计）以及流量已传输数据的平均数据量。请注意，RTT 数据可能很稀疏，因为并不总是计算 RTT。

**历史资源探索器选项卡**  
在**历史资源探索器**选项卡上，可以深入了解有关特定流的信息。您可以查看指定时间范围内主要影响因素的网络流指标和网络路径。在指标表中，您可以按不同类别的流量 [例如可用区 (`INTER_AZ`) 之间的流量] 筛选数据。  
+ **指标：**查看每种指标类型排名靠前的贡献者的详细信息，其中 Network Flow Monitor 会为指标类型汇总数据。为重新传输超时、重新传输、往返时间和数据传输提供了单独的排名靠前的贡献者表。
+ **网络路径：**要了解异常发生的位置，您可以查看网络流的网络路径。当您在指标表中选择特定指标时，该流量的网络路径将显示在表格下方。

**监测仪详细信息选项卡**  
在**监测仪详细信息**选项卡上，可以看到有关监测仪的详细信息，包括监测仪状态、ARN、创建时间和上次更新时间以及所监测的流。

您可以在**监测仪**选项卡上的任何页面上选择编辑或删除监测仪。

对于 Network Flow Monitor 的定期使用环节，我们建议您定期查看**工作负载见解**页面上的数据，用于判断是否存在显示指标异常的新数据流，以便随时间推移对数据流进行更密切的跟踪。当您在**工作负载见解**页面上看到一组要查看其详细信息的网络流时，请选择这些网络并为其创建监测仪。

# 删除网络流量监测仪的范围
<a name="CloudWatch-NetworkFlowMonitor-disable"></a>

如果决定不再使用网络流量监测仪来监控网络流，可以删除网络流量监测仪范围。删除该范围后，则无法再看到网络性能信息。

必须先删除所有监测仪，然后才能删除范围。请注意，请求删除监测仪后，大约需要 15 分钟才能完成删除。有关更多信息，请参阅 [在 Network Flow Monitor 中删除监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-delete.md)。

**删除范围**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在左侧导航窗格中的**网络监控**下，选择**流量监测仪**。

1. 在**设置**选项卡上，选择**删除范围**。

1. 在对话框中输入确认文本，然后选择**删除范围**。

# 在 CloudWatch 中查看 Network Flow Monitor 指标
<a name="CloudWatch-NetworkFlowMonitor-cw-metrics"></a>

Network Flow Monitor 会向您的账户发布以下网络流性能指标：往返时间、TCP 重新传输、TCP 重新传输超时、已传输的数据和网络运行状况指标。在 Amazon CloudWatch 控制台中，您可以在 CloudWatch 指标中查看这些指标。

要查找监测仪的所有指标，请在 CloudWatch Metrics 控制面板中使用自定义命名空间 `AWS/NetworkFlowMonitor`。针对已部署且处于活动状态的每台监测仪汇总指标。

Network Flow Monitor 提供以下指标。请注意，RoundTripTime 数据可能很稀疏，因为并非总是计算此指标。


| 指标 | 说明 | 
| --- | --- | 
| 已传输数据 | 为监测仪所有流量已传输的字节数。 | 
| 重新传输 | 监测仪的重新传输总数。当发送方需要重新发送已损坏或丢失的数据包时，就会发生重新传输。 | 
|  超时 | 监测仪的总重新传输超时时间。当发送方缺少过多确认数，因此决定暂停发送以及完全停止发送时，就会发生这种情况。 | 
| RoundTripTime | 监测仪网络流的平均往返时间。此指标以微秒为单位，是衡量性能的指标。它会记录流量从本地资源传输到远程 IP 地址以及接收相关响应所消耗的时间。该时间是聚合周期的平均值。数据可能很稀疏，因为并非总是计算此指标。 | 
| HealthIndicator | 显示器的整体网络运行状况指标（NHI）。网络运行状况指标（NHI）为用于显示 AWS 网络损坏的指标值。如果在指定时间段内出现 AWS 网络问题，则 NHI 值为 1（已降级）。如果未检测到 AWS 网络问题，则其将设置为 0（正常）。观察 NHI 可以帮助您确定工作负载或 AWS 网络故障排除的优先顺序。 | 

# 使用 Network Flow Monitor 创建警报
<a name="CloudWatch-NetworkFlowMonitor-create-alarm"></a>

您可以根据 Network Flow Monitor 指标创建 Amazon CloudWatch 警报，也可为其他 CloudWatch 指标创建警报。

例如，您可以根据 Network Flow Monitor 指标 `Retransmissions` 创建警报，并将其配置为在指标高于选定值时发送通知。您可以遵循与其他 CloudWatch 指标相同的指南，为 Network Flow Monitor 指标配置警报。

以下示例演示了您可以选择为其创建警报的 Network Flow Monitor 指标示例：
+ **重新传输**
+ ** 超时**
+ **RoundTripTime**

要查看 Network Flow Monitor 的所有可用指标，请参阅[根据静态阈值创建 CloudWatch 告警](ConsoleAlarms.md)。

以下过程提供了示例，即通过导航到 CloudWatch 控制面板中的指标以在**重新传输**上设置警报。然后，您按照标准 CloudWatch 步骤根据您选择的阈值创建告警，并设置通知或选择其他选项。

**在 CloudWatch 指标中为**重新传输**创建警报**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 选择**指标**，然后选择**所有指标**。

1. 通过选择 `AWS/NetworkFlowMonitor` 筛选 Network Flow Monitor。

1. 选择 **MeasurementSource、MonitorName**。

1. 在列表中，选择**重新传输**。

1. 在 **GraphedMetrics** 选项卡的**操作**下，选择钟形图标以基于静态阈值创建警报。

现在，按照标准的 CloudWatch 步骤为告警选择选项。例如，如果**重新传输**低于特定阈值，您可以选择通过 Amazon SNS 消息接收通知。或者，或者除此之外，您可以将告警添加到控制面板。

记住以下内容：
+ Network Flow Monitor 指标通常会进行聚合，并每 30 秒向 Network Flow Monitor 后端发送一次指标，可能有 5 秒钟的抖动（换言之，为 25 到 35 秒）。
+ 在根据 Network Flow Monitor 指标创建警报时，请务必在设置警报的回顾期时，考虑发布前的短暂延迟。我们建议您将**评估期**配置为有至少 25 分钟的回顾期。

有关创建 CloudWatch 告警时的选项的更多信息，请参阅 [根据静态阈值创建 CloudWatch 告警](ConsoleAlarms.md)。

# 适用于 Network Flow Monitor 的 AWS CloudTrail
<a name="CloudWatch-NetworkFlowMonitor-monitoring-overview"></a>

监控服务是保持 Network Flow Monitor 和其他 AWS 解决方案可靠性、可用性和性能的重要方面。*AWS CloudTrail* 捕获由您的 AWS 账户或代表该账户发出的 API 调用和相关事件，并将日志文件传送到您指定的 Amazon S3 存储桶。您可以标识哪些用户和账户调用了 AWS、发出调用的源 IP 地址以及调用的发生时间。有关更多信息，请参阅[《AWS CloudTrail 用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。

有关 Network Flow Monitor CloudTrail 日志记录的更多信息，请参阅[CloudTrail 中的网络流量监测仪](logging_cw_api_calls.md#CloudWatch-NetworkFlowMonitor-info-in-ct)。

# 对网络流量监测仪进行故障排除
<a name="CloudWatch-NetworkFlowMonitor-troubleshooting"></a>

本节提供对网络流量监测仪进行故障排除的相关指导，包括解决安装代理的问题。

## 对 EKS 代理安装相关问题进行故障排除
<a name="CloudWatch-NetworkFlowMonitor-troubleshooting.ec2-agent-installation"></a>

当您尝试在 AWS 管理控制台中将 EKS 的 AWS 网络流量监测仪代理插件从 v1.0.0 升级到 v1.0.1 版本时，可能会收到以下错误消息：

“Service account `aws-network-flow-monitoring-agent-service-account` in pod identity configuration is not supported for addon `aws-network-flow-monitoring-agent`.”

返回此错误的原因是资源已被重命名。EKS 插件 v1.0.1 将服务账户名称从 `aws-network-flow-monitoring-agent-service-account` 更改为 `aws-network-flow-monitor-agent-service-account`。

然后，如果控制台中未选择**未设置**，则不会将容器组身份关联重置为新的资源名称。

要修复此问题，请在使用控制台升级到新版本时执行以下操作：

1. 在**服务账户的容器组身份 IAM 角色**下，选择**未设置**。

1. 选择**新版本（v1.0.1）**。

1. 选择**升级**。

1. 选择**保存更改**。

# Network Flow Monitor 中的数据安全和数据保护
<a name="CloudWatch-NetworkFlowMonitor-security-nfw"></a>

AWS 的云安全性的优先级最高。为了满足对安全性最敏感的组织的需求，我们打造了具有超高安全性的数据中心和网络架构。作为 AWS 的客户，您也可以从这些数据中心和网络架构受益。

安全性是 AWS 和您的共同责任。[责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)将其描述为云*的*安全性和云*中*的安全性：
+ **云的安全性**:AWS 负责保护在 AWS 云 中运行 AWS 服务的基础结构。AWS 还向您提供可安全使用的服务。第三方审核员定期测试和验证我们的安全性的有效性，作为 [AWS 合规性计划](https://aws.amazon.com/compliance/programs/) 的一部分。要了解适用于 Network Flow Monitor 的合规性计划，请参阅 [AWS 按合规性计划提供的范围内服务](https://aws.amazon.com/compliance/services-in-scope/)。
+ **云中的安全性**：您的责任由您使用的 AWS 服务决定。您还需要对其他因素负责，包括您的数据的敏感性、您公司的要求以及适用的法律法规。

此文档将帮助您了解如何在使用 Network Flow Monitor 时应用责任共担模式。以下主题说明了如何配置 Network Flow Monitor 以实现您的安全性和合规性目标。您还会了解如何使用其他 AWS 服务来帮助您监控和保护 Network Flow Monitor 资源。

**Topics**
+ [Network Flow Monitor 中的数据保护](data-protection-nfw.md)
+ [Network Flow Monitor 中的基础设施安全性](infrastructure-security-nfw.md)
+ [适用于 Network Flow Monitor 的 Identity and Access Management](CloudWatch-NetworkFlowMonitor-security-iam.md)

# Network Flow Monitor 中的数据保护
<a name="data-protection-nfw"></a>

AWS [责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)适用于 Network Flow Monitor 中的数据保护。如该模式中所述，AWS 负责保护运行所有 AWS 云 的全球基础结构。您负责维护对托管在此基础结构上的内容的控制。您还负责您所使用的 AWS 服务 的安全配置和管理任务。有关数据隐私的更多信息，请参阅[数据隐私常见问题](https://aws.amazon.com/compliance/data-privacy-faq/)。有关欧洲数据保护的信息，请参阅 *AWS Security Blog* 上的 [AWS Shared Responsibility Model and GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 博客文章。

出于数据保护目的，建议您保护 AWS 账户 凭证并使用 AWS IAM Identity Center 或 AWS Identity and Access Management（IAM）设置单个用户。这样，每个用户只获得履行其工作职责所需的权限。还建议您通过以下方式保护数据：
+ 对每个账户使用多重身份验证（MFA）。
+ 使用 SSL/TLS 与 AWS 资源进行通信。我们要求使用 TLS 1.2，建议使用 TLS 1.3。
+ 使用 AWS CloudTrail 设置 API 和用户活动日记账记录。有关使用 CloudTrail 跟踪来捕获 AWS 活动的信息，请参阅《AWS CloudTrail 用户指南》**中的[使用 CloudTrail 跟踪](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)。
+ 使用 AWS 加密解决方案以及 AWS 服务中的所有默认安全控制。
+ 使用高级托管安全服务（例如 Amazon Macie），它有助于发现和保护存储在 Amazon S3 中的敏感数据。
+ 如果在通过命令行界面或 API 访问 AWS 时需要经过 FIPS 140-3 验证的加密模块，请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息，请参阅《美国联邦信息处理标准（FIPS）第 140-3 版》[https://aws.amazon.com/compliance/fips/](https://aws.amazon.com/compliance/fips/)。

强烈建议您切勿将机密信息或敏感信息（如您客户的电子邮件地址）放入标签或自由格式文本字段（如**名称**字段）。这适用于使用 Network Flow Monitor，或使用控制台、API、AWS CLI 或 AWS SDK 的其他 AWS 服务的情况。在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供 URL，强烈建议您不要在网址中包含凭证信息来验证对该服务器的请求。

# Network Flow Monitor 中的基础设施安全性
<a name="infrastructure-security-nfw"></a>

作为一项托管式服务，Network Flow Monitor 由《[Amazon Web Services: Overview of Security Processes](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf)》白皮书中所述的 AWS 全球网络安全程序提供保护。

您可以使用 AWS 发布的 API 调用通过网络访问 Network Flow Monitor。客户端必须支持传输层安全性协议（TLS）1.0 或更高版本。建议使用 TLS 1.2 或更高版本。客户端还必须支持具有完全向前保密 (PFS) 的密码套件，例如 DHE (Ephemeral Diffie-Hellman) 或 ECDHE (Elliptic Curve Ephemeral Diffie-Hellman)。大多数现代系统（如 Java 7 及更高版本）都支持这些模式。

此外，必须使用访问密钥 ID 和与 IAM 主体关联的秘密访问密钥来对请求进行签名。或者，您可以使用 [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html)（AWS STS）生成临时安全凭证来对请求进行签名。

# 适用于 Network Flow Monitor 的 Identity and Access Management
<a name="CloudWatch-NetworkFlowMonitor-security-iam"></a>

AWS Identity and Access Management（IAM）是一项，AWS 服务可以帮助管理员安全地控制对 AWS 资源的访问。IAM 管理员控制可以通过*身份验证*（登录）和*授权*（具有权限）使用 Network Flow Monitor 资源的人员。IAM 是一项无需额外费用即可使用的AWS 服务。

**Topics**
+ [Network Flow Monitor 如何与 IAM 协同工作](security_iam_service-with-iam-network-flow-monitor.md)
+ [AWS 托管策略](security-iam-awsmanpol-network-flow-monitor.md)
+ [服务关联角色](using-service-linked-roles-network-flow-monitor.md)

# Network Flow Monitor 如何与 IAM 协同工作
<a name="security_iam_service-with-iam-network-flow-monitor"></a>

在使用 IAM 管理对 Network Flow Monitor 的访问之前，您应该了解哪些 IAM 功能可与网络监测仪结合使用。

要查看显示 AWS 服务如何与大多数 IAM 功能结合使用的类似高级视图的表格，请参阅《IAM 用户指南》**中的[与 IAM 结合使用的 AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。


**可以与 Network Flow Monitor 结合使用的 IAM 功能**  

| IAM 功能 | Network Flow Monitor 支持 | 
| --- | --- | 
|  [基于身份的策略](#security_iam_service-with-iam-id-based-policies-nfm)  |   是  | 
|  [基于资源的策略](#security_iam_service-with-iam-resource-based-policies-nfm)  |   否   | 
|  [策略操作](#security_iam_service-with-iam-id-based-policies-actions-nfm)  |   是  | 
|  [策略资源](#security_iam_service-with-iam-id-based-policies-resources-nfm)  |   是  | 
|  [策略条件键（特定于服务）](#security_iam_service-with-iam-id-based-policies-conditionkeys-nfm)  |   是  | 
|  [ACL](#security_iam_service-with-iam-acls-nfm)  |   否   | 
|  [ABAC（策略中的标签）](#security_iam_service-with-iam-tags-nfm)  |   是  | 
|  [临时凭证](#security_iam_service-with-iam-roles-tempcreds-nfm)  |   是  | 
|  [主体权限](#security_iam_service-with-iam-principal-permissions-nfm)  |   是  | 
|  [服务角色](#security_iam_service-with-iam-roles-service-nfm)  |   否   | 
|  [服务关联角色](#security_iam_service-with-iam-roles-service-linked-nfm)  |   是  | 

## 适用于 Network Flow Monitor 的基于身份的策略
<a name="security_iam_service-with-iam-id-based-policies-nfm"></a>

**支持基于身份的策略：**是

基于身份的策略是可附加到身份（如 IAM 用户、用户组或角色）的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略，请参阅《IAM 用户指南》**中的[使用客户管理型策略定义自定义 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。要了解可在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

## Network Flow Monitor 中的基于资源的策略
<a name="security_iam_service-with-iam-resource-based-policies-nfm"></a>

**支持基于资源的策略：**否 

基于资源的策略是附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM 角色信任策略和 Amazon S3 存储桶策略。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。

## 适用于 Network Flow Monitor 的策略操作
<a name="security_iam_service-with-iam-id-based-policies-actions-nfm"></a>

**支持策略操作：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么内容。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

要查看 Network Flow Monitor 操作列表，请参阅《Service Authorization Reference》**中的 [Actions defined by Amazon CloudWatch Network Monitor](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchnetworkflowmonitor.html#amazoncloudwatchnetworkflowmonitor-actions-as-permissions)。

Network Flow Monitor 中的策略操作在操作前使用以下前缀：

```
networkflowmonitor
```

要在单个语句中指定多项操作，请使用逗号将它们隔开。

```
"Action": [
      "networkflowmonitor:action1",
      "networkflowmonitor:action2"
         ]
```

您也可以使用通配符（\$1）指定多个操作。例如，要指定以单词 `Describe` 开头的所有操作，包括以下操作：

```
"Action": "networkflowmonitor:Describe*"
```

## Network Flow Monitor 的策略资源
<a name="security_iam_service-with-iam-id-based-policies-resources-nfm"></a>

**支持策略资源：**是

在**《Service Authorization Reference》中，您可以看到以下与 Network Flow Monitor 相关的信息：
+ 要查看 Network Flow Monitor 资源类型及其 ARN 的列表，请参阅 [Resources defined by Internet Monitor](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchnetworkflowmonitor.html#amazoncloudwatchnetworkflowmonitor-resources-for-iam-policies)。
+ 要了解您可以使用每个资源的 ARN 指定的操作，请参阅 [Actions defined by Network Flow Monitor](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchnetworkflowmonitor.html#amazoncloudwatchnetworkflowmonitor-actions-as-permissions)。

管理员可以使用 AWS JSON 策略来指定谁有权访问什么内容。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Resource` JSON 策略元素指定要向其应用操作的一个或多个对象。作为最佳实践，请使用其 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)指定资源。对于不支持资源级权限的操作，请使用通配符 (\$1) 指示语句应用于所有资源。

```
"Resource": "*"
```

## 适用于 Network Flow Monitor 的策略条件键
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys-nfm"></a>

**支持特定于服务的策略条件键：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么内容。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 AWS 全局条件键，请参阅《IAM 用户指南》**中的 [AWS 全局条件上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

有关 Network Flow Monitor 条件键的列表，请参阅《Service Authorization Reference》**中的 [Condition keys for Network Flow Monitor](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchnetworkflowmonitor.html#amazoncloudwatchnetworkflowmonitor-policy-keys)。要了解您可以对哪些操作和资源使用条件键，请参阅 [Actions defined by Network Flow Monitor](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchnetworkflowmonitor.html#amazoncloudwatchnetworkflowmonitor-actions-as-permissions)。

## Network Flow Monitor 中的 ACL
<a name="security_iam_service-with-iam-acls-nfm"></a>

**支持 ACL：**否 

访问控制列表（ACL）控制哪些主体（账户成员、用户或角色）有权访问资源。ACL 与基于资源的策略类似，但它们不使用 JSON 策略文档格式。

## ABAC 与 Network Flow Monitor
<a name="security_iam_service-with-iam-tags-nfm"></a>

**支持 ABAC（策略中的标签）：**是

Network Flow Monitor *部分*支持策略中的标签。它支持标记一种资源，即监测仪。

要将标签与 Network Flow Monitor 结合使用，请使用 AWS Command Line Interface或 AWS SDK。AWS 管理控制台不支持标记 Network Flow Monitor。

要了解有关在一般策略中使用标签的更多信息，请查看以下信息。

基于属性的访问权限控制（ABAC）是一种授权策略，该策略基于称为标签的属性来定义权限。您可以将标签附加到 IAM 实体和 AWS 资源，然后设计 ABAC 策略，以支持在主体的标签与资源上的标签匹配时执行操作。

要基于标签控制访问，您需要使用 `aws:ResourceTag/key-name``aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。

如果某个服务对于每种资源类型都支持所有这三个条件键，则对于该服务，该值为**是**。如果某个服务仅对于部分资源类型支持所有这三个条件键，则该值为**部分**。

有关 ABAC 的更多信息，请参阅《IAM 用户指南》**中的[使用 ABAC 授权定义权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。要查看设置 ABAC 步骤的教程，请参阅《IAM 用户指南》**中的[使用基于属性的访问权限控制（ABAC）](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

## 将临时凭证与 Network Flow Monitor 结合使用
<a name="security_iam_service-with-iam-roles-tempcreds-nfm"></a>

**支持临时凭证：**是

临时凭证提供对 AWS 资源的短期访问权限，并且是在您使用联合身份验证或切换角色时自动创建的。AWS 建议您动态生成临时凭证，而不是使用长期访问密钥。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的临时安全凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)和[使用 IAM 的。AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)

## Network Flow Monitor 的跨服务主体权限
<a name="security_iam_service-with-iam-principal-permissions-nfm"></a>

**支持转发访问会话（FAS）：**是

 转发访问会话（FAS）使用调用 AWS 服务 的主体的权限，与发出请求的 AWS 服务 结合，向下游服务发出请求。有关发出 FAS 请求时的策略详情，请参阅[转发访问会话](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)。

## Network Flow Monitor 的服务角色
<a name="security_iam_service-with-iam-roles-service-nfm"></a>

**支持服务角色：**否 

 服务角色是由一项服务担任、代表您执行操作的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息，请参阅《IAM 用户指南》**中的[创建向 AWS 服务 委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

## 适用于 Network Flow Monitor 的服务相关角色
<a name="security_iam_service-with-iam-roles-service-linked-nfm"></a>

**支持服务关联角色：**是

 服务关联角色是一种与 AWS 服务 关联的服务角色。服务可以代入代表您执行操作的角色。服务关联角色显示在您的 AWS 账户 中，并由该服务拥有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

要了解 Network Flow Monitor 的服务相关角色的更多信息，请参阅[适用于 Network Flow Monitor 的服务相关角色](using-service-linked-roles-network-flow-monitor.md)。

有关在 AWS 中创建或管理服务相关角色的大概详细信息，请参阅[与 IAM 协同工作的 AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。在表中查找**服务相关角色**列中包含 `Yes` 的表。选择**是**链接以查看该服务的服务相关角色文档。

# 适用于 Network Flow Monitor 的 AWS 托管式策略
<a name="security-iam-awsmanpol-network-flow-monitor"></a>

AWS 托管式策略是由 AWS 创建和管理的独立策略。AWS 托管式策略旨在为许多常见使用案例提供权限，以便您可以开始为用户、组和角色分配权限。

请记住，AWS 托管式策略可能不会为您的特定使用案例授予最低权限，因为它们可供所有 AWS 客户使用。我们建议通过定义特定于使用案例的[客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)来进一步减少权限。

您无法更改 AWS 托管式策略中定义的权限。如果 AWS 更新在 AWS 托管式策略中定义的权限，则更新会影响该策略所附加到的所有主体身份（用户、组和角色）。当新的 AWS 服务 启动或新的 API 操作可用于现有服务时，AWS 最有可能更新 AWS 托管式策略。

有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

## AWS 托管式策略：CloudWatchNetworkFlowMonitorServiceRolePolicy
<a name="security-iam-awsmanpol-CloudWatchNetworkFlowMonitorServiceRolePolicy"></a>

您不能将 `CloudWatchNetworkFlowMonitorServiceRolePolicy` 附加到自己的 IAM 实体。该策略附加到名为 **AWSServiceRoleForNetworkFlowMonitor** 的服务相关角色，该角色将 Network Flow Monitor 代理收集的网络遥测聚合结果发布到 CloudWatch。该策略还允许服务使用 AWS Organizations 获取多账户场景的信息。

要查看此策略的权限，请参阅《AWS Managed Policy Reference》**中的 [CloudWatchNetworkFlowMonitorServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorServiceRolePolicy.html)。

有关更多信息，请参阅 [适用于 Network Flow Monitor 的服务相关角色](using-service-linked-roles-network-flow-monitor.md)。

## AWS 托管式策略：CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy
<a name="security-iam-awsmanpol-CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy"></a>

您不能将 ` CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy` 附加到自己的 IAM 实体。此策略附加到名为 **AWSServiceRoleForNetworkFlowMonitor\$1Topology** 的服务相关角色。该服务相关角色使用这些权限以及内部元数据信息收集（旨在提高性能效率），为该服务监控网络流量的资源收集有关资源网络配置的元数据，例如描述路由表和网关。借助这些元数据，Network Flow Monitor 能够生成资源的拓扑快照。当出现网络性能下降时，Network Flow Monitor 会使用拓扑来提供有关网络中问题位置的见解，并帮助确定问题的归因。

要查看此策略的权限，请参阅《AWS Managed Policy Reference》**中的 [CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy.html)。

有关更多信息，请参阅 [适用于 Network Flow Monitor 的服务相关角色](using-service-linked-roles-network-flow-monitor.md)。

## AWS 托管式策略：CloudWatchNetworkFlowMonitorAgentPublishPolicy
<a name="security-iam-awsmanpol-CloudWatchNetworkFlowMonitorAgentPublishPolicy"></a>

您可以在附加到 Amazon EC2 和 Amazon EKS 实例资源的 IAM 角色中使用此策略，以向 Network Flow Monitor 端点发送遥测报告（指标）。

要查看此策略的权限，请参阅《AWS Managed Policy Reference》**中的 [CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html)。

## Network Flow Monitor 服务相关角色的更新
<a name="security-iam-awsmanpol-network-flow-monitor-updates"></a>

有关适用于 Network Flow Monitor 服务相关角色的 AWS 托管式策略的更新，请参阅 CloudWatch的 [AWS 托管式策略更新表](managed-policies-cloudwatch.md#security-iam-awsmanpol-updates)。您也可以在 CloudWatch [文档历史记录页面](DocumentHistory.md)上订阅自动 RSS 提醒。

# 适用于 Network Flow Monitor 的服务相关角色
<a name="using-service-linked-roles-network-flow-monitor"></a>

Network Flow Monitor 使用 AWS Identity and Access Management（IAM）[服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特类型的 IAM 角色，它与 Network Flow Monitor 直接相关。服务相关角色由 Network Flow Monitor 预定义，包含该服务代表您调用其他 AWS 服务所需的所有权限。

Network Flow Monitor 定义服务相关角色的权限，除非另行定义，否则只有 Network Flow Monitor 可以代入该角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其他 IAM 实体。

只有先删除角色的相关资源，才能删除角色。此限制将保护您的 Network Flow Monitor 资源，因为这样就不会无意中删除对这些资源的访问权限。

有关支持服务相关角色的其他服务的信息，请参阅[与 IAM 配合使用的 AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)，并查找 **Service-linked role**（服务相关角色）列中显示为 **Yes**（是）的服务。选择**是**和链接，查看该服务的服务关联角色文档。

## 适用于 Network Flow Monitor 的服务相关角色权限
<a name="service-linked-role-permissions-NetworkFlowMonitor"></a>

Network Flow Monitor 使用以下服务相关角色：
+ **AWSServiceRoleForNetworkFlowMonitor**
+ **AWSServiceRoleForNetworkFlowMonitor\$1Topology**

### 适用于 AWSServiceRoleForNetworkFlowMonitor 的服务相关角色权限
<a name="service-linked-role-permissions-AWSServiceRoleForNetworkFlowMonitor"></a>

Network Flow Monitor 使用名为 **AWSServiceRoleForNetworkFlowMonitor** 的服务相关角色。借助此角色，Network Flow Monitor 可以发布针对实例之间以及实例和 AWS 位置之间的网络流量所收集的 CloudWatch 汇总遥测指标。该策略还允许服务使用 AWS Organizations 获取多账户场景的信息。

此服务相关角色使用托管式策略 `CloudWatchNetworkFlowMonitorServiceRolePolicy`。

要查看此策略的权限，请参阅《AWS Managed Policy Reference》**中的 [CloudWatchNetworkFlowMonitorServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorServiceRolePolicy.html)。

**AWSServiceRoleForNetworkFlowMonitor** 服务相关角色信任以下服务来代入该角色：
+ `networkflowmonitor.amazonaws.com`

### 适用于 AWSServiceRoleForNetworkFlowMonitor\$1Topology 的服务相关角色权限
<a name="service-linked-role-permissions-AWSServiceRoleForNetworkFlowMonitor_Topology"></a>

Network Flow Monitor 使用名为 **AWSServiceRoleForNetworkFlowMonitor\$1Topology** 的服务相关角色。借助该角色，Network Flow Monitor 可以生成与其配合使用的资源的拓扑快照。

此服务相关角色使用托管式策略 `CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy`。

要查看此策略的权限，请参阅《AWS Managed Policy Reference》**中的 [CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy.html)。

**AWSServiceRoleForNetworkFlowMonitor\$1Topology** 服务相关角色信任以下服务来代入该角色：
+ `topology.networkflowmonitor.amazonaws.com`

## 为 Network Flow Monitor 创建服务相关角色
<a name="create-service-linked-role-network-flow-monitor"></a>

您无需为 Network Flow Monitor 手动创建服务相关角色。首次初始化网络流量监测仪时，网络流量监测仪会为您创建 **AWSServiceRoleForNetworkFlowMonitor** 和 **AWSServiceRoleForNetworkFlowMonitor\$1Topology**。

有关更多信息，请参阅 *IAM 用户指南* 中的[创建服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。

## 为 Network Flow Monitor 编辑服务相关角色
<a name="edit-service-linked-role-network-flow-monitor"></a>

Network Flow Monitor 在您的账户中创建服务相关角色后，您将无法更改角色名称，因为可能有多个实体引用该角色。您可以使用 IAM 编辑角色描述。有关更多信息，请参阅《IAM 用户指南》**中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 为 Network Flow Monitor 删除服务相关角色
<a name="delete-service-linked-role-network-flow-monitor"></a>

如果您不再需要使用某个需要服务相关角色的功能或服务，我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是，您必须先清除服务相关角色的资源，然后才能手动删除它。

**注意**  
当您试图删除 Internet Monitor 服务正在使用的角色时，删除操作可能会失败。如果发生这种情况，请等待几分钟，然后重试。

**使用 IAM 手动删除服务关联角色**

使用 IAM 控制台、AWS CLI 或 AWS API 删除 **AWSServiceRoleForNetworkFlowMonitor** 或 **AWSServiceRoleForNetworkFlowMonitor\$1Topology** 服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## Network Flow Monitor 服务相关角色的更新
<a name="security-iam-awsmanpol-updates-network-flow-monitor"></a>

有关适用于 Network Flow Monitor 服务相关角色的 `CloudWatchNetworkFlowMonitorServiceRolePolicy` 或 `CloudWatchNetworkFlowMonitorTopologyServiceRolePolicy` 以及 AWS 托管式策略的更新，请参阅 [CloudWatch 对 AWS 托管式策略的更新](managed-policies-cloudwatch.md#security-iam-awsmanpol-updates)。如需获得 CloudWatch 中托管策略更改的自动提示，请订阅 [CloudWatch 历史记录](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/DocumentHistory.html)页面上的 RSS 源。