LoginSignup
3
0

CloudWatch Logs出力設定エラー 解消方法

Last updated at Posted at 2024-03-15

■発生事象

新規にRedisのスローログをCloudWatch Logsへ出力する設定を行ったところ、設定時にエラーは発生しなかったものの、ログのステータスが「Error」と表示され、CloudWatch Logsへの出力が確認できませんでした。
image.png
エラーの原因と解消方法について、記事に残したいと思います。

■原因

AWSでCloudWatch Logs出力設定を行う際、通常はAWS側で自動的に生成されるリソースポリシーにロググループ名が追加されます。
しかし、今回のケースでは、自動で生成されるポリシーの文字数制限(5120文字)を超過していたため、リソースポリシーにロググループ名が追加されず、CloudWatch Logsにログが出力されない状況でした。

なお、すべてのサービスが自動生成の対象ではありません。
以下のページを参照し、CloudWatch Logsの列にて「[V1 アクセス許可]」もしくは「[V2 アクセス許可]」と記載されているサービスが対象となります。

■リソースポリシー確認方法

CloudWatch logのリソースポリシーはAWSコンソールのIAMポリシーには表示されません。AWS CloudShellなどでAWS CLIを使用することで、確認することができます。

$ aws logs describe-resource-policies

■対処方法

文字数上限が近づくと、自動的にAWS側でポリシー内に「/aws/vendedlogs/*」を追加します。
そのため、「/aws/vendedlogs/」配下にロググループ名を指定することで、CloudWatch Logsへの出力が可能です。
image.png

また、ロググループやリソースを削除した場合でも、リソースポリシーの記述は自動的には削除されません。
リソースポリシー内の記述をまとめるのも、対処として有効です。

■まとめ

CloudWatch Logsへのログ出力設定を行う際には、ポリシーの文字数制限を意識する必要があります。また、設定時にエラーが発生した場合は、AWS CLIを使用してリソースポリシーを確認し、対処を講じる必要があります。

本記事が少しでもお役に立てれば幸いです。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0