本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行時期監控疑難排解
您可能需要對執行時期監控進行疑難排解,或驗證執行時期監控已啟用且在任務與容器上執行。
主題
如何判斷帳戶上的執行時期監控是否處於作用中狀態?
在 Amazon ECS 主控台中,帳戶設定頁面上顯示此資訊。
您也可以使用 list-account-settings 選項執行 effective-settings。
aws ecs list-account-settings --effective-settings
Output
名稱設定為 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 User Guide 中的 Reviewing coverage statistics。
如何判斷 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
Output
名為 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 儀表板會在涵蓋範圍統計量儀表板中顯示任務缺少保護的狀態。
如何判斷我是否具備為叢集新增執行時期監控標籤的正確許可?
若要標記叢集,您必須同時具備對 ecs:TagResource 與 CreateCluster 執行 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 任務大小,避免可能出現的記憶體不足狀況。