EventBriegeで設定したscheduleタスクが実行されない

0

Lambda上でデータをS3へ格納するPythonプログラムを記述しています。 このタスクをeventBridgeにてschedule実行されるよう設定しているのですが、実行されません。 以下、確認しています。足りない設定があれば伺いたいです。

  • lambdaから手動実行して、S3に問題なく格納される
  • eventBridge側では、1分ごとに実行されるようにしており、サマータイムは指定していない。
  • 実行ロールに下記の信頼関係を記述している。
{
            "Effect": "Allow",
            "Principal": {
                "Service": "scheduler.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },

・lambdaのポリシーに下記を設定している。

{
  "ArnLike": {
    "AWS:SourceArn": "eventBridgeのscheduleのARN"
  }
}
質問済み 1ヶ月前62ビュー
2回答
0
承認された回答

EventBridge Schedulerに設定しているIAMポリシーにLambdaを実行する権限 ("lambda:InvokeFunction") は設定されていますでしょうか?
https://qiita.com/shimabee/items/9cc7451eff44ef7f4769#eventbridge-%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AE%E8%A8%AD%E5%AE%9A

EventBridge Schedulerで設定している場合はLambdaのリソースベースポリシーで設定は不要だと思います。(EventBridge SchedulerのIAMロールでLambdaを実行する権限を付与すれば動くはずです)
https://aws.amazon.com/jp/blogs/compute/introducing-amazon-eventbridge-scheduler/

EventBridge ルールで設定されている場合は以下のドキュメントを参考に設定すれば動きます。(EventBridge Schedulerとルールは別物です)
https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-run-lambda-schedule.html#eb-schedule-create-rule

profile picture
エキスパート
回答済み 1ヶ月前
0

早速の回答ありがとうございます。ご記載いただいた方法「IAMポリシーにLambdaを実行する権限 ("lambda:InvokeFunction") 追加」で無事解決しました! Lambdaのリソースベースのポリシーは不要なのですね。大変助かりました、ありがとうございます。

回答済み 1ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ