Global outage event
If you’re experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
Wie behebe ich den CloudWatch-Fehler „Unable to enable logging. Policy document length breaking Cloudwatch Logs Constraints“, wenn ich versuche, eine AWS-Ressource zu erstellen?
Wenn ich versuche, eine AWS-Ressource zu erstellen, wird der Amazon-CloudWatch-Logs-Fehler „Unable to enable logging. Policy document length breaking Cloudwatch Logs Constraints“ angezeigt.
Kurzbeschreibung
Wenn du CloudWatch Logs für deine AWS-Services aktivierst oder eine neue AWS-Ressource erstellst, wird möglicherweise die folgende Fehlermeldung angezeigt:
„Unable to enable logging. Policy document length breaking CloudWatch Logs Constraints“
CloudWatch-Ressourcenrichtlinien haben eine maximal zulässige Zeichenlänge von 5120. Wenn deine Richtlinie mehr als 5120 Zeichen enthält, erhältst du den zuvor genannten Fehler. Du kannst die Fehlerdetails im AWS CloudTrail-Ereignisverlauf überprüfen.
Lösung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.
Du kannst nur die AWS-CLI verwenden, um die CloudWatch-Ressourcenrichtlinien zu überprüfen.
Gehe wie folgt vor, um deine aktuellen Ressourcenrichtlinien zu überprüfen und zu ändern:
-
Führe den AWS CLI-Befehl describe-resource-policies aus, um deine aktuellen CloudWatch-Ressourcenrichtlinien zu überprüfen:
aws logs describe-resource-policies --REGION-NAME > resource.jsonHinweis: Ersetze REGION-NAME durch deine AWS-Region.
-
Speichere die Ausgabe in einer JSON-Datei mit dem Namen resource.json.
-
Kopiere die Richtlinie AWSLogDeliveryWrite20150319 aus resource.json und füge die Richtlinie dann in einen Texteditor ein.
-
Gehe wie folgt vor, um die Anzahl der Zeichen in deiner Richtlinie zu reduzieren:
Entferne Einträge, die du nicht verwendest, wie Ressourcen und Protokollstreams.
Ersetze die Ressource Amazon-Ressourcennamen (ARNs) durch das Platzhalterzeichen *.
Hänge eine neue Ressourcenrichtlinie an, die über die erforderlichen Berechtigungen verfügt.Beispiel für eine Ressourcenrichtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:869614222995:log-group:aws-waf-logs-albwafs:log-stream:xyz", "arn:aws:logs:us-east-1:869614222995:log-group:aws-s3:log-stream:abc" ], "Condition": { "StringEquals": { "aws:SourceAccount": "869614222995" }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:us-east-1:869614222995:*" } } } ] }Hinweis: Das Beispiel zeigt eine Richtlinie mit zwei Ressourcen. Wenn die Ressourcenrichtlinie das Limit von 5120 Zeichen überschreitet, fügt CloudWatch der Richtlinie automatisch den Eintrag /aws/vendedlogs/* hinzu. Dann musst du neue Protokollgruppen mit dem Präfix /aws/vendedlogs/ erstellen. Wenn du benutzerdefinierte Protokollgruppennamen verwenden möchtest, bearbeite die Richtlinie so, dass sie deine spezifischen Ressourcennamen enthält. Achte darauf, dass du das Zeichenlimit einhältst.
-
Führe den AWS-CLI-Befehl put-resource-policy aus, um die Ressourcenrichtlinie AWSLogDeliveryWrite20150319 durch deine bearbeitete Version in resource.json zu ersetzen:
aws logs put-resource-policy --policy-document file://resource.json --POLICY-NAME AWSLogDeliveryWrite20150319Hinweis: Ersetze POLICY-NAME durch den Namen der Ressourcenrichtlinie, die du ersetzen möchtest.
Wenn du die neue Ressourcenrichtlinie hinzufügst, wird möglicherweise die folgende Fehlermeldung angezeigt, die sich auf CloudWatch-Kontingente bezieht:
„Error: creating CloudWatch Logs Resource Policy (name): operation error CloudWatch Logs: PutResourcePolicy, exceeded maximum number of attempts, https response error StatusCode: 400, RequestID: 3d123ce1-f123-4d12-12b8-abc1234ba1a9, LimitExceededException: Resource limit exceeded.“
Dein AWS-Konto kann für jede Region maximal 10 CloudWatch-Logs-Ressourcenrichtlinien enthalten. Du kannst dieses Kontingent nicht ändern. Um dieses Problem zu beheben, führe den AWS-CLI-Befehl delete-resource-policy aus, um eine vorhandene Richtlinie zu entfernen:
aws logs delete-resource-policy --policy-name POLICY-NAME
Hinweis: Ersetze POLICY-NAME durch den Namen der Ressourcenrichtlinie, die du löschen möchtest.
Wenn du in deiner Region weniger als 10 Ressourcenrichtlinien hast, kannst du eine neue Ressourcenrichtlinie erstellen.
Ähnliche Informationen
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr