本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行期監控故障診斷
您可能需要對任務和容器上的執行期監控已啟用和執行,進行故障診斷或驗證。
主題
如何判斷我的帳戶是否已啟用執行期監控?
在 Amazon ECS 主控台中,資訊位於帳戶設定頁面上的 中。
您也可以list-account-settings
使用 effective-settings
選項執行 。
aws ecs list-account-settings --effective-settings
輸出
名稱設為 guardDutyActivate
且值設為 on
表示帳戶已設定。您必須向您的 GuardDuty 管理員確認管理是自動還是手動。
{
"setting": {
"name": "guardDutyActivate",
"value": "enabled",
"principalArn": "arn:aws:iam::123456789012:root",
"type": "aws-managed"
}
}
如何判斷叢集上的執行期監控是否處於作用中狀態?
您可以在 GuardDuty 主控台中檢閱涵蓋範圍統計資料。這包括與您自己的 帳戶或成員帳戶相關聯的 Amazon ECS 資源資訊,是所選叢集中運作狀態良好的叢集百分比 AWS 區域。這包括使用 Fargate 和 EC2 啟動類型的叢集涵蓋範圍。如需詳細資訊,請參閱《Amazon GuardDuty 使用者指南》中的檢閱涵蓋範圍統計資料。
如何判斷 GuardDuty 安全代理程式是否正在 Fargate 任務上執行?
GuardDuty 安全代理程式會做為 Fargate 任務的附屬容器執行。
在 Amazon ECS 主控台中,附屬項目會顯示在任務詳細資訊頁面上的容器下方。
您可以執行describe-tasks
並尋找名稱設為 aws-gd-agent
且 lastStatus 設為 的容器RUNNING
。
下列範例顯示任務 的預設叢集輸出aws:ecs:us-east-1:123456789012:task/0b69d5c0-d655-4695-98cd-5d2d5EXAMPLE
。
aws ecs describe-tasks --cluster default --tasks aws:ecs:us-east-1:123456789012:task/0b69d5c0-d655-4695-98cd-5d2d5EXAMPLE
輸出
名為 的容器gd-agent
處於 RUNNING
狀態。
"containers": [
{
"containerArn": "arn:aws:ecs:us-east-1:123456789012:container/4df26bb4-f057-467b-a079-96167EXAMPLE",
"taskArn": "arn:aws:ecs:us-east-1:123456789012:task/0b69d5c0-d655-4695-98cd-5d2d5EXAMPLE",
"lastStatus": "RUNNING",
"healthStatus": "UNKNOWN",
"memory": "string",
"name": "aws-gd-agent"
}
]
如何判斷 GuardDuty 安全代理程式是否在 EC2 容器執行個體上執行?
執行下列命令以檢視狀態:
sudo systemctl status amazon-guardduty-agent
日誌檔案位於下列位置:
/var/log/amzn-guardduty-agent
當叢集上執行的任務沒有任務執行角色時,會發生什麼情況?
對於 Fargate 任務,任務在沒有 GuardDuty 安全代理程式附屬容器的情況下啟動。GuardDuty 儀表板會在涵蓋範圍統計資料儀表板中顯示任務缺少保護。
如何判斷我是否具有標記叢集以進行執行期監控的正確許可?
若要標記叢集,您必須同時擁有 CreateCluster
和 ecs:TagResource
的動作UpdateCluster
。
以下是範例政策的程式碼片段。
{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction" : "CreateCluster", "ecs:CreateAction" : "UpdateCluster", } } } ] }
沒有連線 Amazon ECR 時會發生什麼情況?
對於 Fargate 任務,任務在沒有 GuardDuty 安全代理程式附屬容器的情況下啟動。GuardDuty 儀表板會在涵蓋範圍統計資料儀表板中顯示任務缺少保護。
啟用執行期監控後,如何解決 Fargate 任務上的記憶體不足錯誤?
GuardDuty 安全代理程式是一種輕量型程序。不過,程序仍會根據工作負載的大小耗用資源。我們建議您使用容器資源追蹤工具,例如 Amazon CloudWatch Container Insights,在您的叢集中暫存 GuardDuty 部署。這些工具可協助您探索應用程式 GuardDuty 安全代理程式的耗用設定檔。然後,您可以視需要調整 Fargate 任務大小,以避免潛在的記憶體不足情況。