

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在同一底层主机上的两个安全代理
<a name="two-security-agents-installed-on-ec2-node"></a>

Amazon EC2 实例可以支持多种类型的工作负载。当您在 Amazon EC2 实例上配置自动安全代理时，同一 EC2 实例可能会通过 EKS 拥有另一个安全代理。

## 概述
<a name="overview-two-security-agents-guardduty"></a>

以您启用运行时监控的场景为例。现在，您可以通过为 Amazon EKS 启用自动代理 GuardDuty。您还为 Amazon EC2 启用了自动代理。结果可能是在同一台底层主机上安装了两个安全代理，一个用于 Amazon EKS，另一个用于 Amazon EC2。这可能导致两个安全代理在同一主机内运行，收集运行时事件并将其发送到 GuardDuty，并可能生成重复的发现。

## 影响
<a name="impact-two-security-agents-guardduty"></a>
+ 当在同一台主机上运行多个安全代理时，您的账户可能会遇到双倍的 CPU 和内存处理需求。有关每种资源类型的 CPU 和内存限制的信息，请参阅[先决条件](runtime-monitoring-prerequisites.md)。
+ GuardDuty 在设计运行时监控功能时，即使两个安全代理从同一底层主机收集运行时事件存在重叠，也只会向您的账户收取一个运行时事件流的费用。

## 如何 GuardDuty 处理多个代理
<a name="how-guardduty-handles-multiple-agents"></a>

GuardDuty 检测两个安全客户端何时在同一台主机上运行，并仅将其中一个指定为主动收集运行时事件的安全代理。并尽可能减少第二个代理消耗的系统资源，以防止对应用程序性能产生任何影响。

GuardDuty 考虑了以下场景：
+ 当 EC2 实例同时属于 Amazon EKS 和 Amazon EC2 安全代理的范围时，EKS 安全代理将会优先。这仅在您使用 Amazon EC2 安全代理 v1.1.0 或更高版本时适用。更低的代理版本将继续运行并收集运行时事件，因为更低的代理版本不受优先级的影响。
+ 当 Amazon EKS 和 Amazon EC2 都 GuardDuty 托管安全代理并且您的 Amazon EC2 实例也由 SSM 托管时，两个安全代理都将在主机级别安装。安装代理后， GuardDuty 决定哪个安全代理将继续运行。当两个安全代理都在运行时，最终只有一个代理会收集运行时事件。
+ 当与 EC2 和 EKS 关联的安全代理同时运行时， GuardDuty 可能仅在重叠期间生成重复的发现。

  下列情况下可能出现此场景：
  + EC2 和 EKS 的安全代理均通过 GuardDuty（自动）进行配置，或者
  + 您的 Amazon EKS 资源具有自动安全代理。
+ 当 EKS 安全代理已在运行时，如果您在同一台底层主机上手动部署 EC2 安全代理并满足所有先决条件，则 GuardDuty可能无法安装第二个安全代理。