Lambda のトリガーに設定した情報が Lambda コンソール上に表示されない原因を教えてください

Lambda のトリガーに設定した情報が Lambda コンソール上に表示されない原因を教えてください

2025.02.12

困っていた内容

CloudWatch Logs ロググループのサブスクリプションフィルターなどから Lambda 関数を起動するために Lambda にリソースベースのポリシーを追加しました。
しかし、Lambda コンソール上には Lambda のトリガーとして表示されていません。

Lambda のトリガーに設定した情報が Lambda コンソール上に表示されない原因を教えてください。

どう対応すればいいの?

リソースベースのポリシーにワイルドカードを含むトリガーは、Lambda コンソールに表示されない場合があります。

Lambda リソースベースのポリシーサイズ制限エラーの解決 | AWS re:Post

リソースベースのポリシーにワイルドカードを含むトリガーは、Lambda コンソールに表示されない場合があります。

サポートエンジニアがよく見る AWS Lambda についてのお悩み事 - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

なお、上記のワイルドカードを使用したリソースベースポリシーの設定を行った場合には、対象を一意に把握することができないためトリガーは表示されなくなりますが「トリガーの動作そのものに影響はない」という点も知っておくと、なお良いと思います!

上記 AWS 公式資料にも記載されている通りトリガーの動作に影響はないため、コンソール上の仕様であるとご認識ください。

やってみた

Lambda 関数に以下のようにワイルドカードでロググループを指定したリソースベースのポリシーを追加した場合、Lambda コンソール上にはトリガーとして表示されないことを確認できました。

{
  "Version": "2012-10-17",
  "Id": "default",
  "Statement": [
    {
      "Sid": "test",
      "Effect": "Allow",
      "Principal": {
        "Service": "logs.ap-northeast-1.amazonaws.com"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:ap-northeast-1:012345678901:function:test",
      "Condition": {
        "ArnLike": {
          "AWS:SourceArn": "arn:aws:logs:ap-northeast-1:012345678901:log-group:*"
        }
      }
    }
  ]
}

2025-02-12_10h35_08

一方、以下のようにロググループを特定できるリソースベースのポリシーであれば、Lambda コンソール上にはトリガーとして表示されることを確認できました。

{
  "Version": "2012-10-17",
  "Id": "default",
  "Statement": [
    {
      "Sid": "test",
      "Effect": "Allow",
      "Principal": {
        "Service": "logs.ap-northeast-1.amazonaws.com"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:ap-northeast-1:012345678901:function:test",
      "Condition": {
        "ArnLike": {
          "AWS:SourceArn": "arn:aws:logs:ap-northeast-1:012345678901:log-group:/aws/lambda/TranslateText:*"
        }
      }
    }
  ]
}

2025-02-12_10h37_19

参考資料

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.