View a markdown version of this page

Laufzeitabdeckung und Problembehandlung für Amazon EKS-Cluster - Amazon GuardDuty

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Laufzeitabdeckung und Problembehandlung für Amazon EKS-Cluster

Nachdem Sie Runtime Monitoring aktiviert und den GuardDuty Security Agent (Add-on) für EKS entweder manuell oder über die automatische Agentenkonfiguration installiert haben, können Sie mit der Bewertung der Abdeckung Ihrer EKS-Cluster beginnen.

Überprüfen der Abdeckungsstatistiken

Die Abdeckungsstatistiken für die EKS-Cluster, die Ihren eigenen Konten oder Ihren Mitgliedskonten zugeordnet sind, geben den Prozentsatz der fehlerfreien EKS-Cluster an allen EKS-Clustern in der ausgewählten AWS-Region an. Die folgende Gleichung stellt dies wie folgt dar:

(Fehlerfreie clusters/All Cluster) *100

Wählen Sie eine der Zugriffsmethoden, um die Abdeckungsstatistiken für Ihre Konten einzusehen.

Console
  • Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die GuardDuty Konsole unter https://console.aws.amazon.com/guardduty/.

  • Wählen Sie im Navigationsbereich Runtime Monitoring aus.

  • Wählen Sie die Registerkarte Laufzeitabdeckung von EKS-Clustern.

  • Auf der Registerkarte Laufzeitabdeckung von EKS-Clustern können Sie die Abdeckungsstatistiken einsehen, die nach dem Abdeckungsstatus aggregiert sind, der in der Cluster-Listentabelle verfügbar ist.

    • Sie können die Tabelle mit der Cluster-Liste nach den folgenden Spalten filtern:

      • Cluster name

      • Konto-ID

      • Agentenverwaltungs-Typ

      • Abdeckungsstatus

      • Add-on Version

  • Wenn einer Ihrer EKS-Cluster den Abdeckungsstatus Fehlerhaft hat, kann die Spalte Problem zusätzliche Informationen über den Grund für den Status Fehlerhaft enthalten.

API/CLI
  • Führen Sie die ListCoverage API mit Ihrer eigenen gültigen Detektor-ID, Region und Service-Endpunkt aus. Mit dieser API können Sie die Cluster-Liste filtern und sortieren.

    • Sie können das Beispiel filter-criteria ändern mit einer der folgenden Optionen für CriterionKey:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • RESOURCE_TYPE

      • COVERAGE_STATUS

      • ADDON_VERSION

      • MANAGEMENT_TYPE

    • Sie können das Beispiel AttributeName in sort-criteria ändern mit einer der folgenden Optionen:

      • ACCOUNT_ID

      • CLUSTER_NAME

      • COVERAGE_STATUS

      • ISSUE

      • ADDON_VERSION

      • UPDATED_AT

    • Sie können das ändern max-results (bis zu 50).

    • Informationen zu Ihrem Konto und Ihrer aktuellen Region finden Sie auf der Seite „Einstellungen“ in der https://console.aws.amazon.com/guardduty/ Konsole oder führen Sie die ListDetectors API aus. detectorId

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • Führen Sie die GetCoverageStatistics API aus, um aggregierte Statistiken zur Abdeckung abzurufen, die statisticsType auf dem basieren.

    • Sie können das Beispiel statisticsType zu einer der folgenden Optionen ändern:

      • COUNT_BY_COVERAGE_STATUS – Stellt Abdeckungsstatistiken für EKS-Cluster dar, aggregiert nach Abdeckungs-Status.

      • COUNT_BY_RESOURCE_TYPE— Abdeckungsstatistiken, aggregiert auf der Grundlage des AWS Ressourcentyps in der Liste.

      • Sie können das Beispiel filter-criteria im Befehl ändern. Sie können die folgenden Optionen für CriterionKey verwenden:

        • ACCOUNT_ID

        • CLUSTER_NAME

        • RESOURCE_TYPE

        • COVERAGE_STATUS

        • ADDON_VERSION

        • MANAGEMENT_TYPE

    • Informationen zu Ihrem Konto und Ihrer aktuellen Region finden Sie auf der Seite „Einstellungen“ in der https://console.aws.amazon.com/guardduty/ Konsole oder führen Sie die ListDetectors API aus. detectorId

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

Wenn der Abdeckungsstatus Ihres EKS-Clusters Fehlerhaft ist, finden Sie weitere Informationen unter Behebung von Problemen mit der Amazon EKS-Laufzeitabdeckung.

Änderung des Deckungsstatus durch EventBridge Benachrichtigungen

Der Abdeckungsstatus eines EKS-Clusters in Ihrem Konto wird möglicherweise als Fehlerhaft angezeigt. Um zu erkennen, wann der Abdeckungsstatus Fehlerhaft wird, empfehlen wir Ihnen, den Abdeckungsstatus regelmäßig zu überwachen und Fehler zu beheben, falls der Status Fehlerhaft ist. Alternativ können Sie eine EventBridge Amazon-Regel erstellen, die Sie benachrichtigt, wenn sich der Deckungsstatus von Unhealthy zu Healthy oder nicht ändert. Veröffentlichen Sie GuardDuty dies standardmäßig im EventBridge Bus für Ihr Konto.

Beispiel für ein Benachrichtigungsschema

In einer EventBridge Regel können Sie anhand der vordefinierten Beispielereignisse und Ereignismuster eine Benachrichtigung über den Versorgungsstatus erhalten. Weitere Informationen zum Erstellen einer EventBridge Regel finden Sie unter Regel erstellen im EventBridge Amazon-Benutzerhandbuch.

Darüber hinaus können Sie mithilfe des folgenden Beispiel-Benachrichtigungsschemas ein benutzerdefiniertes Ereignismuster erstellen. Achten Sie darauf, die Werte für Ihr Konto zu ersetzen. Um benachrichtigt zu werden, wenn sich der Abdeckungsstatus Ihres Amazon EKS-Clusters von Healthy zu ändertUnhealthy, detail-type sollte der seinGuardDuty Runtime Protection Unhealthy. Um benachrichtigt zu werden, wenn sich der Abdeckungsstatus von Unhealthy zu ändertHealthy, ersetzen Sie den Wert von detail-type durchGuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "AWS-Konto ID", "time": "event timestamp (string)", "region": "AWS-Region", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "EKS", "eksClusterDetails": { "clusterName": "string", "availableNodes": "string", "desiredNodes": "string", "addonVersion": "string" } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

Behebung von Problemen mit der Amazon EKS-Laufzeitabdeckung

Wenn der Abdeckungsstatus für Ihren EKS-Cluster lautetUnhealthy, können Sie den entsprechenden Fehler entweder in der Spalte Problem in der GuardDuty Konsole oder mithilfe des CoverageResource Datentyps anzeigen.

Wenn Sie mit Einschluss- oder Ausschluss-Tags arbeiten, um Ihre EKS-Cluster selektiv zu überwachen, kann es einige Zeit dauern, bis die Tags synchronisiert sind. Dies kann sich auf den Abdeckungsstatus des zugehörigen EKS-Clusters auswirken. Sie können erneut versuchen, das entsprechende Tag (Einschluss oder Ausschluss) zu entfernen und hinzuzufügen. Weitere Informationen finden Sie unter Markieren Ihrer Amazon-EKS-Ressourcen im Amazon-EKS-Entwicklerhandbuch.

Die Struktur eines Abdeckungsproblems ist Issue type:Extra information. In der Regel verfügen die Probleme über optionale Zusatzinformationen, die eine spezifische Ausnahme oder eine Beschreibung des Problems enthalten können. Basierend auf zusätzlichen Informationen enthalten die folgenden Tabellen die empfohlenen Schritte zur Behebung der Abdeckungsprobleme für Ihre EKS-Cluster.

Art des Problems (Präfix)

Zusatzinformation

Empfohlene Schritte zur Fehlerbehebung

Die Erstellung des Addons ist fehlgeschlagen

Das Addon aws-guardduty-agent ist nicht mit der aktuellen Cluster-Version des Clusters kompatibel. ClusterName Das angegebene Add-On wird nicht unterstützt.

Stellen Sie sicher, dass Sie eine der Kubernetes-Versionen verwenden, die die Bereitstellung des aws-guardduty-agent-EKS-Add-Ons unterstützen. Weitere Informationen finden Sie unter Kubernetes-Versionen, die vom Security Agent unterstützt werden GuardDuty. Informationen zur Aktualisierung Ihrer Kubernetes-Version finden Sie unter Aktualisieren einer Amazon-EKS-Cluster-Kubernetes-Version.

Die Erstellung des Addons ist fehlgeschlagen

Das Addon-Update ist fehlgeschlagen

Addon-Status: Ungesund

Problem mit dem EKS-Add-On – AddonIssueCode: AddonIssueMessage

Informationen zu empfohlenen Schritten für einen bestimmten Add-On-Problemcode finden Sie unter. Troubleshooting steps for Addon creation/update error with Addon issue code

Eine Liste der Addon-Problemcodes, die bei diesem Problem auftreten könnten, finden Sie unter AddonIssue.

Die Erstellung des VPC-Endpoints ist fehlgeschlagen

Die Erstellung von VPC-Endpunkten wird für gemeinsam genutzte VPC nicht unterstützt vpcId

Runtime Monitoring unterstützt jetzt die Verwendung einer gemeinsam genutzten VPC innerhalb einer Organisation. Stellen Sie sicher, dass Ihre Konten alle Voraussetzungen erfüllen. Weitere Informationen finden Sie unter Voraussetzungen für die Verwendung einer gemeinsam genutzten VPC.

Nur wenn Sie eine gemeinsam genutzte VPC mit automatisierter Agentenkonfiguration verwenden

Für die Inhaber-Konto-ID 111122223333 für eine gemeinsam genutzte VPC vpcId ist weder die Laufzeitüberwachung noch die automatische Agentenkonfiguration oder beides aktiviert.

Das gemeinsame VPC-Besitzerkonto muss Runtime Monitoring und automatische Agentenkonfiguration für mindestens einen Ressourcentyp (Amazon EKS oder Amazon ECS (AWS Fargate)) aktivieren. Weitere Informationen finden Sie unter Spezifische Voraussetzungen für Runtime Monitoring GuardDuty.

Für die Aktivierung von privatem DNS müssen beide enableDnsSupport enableDnsHostnames VPC-Attribute auf true for vpcId (Service: Ec2, Status Code:400, Request-ID:) gesetzt sein. a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sie müssen jedoch sicherstellen, dass die folgenden VPC-Attribute auf true festgelegt sind: enableDnsSupport und enableDnsHostnames. Weitere Informationen finden Sie unter DNS-Attribute in Ihrer VPC.

Wenn Sie Amazon VPC Console unter verwenden, um die Amazon VPC https://console.aws.amazon.com/vpc/ zu erstellen, stellen Sie sicher, dass Sie sowohl DNS-Hostnamen aktivieren als auch DNS-Auflösung aktivieren auswählen. Weitere Informationen finden Sie unter VPC-Konfigurationsoptionen.

Das Löschen des gemeinsamen VPC-Endpoints ist fehlgeschlagen

Das Löschen eines gemeinsamen VPC-Endpunkts für Konto-ID111122223333, gemeinsame VPC vpcId und Besitzerkonto-ID ist nicht zulässig. 555555555555

Mögliche Schritte:
  • Die Deaktivierung des Runtime Monitoring-Status des gemeinsam genutzten VPC-Teilnehmerkontos hat keine Auswirkungen auf die gemeinsame VPC-Endpunktrichtlinie und die Sicherheitsgruppe, die im Besitzerkonto vorhanden ist.

    Um den gemeinsam genutzten VPC-Endpoint und die Sicherheitsgruppe zu löschen, müssen Sie Runtime Monitoring oder den automatisierten Agent-Konfigurationsstatus im gemeinsam genutzten VPC-Besitzerkonto deaktivieren.

  • Das gemeinsame VPC-Teilnehmerkonto kann den gemeinsam genutzten VPC-Endpunkt und die Sicherheitsgruppe, die im gemeinsamen VPC-Besitzerkonto gehostet werden, nicht löschen.

Lokale EKS-Cluster

EKS-Add-Ons werden auf lokalen Outpost-Clustern nicht unterstützt.

Nicht umsetzbar.

Weitere Informationen finden Sie unter Amazon EKS über Außenposten. AWS

Die Aktivierungsberechtigung für die EKS-Laufzeit-Überwachung wurde nicht erteilt

(kann zusätzliche Informationen anzeigen oder auch nicht)

  1. Wenn die zusätzlichen Informationen für dieses Problem verfügbar sind, beheben Sie die Ursache und folgen Sie dem nächsten Schritt.

  2. Schalten Sie die EKS-Laufzeit-Überwachung aus und dann wieder ein. Stellen Sie sicher, dass der GuardDuty Agent ebenfalls eingesetzt wird, entweder automatisch GuardDuty oder manuell.

Die Bereitstellung der Ressourcen zur Aktivierung der EKS-Laufzeit-Überwachung wird ausgeführt

(möglicherweise werden zusätzliche Informationen angezeigt)

Nicht umsetzbar.

Nachdem Sie die EKS-Laufzeit-Überwachung aktiviert haben, kann der Abdeckungsstatus Unhealthy bleiben, bis der Schritt der Ressourcenbereitstellung abgeschlossen ist. Der Abdeckungsstatus wird regelmäßig überwacht und aktualisiert.

Andere (jedes andere Problem)

Fehler aufgrund eines Fehlers bei der Autorisierung

Schalten Sie die EKS-Laufzeit-Überwachung aus und dann wieder ein. Stellen Sie sicher, dass der GuardDuty Agent ebenfalls bereitgestellt wird, entweder automatisch GuardDuty oder manuell.

Schritte zur Fehlerbehebung bei einem creation/update Addon-Fehler mit dem Addon-Problemcode

Fehler beim Erstellen oder Aktualisieren des Addons

Fehlerbehebungsschritte

EKS-Addon-Problem —InsufficientNumberOfReplicas: Das Add-on ist fehlerhaft, da es nicht die gewünschte Anzahl an Replikaten hat.

  • Anhand der Problemmeldung können Sie die Ursache identifizieren und beheben. Sie können damit beginnen, Ihren Cluster zu beschreiben. Verwenden Sie es beispielsweise, kubectl describe pods um die Ursache für den Pod-Ausfall zu identifizieren.

    Nachdem Sie die Ursache behoben haben, wiederholen Sie den Schritt (Erstellung oder Aktualisierung des Add-Ons).

  • Wenn das Problem weiterhin besteht, überprüfen Sie, ob der VPC-Endpunkt für Ihren Amazon EKS-Cluster korrekt konfiguriert ist. Weitere Informationen finden Sie unter Validierung der VPC-Endpunktkonfiguration.

EKS-Addon-Problem —InsufficientNumberOfReplicas: Das Add-on ist fehlerhaft, weil ein oder mehrere Pods nicht geplant sind. 0/x Knoten sind verfügbar:. x Insufficient cpu. preemption: not eligible due to preemptionPolicy=Never

Um dieses Problem zu beheben, können Sie eine der folgenden Aktionen ausführen:

Anmerkung

Die Meldung wird angezeigt0/x, weil GuardDuty nur der erste gefundene Fehler gemeldet wird. Die tatsächliche Anzahl der laufenden Pods im GuardDuty Daemonset kann größer als 0 sein.

EKS-Addon-Problem -InsufficientNumberOfReplicas: Das Add-on ist fehlerhaft, weil ein oder mehrere Pods nicht geplant sind. 0/x Knoten sind verfügbar:. x Too many pods. preemption: not eligible due to preemptionPolicy=Never

EKS-Addon-Problem -InsufficientNumberOfReplicas: Das Add-on ist fehlerhaft, weil ein oder mehrere Pods nicht geplant sind. 0/x Knoten sind verfügbar:. 1 Insufficient memory. preemption: not eligible due to preemptionPolicy=Never

EKS-Addon-Problem —InsufficientNumberOfReplicas: Das Add-on ist fehlerhaft, weil auf einem oder mehreren Pods Container warten CrashLoopBackOff: Completed

Sie können die mit dem Pod verknüpften Protokolle einsehen und das Problem identifizieren. Informationen dazu finden Sie unter Debuggen laufender Pods in der Kubernetes-Dokumentation.

Verwenden Sie die folgende Checkliste, um dieses Add-On-Problem zu beheben:

  • Vergewissern Sie sich, dass Runtime Monitoring aktiviert ist.

  • Stellen Sie sicher, dass dieVoraussetzungen für die Unterstützung von Amazon EKS-Clustern, wie z. B. verifizierte Betriebssystemverteilungen und unterstützte Kubernetes-Versionen, erfüllt sind.

  • Wenn Sie den Security Agent manuell verwalten, stellen Sie sicher, dass Sie einen VPC-Endpunkt für alle VPCs erstellt haben. Wenn Sie die GuardDuty automatische Konfiguration aktivieren, sollten Sie trotzdem überprüfen, ob der VPC-Endpoint erstellt wird. Zum Beispiel, wenn Sie eine gemeinsam genutzte VPC in einer automatisierten Konfiguration verwenden.

    Informationen zur Überprüfung finden Sie unterValidierung der VPC-Endpunktkonfiguration.

  • Vergewissern Sie sich, dass der GuardDuty Security Agent das private DNS des GuardDuty VPC-Endpunkts auflösen kann. Informationen zu den Endpunkten finden Sie unter Private DNS-Namen für Endpunkte in. Verwaltung der GuardDuty Sicherheitsagenten

    Dazu können Sie entweder nslookup das Tool unter Windows oder Mac oder das dig Tool unter Linux verwenden. Wenn Sie nslookup verwenden, können Sie den folgenden Befehl verwenden, nachdem Sie die Region durch Ihre Region us-west-2 ersetzt haben:

    nslookup guardduty-data.us-west-2.amazonaws.com
  • Stellen Sie sicher, dass Ihre GuardDuty VPC-Endpunktrichtlinie oder die Service Control-Richtlinie keine Auswirkungen auf die Aktion hat. guardduty:SendSecurityTelemetry

EKS-Addon-Problem —InsufficientNumberOfReplicas: Das Add-on ist fehlerhaft, weil auf einem oder mehreren Pods Container warten CrashLoopBackOff: Error

Sie können die mit dem Pod verknüpften Protokolle einsehen und das Problem identifizieren. Informationen dazu finden Sie unter Debuggen laufender Pods in der Kubernetes-Dokumentation.

Nachdem Sie das Problem identifiziert haben, verwenden Sie die folgende Checkliste, um das Problem zu beheben:

EKS-Addon-Problem -AdmissionRequestDenied: Der Zugangswebhook hat die Anfrage "validate.kyverno.svc-fail" abgelehnt: Richtlinie DaemonSet/amazon-guardduty/aws-guardduty-agent für Ressourcenverstöße: restrict-image-registries::... autogen-validate-registries

  1. Der Amazon EKS-Cluster oder der Sicherheitsadministrator müssen die Sicherheitsrichtlinie überprüfen, die das Addon-Update blockiert.

  2. Sie müssen entweder den Controller (webhook) deaktivieren oder den Controller die Anfragen von Amazon EKS akzeptieren lassen.

EKS-Addon-Problem —ConfigurationConflict: Beim Versuch, sich zu bewerben, wurden Konflikte festgestellt. Wird aufgrund des Konfliktlösungsmodus nicht fortgesetzt. Conflicts: DaemonSet.apps aws-guardduty-agent - .spec.template.spec.containers[name="aws-guardduty-agent"].image

Wenn Sie das Addon erstellen oder aktualisieren, geben Sie das OVERWRITE Konfliktlösungs-Flag an. Dadurch werden möglicherweise alle Änderungen überschrieben, die mithilfe der Kubernetes-API direkt an den zugehörigen Ressourcen in Kubernetes vorgenommen wurden.

Sie können zuerst ein Amazon EKS-Add-on aus einem Cluster entfernen und dann erneut installieren.

EKS-Addon-Problem - AccessDenied: priorityclasses.scheduling.k8s.io "aws-guardduty-agent.priorityclass" is forbidden: User "eks:addon-manager" cannot patch resource "priorityclasses" in API group "scheduling.k8s.io" at the cluster scope

Sie müssen die fehlende Berechtigung eks:addon-cluster-admin ClusterRoleBinding manuell hinzufügen. Fügen Sie Folgendes yaml hinzueks:addon-cluster-admin:

--- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eks:addon-cluster-admin subjects: - kind: User name: eks:addon-manager apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io ---

Sie können dies jetzt mit yaml dem folgenden Befehl auf Ihren Amazon EKS-Cluster anwenden:

kubectl apply -f eks-addon-cluster-admin.yaml

AddonUpdationFailed: EKSAddonIssue - AccessDenied: namespaces\"amazon-guardduty\"isforbidden:User\"eks:addon-manager\"cannotpatchresource\"namespaces\"inAPIgroup\"\"inthenamespace\"amazon-guardduty\"

EKS-Addon-Problem - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [all-namespace-must-have-label-owner] All namespaces must have an `owner` label

Sie müssen entweder den Controller deaktivieren oder dafür sorgen, dass der Controller die Anfragen vom Amazon EKS-Cluster akzeptiert.

Bevor Sie das Add-on erstellen oder aktualisieren, können Sie auch einen GuardDuty Namespace erstellen und ihn als owner kennzeichnen.

EKS-Addon-Problem - AccessDenied: admission webhook "validation.gatekeeper.sh" denied the request: [allowed-container-registries] container <aws-guardduty-agent> has an invalid image registry

Fügen Sie die Image-Registrierung für GuardDuty allowed-container-registries in Ihrem Admission Controller hinzu. Weitere Informationen finden Sie im ECR-Repository für EKS v1.8.1-eks-build.2 in. Amazon ECR-Repository-Hosting-Agent GuardDuty