本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon ECS 集群的覆盖范围
Amazon ECS 集群的运行时间覆盖范围包括在 Amazon ECS 容器实例上 AWS Fargate (Fargate) 运行的任务1。
对于在 Fargate 上运行的 Amazon ECS 集群,运行时间覆盖率是在任务级别评估的。ECS 集群的运行时覆盖范围包括在 Fargate(仅限 ECS)启用运行时监控和自动代理配置后开始运行的 Fargate 任务。默认情况下,Fargate 任务是不可变的。 GuardDuty 将无法安装安全代理来监视已在运行的任务上的容器。要包含这样的 Fargate 任务,必须停止并重新启动该任务。请务必检查相关服务是否受支持。
有关 Amazon ECS 容器的信息,请参阅容量创建。
查看覆盖率统计数据
与您自己的账户或成员账户关联的 Amazon ECS 资源的覆盖率统计数据是健康的 Amazon ECS 集群占所选集群中所有 Amazon ECS 集群的百分比 AWS 区域。这包括对与 Fargate 和 Amazon EC2 实例关联的 Amazon ECS 集群的保障。下式将其表示为:
(正常集群/所有集群)*100
注意事项
-
ECS 集群的覆盖范围统计数据包括与该 ECS 集群关联的 Fargate 任务或 ECS 容器实例的覆盖状态。Fargate 任务的覆盖状态包括处于运行状态或最近完成运行的任务。
-
在 ECS 集群运行时覆盖率选项卡中,覆盖的容器实例字段表示与您的 Amazon ECS 集群关联的容器实例的覆盖状态。
如果您的 Amazon ECS 集群仅包含 Fargate 任务,则计数将显示为 0/0。
-
如果您的 Amazon ECS 集群与没有安全代理的 Amazon EC2 实例相关联,则 Amazon ECS 集群的覆盖范围也将处于不健康状态。
要确定关联的 Amazon EC2 实例的覆盖范围问题并对其进行故障排除,排查覆盖问题请参阅 Amazon EC2 实例。
选择一种访问方法来查看您账户的覆盖率统计数据。
有关覆盖范围问题的更多信息,请参阅排查覆盖问题。
配置覆盖状态变更通知
您的 Amazon ECS 集群的覆盖状态可能显示为 “运行状况不佳”。要了解覆盖状态何时发生变化,我们建议您定期监控覆盖状态,并在状态变为 “不健康” 时进行故障排除。或者,您可以创建 Amazon EventBridge 规则,以便在保险状态从 “不健康” 变为 “健康” 或其他情况时收到通知。默认情况下,会在EventBridge 公交车上为您的账户 GuardDuty 发布此内容。
示例通知架构
在 EventBridge 规则中,您可以使用预定义的示例事件和事件模式来接收覆盖状态通知。有关创建 EventBridge 规则的更多信息,请参阅 Amazon EventBridge 用户指南中的创建规则。
此外,您还可以使用以下示例通知架构来创建自定义事件模式。确保替换账户的值。要在您的 Amazon ECS 集群的覆盖状态从变Healthy
为时收到通知Unhealthy
,detail-type
应为 “GuardDuty 运行时保护不正常
”。要在覆盖范围状态从变为时收到通知Healthy
,Unhealthy
请将的detail-type
值替换为 “GuardDuty 运行时保护健康
”。
{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "AWS 账户 ID", "time": "event timestamp (string)", "region": "AWS 区域", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "ECS", "ecsClusterDetails": { "clusterName":"", "fargateDetails":{ "issues":[], "managementType":"" }, "containerInstanceDetails":{ "coveredContainerInstances":int, "compatibleContainerInstances":int } } }, "issue": "string", "lastUpdatedAt": "timestamp" } }
排查覆盖问题
如果您的 Amazon ECS 集群的覆盖状态为 “不健康”,则可以在问题列下查看原因。
下表提供了 Fargate(仅限 Amazon ECS)问题的建议故障排除步骤。有关 Amazon EC2 实例覆盖率问题的信息,请参阅 Amazon 排查覆盖问题 EC2 实例。
问题类型 | 额外信息 | 建议的问题排查步骤 |
---|---|---|
代理未报告 |
代理未报告中的任务 |
验证您的 VPC 终端节点配置是否正确。 如果您的组织有服务控制策略 (SCP),请确保它不会拒绝该 |
|
在额外信息中查看 VPC 问题详情。 |
|
代理已退出 |
ExitCode: |
在额外信息中查看问题详情。 |
|
||
ExitCode: |
||
代理已退出:原因: |
任务执行角色必须具有以下亚马逊弹性容器注册表 (Amazon ECR) Container Registry 权限:
有关更多信息,请参阅 提供 ECR 权限和子网详细信息。 添加 Amazon ECR 权限后,必须重新启动任务。 如果问题仍然存在,请参阅我的 AWS Step Functions 工作流程意外失败。 |
|
未配置其他人或代理 |
未识别的问题,适用于中的任务 |
使用以下问题来确定问题的根本原因:
|