내용으로 건너뛰기

CloudFormation 스택이 생성한 Lambda 함수의 EventBridge 트리거를 볼 수 없는 이유는 무엇입니까?

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 권한을 추가합니다.

예를 들어 다음 리소스를 사용하여 EventRule 리소스에 Lambda 함수를 호출할 권한을 부여합니다.

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

권한을 부여하면 Lambda 콘솔에 이벤트 규칙 트리거가 나타납니다.

이벤트 규칙 리소스가 CloudFormation 스택 외부에서 삭제됨

CloudFormation 스택 외부에서 EventBridge 이벤트 규칙을 삭제하면 Lambda 트리거에 이벤트 규칙이 표시되지 않습니다.

이 문제를 해결하려면 템플릿에서 리소스의 논리적 ID를 변경하여 리소스를 다시 생성하십시오.

관련 정보

AWS::Lambda::Permission

이벤트에 대한 응답으로 Lambda 함수 호출

AWS 공식업데이트됨 3년 전