Warum funktioniert meine AWS-Config-Regel nicht?

Lesedauer: 3 Minute
0

Meine AWS-Config-Regel funktioniert nicht. Wie kann ich das Problem beheben?

Behebung

Verschiedene Probleme können dazu führen, dass verwaltete AWS-Config-Regeln nicht funktionieren. Dazu gehören Elemente wie Berechtigungen, Ressourcenumfang oder Elemente zur Änderung der Konfiguration. Führen Sie die folgenden Schritte zur Fehlerbehebung durch, um Probleme mit AWS Config-Regeln zu beheben, die nicht funktionieren.

Hinweis: Wenn Sie beim Ausführen von Befehlen der AWS Command Line Interface (AWS CLI) Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS CLI verwenden.

Allgemeine Fehlerbehebung bei AWS Config-Regeln

  1. Stellen Sie sicher, dass Ihr Konfigurationsrekorder alle Ressourcentypen aufzeichnet, die Ihre Regel erfordert (z. B. AWS: :EC2: :Instance).
  2. Öffnen Sie die AWS Config-Konsole und wählen Sie dann im Navigationsbereich Regeln aus. Wenn im Feld Konformität Keine Ergebnisse gemeldet oder Keine Ressourcen im Geltungsbereich angezeigt werden, lesen Sie Schritt 8 unter Einrichten und Aktivieren einer von AWS verwalteten Regel.
  3. Wenn kein Evaluierungszeitpunkt gemeldet wird und darauf hinweist, dass Evaluationen fehlgeschlagen sind, überprüfen Sie den PutEvaluations-API-Aufruf in den AWS CloudTrail-Protokollen auf gemeldete Fehler.
  4. Öffnen Sie die AWS CloudTrail-Konsole und wählen Sie dann im Navigationsbereich die Option Eventverlauf aus. Um die Protokolle zu filtern, wählen Sie in der Dropdownliste die Option Eventquelle aus und geben Sie config.amazonaws.com in das Suchfeld ein. Überprüfen Sie die gefilterten Protokollergebnisse auf Fehler Zugriff verweigert.
  5. Wenn Sie AWS-Config-Regeln für periodische Trigger abrufen möchten, greifen Sie auf das Event-Verlaufs-Dashboard der CloudTrail-Konsole zu, um die relevanten Service-APIs für die Ressource zu überprüfen.
  6. Überprüfen Sie die spezifische Ressourcenkonfiguration und die Einhaltung der Zeitpläne. Bestätigen Sie, dass ein Konfigurationselement generiert wurde, um die Änderung der AWS Config-Regeln widerzuspiegeln, mit einem auf Konfigurationsänderungen basierenden Trigger.
  7. Vergewissern Sie sich, dass die Anforderungen an die Berechtigungen für die Rekorderrolle erfüllt sind. Diese Anmeldeinformationen werden verwendet, um die Ressourcenkonfiguration und die Veröffentlichungskonformität mithilfe der PutEvaluations-API zu beschreiben.
  8. Führen Sie den folgenden AWS-CLI-Befehl aus. Ersetzen Sie ConfigRuleName durch Ihren AWS Config-Regelnamen und ersetzen Sie RegionID durch Ihre AWS-Region. Überprüfen Sie in der Ausgabe den Wert LastErrorMessage.
aws configservice describe-config-rule-evaluation-status --config-rule-names ConfigRuleName --region RegionID

Problembehandlung bei benutzerdefinierten AWS Config-Regeln

Für benutzerdefinierte AWS Config-Regeln überprüfen Sie zusätzlich zu den vorherigen allgemeinen Schritten zur Fehlerbehebung Folgendes:

Die Fehlermeldung „Lambda-Funktion kann nicht ausgeführt werden“ weist darauf hin, dass der AWS Config-Service nicht berechtigt ist, die AWS Lambda-Funktion aufzurufen. Um diesen Fehler zu beheben, führen Sie den folgenden Befehl aus, um die erforderlichen Berechtigungen zu gewähren. Ersetzen Sie function\ _name durch Ihren Lambda-Funktionsnamen, RegionID durch Ihre AWS-Region und AWS-AccountID durch Ihre AWS-Konto-ID:

aws lambda add-permission --function-name function_name --region RegionID --statement-id allow_config --action lambda:InvokeFunction --principal config.amazonaws.com --source-account AWS-accountID

Im Folgenden finden Sie ein Beispiel für eine Ressourcenrichtlinie der Lambda-Funktion:

{
    "Version": "2012-10-17",
    "Id": "default",
    "Statement": [
        {
            "Sid": "allow_config",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "lambda-function-arn",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "AWS-accountID"
                }
            }
        }
    ]
}

Identifizieren Sie das PuteValuations-Ereignis, dessen Benutzernamenwert dem Lambda-Funktionsnamen entspricht. Einzelheiten finden Sie in der ErrorMessage.

  • Wenn die Rolle, die die Lambda-Funktion zum Ausführen des Codes verwendet, nicht autorisiert ist, config:putEvaluations auszuführen, fügen Sie der angegebenen Rolle die Berechtigungen hinzu.
  • Wenn die Berechtigungen korrekt sind, überprüfen Sie den Lambda-Funktionscode auf ausgelöste Ausnahmen. Weitere Informationen finden Sie in den Protokollen in der Amazon CloudWatch-Protokollgruppe (/aws/Lambda/FunctionName), die der Lambda-Funktion zugeordnet sind. Fügen Sie dem Code eine Print-Anweisung hinzu, um weitere Debugging-Logs zu generieren.

Verwandte Informationen

Warum kann ich keine Organisationskonfigurationsregeln erstellen oder löschen?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren