AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

CloudFormation スタックが作成した Lambda 関数でイベントブリッジトリガーが表示されない理由を知りたいです。

所要時間1分
0

AWS CloudFormation スタックが作成した AWS Lambda 関数で Amazon EventBridge イベントルールトリガーを確認したいです。

簡単な説明

CloudFormation スタックを使用して AWS::Events::Rule および AWS::Lambda::Function リソースを作成しても、Lambda コンソールにイベントルールトリガーが表示されない場合があります。これは通常、EventBridge に Lambda 関数を呼び出すためのアクセス許可がない場合に発生します。イベントルールリソースが CloudFormation スタックの外部から削除された場合にも発生する可能性があります。

解決策

EventBridge に Lambda 関数を呼び出すためのアクセス許可が欠けている

CloudFormation スタックの AWS::Lambda::Permission リソースを使用して、ターゲット Lambda 関数のリソースベースのポリシーに lambda:InvokeFunction アクセス許可を追加します。

たとえば、次のリソースを使用して、Lambda 関数を呼び出すためのアクセス許可を EventRule リソースに付与します。

PermissionForEventsToInvokeLambda:   
  Type: AWS::Lambda::Permission  
  Properties:   
    FunctionName: !Ref LambdaFunction    
    Action: lambda:InvokeFunction  
    Principal: events.amazonaws.com  
    SourceArn: !GetAtt EventRule.Arn   

アクセス許可を付与すると、イベントルールトリガーが Lambda コンソールに表示されます。

イベントルールリソースが CloudFormation スタックの外部から削除されている

EventBridge イベントルールが CloudFormation スタックの外部から削除されると、そのイベントルールは Lambda トリガーに表示されません。

この問題を解決するには、テンプレート内のリソースの論理 ID を変更してリソースを再作成します。

関連情報

AWS::Lambda::Permission

イベントに応答して Lambda 関数を呼び出す

AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません