Amazon EventBridge 규칙을 사용하여 AWS CloudTrail API 직접 호출에 대한 사용자 지정 자동 응답을 만들려고 합니다.
간략한 설명
CloudTrail API 직접 호출에 대한 사용자 지정 작업 또는 알림을 구성하려면 이벤트와 일치하는 이벤트 패턴을 사용하여 EventBridge 규칙을 만드십시오.
해결 방법
CloudTrail 추적 생성
참고: 이벤트를 캡처하도록 CloudTrail 추적을 구성한 다음, 이벤트를 EventBridge로 전달해야 합니다. EventBridge 규칙은 유효한 이벤트 패턴 일치가 있는 경우에도 추적을 통해서만 시작됩니다.
CloudTrail 트레일을 만들려면 다음 단계를 완료하십시오.
- CloudTrail 콘솔을 엽니다.
- 추적으로 이동합니다.
- 규칙을 만들려는 리전에 추적이 이미 있는 경우 상태가 로깅으로 설정되어 있는지 확인합니다.
- 기존 추적이 없는 경우 추적 생성을 선택합니다.
- 추적 이름에 이름을 입력합니다.
- 스토리지 위치에서 새 S3 버킷 생성을 선택합니다.
- AWS KMS 별칭에 AWS Key Management Service(AWS KMS) 키의 별칭을 입력합니다.
- 다음을 선택합니다. 그런 다음, 다음을 다시 선택합니다.
- 추적 생성을 선택합니다.
자세한 내용은 CloudTrail 콘솔을 사용한 추적 생성을 참조하십시오.
EventBridge 규칙 및 이벤트 패턴 만들기
참고: 이 섹션의 예제에서는 Amazon Simple Queue Service(Amazon SQS) API 작업인 CreateQueue를 사용하여 이벤트를 생성합니다. Amazon SQS API 작업을 사용하는 경우 CloudTrail은 생성된 이벤트를 기록한 다음, 해당 이벤트를 기본 EventBridge 버스로 전달합니다.
EventBridge 규칙 및 이벤트 패턴을 만들려면 다음 단계를 완료하십시오.
- EventBridge 콘솔을 엽니다.
- 탐색 창에서 규칙을 선택합니다.
- 규칙 생성을 선택합니다.
- 규칙의 이름과 설명을 입력합니다(예: TestRule).
- 이벤트 버스에서 이 규칙에 연결할 이벤트 버스를 선택합니다. 규칙이 계정에서 발생하는 이벤트와 일치하도록 하려면 기본값을 선택합니다.
참고: 계정의 AWS 서비스가 이벤트를 만들면 이벤트는 계정의 기본 이벤트 버스로 이동합니다.
- 규칙 유형에서 이벤트 패턴이 있는 규칙을 선택합니다.
- 다음을 선택합니다.
- 이벤트 소스에서 AWS 서비스를 선택합니다.
- 이벤트 패턴을 선택합니다.
- 이벤트 소스에서 SQS를 선택합니다.
- 이벤트 유형에서 CloudTrail을 통한 AWS API 호출을 선택합니다.
- 특정 작업을 선택한 다음, CreateQueue를 입력합니다. 다음 예에서는 선택한 옵션에 따라 발생하는 이벤트 패턴을 보여 줍니다.
{ "source": ["aws.sqs"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["sqs.amazonaws.com"],
"eventName": ["CreateQueue"]
}
}
참고: 이벤트 패턴은 여러 필드(예: eventName 및 eventSource)를 필터링합니다. 이벤트 일치 항목에는 필드와 해당 값이 모두 포함되어야 합니다.
다음을 선택합니다.
대상 유형에서 AWS 서비스를 선택합니다.
대상 선택에서 Lambda 함수를 선택합니다.
목록에서 함수를 선택합니다.
다른 대상 추가를 선택합니다.
AWS 서비스 섹션에서 CloudWatch 로그 그룹을 선택합니다.
로그 그룹 선택에서 기존 로그 그룹을 선택하거나 새 로그 그룹을 생성합니다.
다음을 선택합니다. 그런 다음, 다음을 다시 선택합니다.
규칙 생성을 선택합니다.
EventBridge 규칙 검증
다음 단계를 완료하십시오.
- SQS 콘솔을 엽니다.
- 대기열 생성을 선택합니다.
- 유형에서 표준 대기열 유형을 선택합니다.
- 대기열 이름을 입력합니다.
- 다른 모든 옵션을 기본값으로 유지한 다음, 대기열 생성을 선택합니다.
- TriggeredRules, Invocations 및 FailedInvocations 지표를 사용하여 EventBridge 규칙이 대상을 트리거하고 호출했는지 확인합니다.
- 지표를 보려면 생성한 규칙으로 이동한 다음, 모니터링 탭을 엽니다. 또는 CloudWatch 콘솔의 AWS/Events 네임스페이스에서 지표를 볼 수 있습니다.
- Lambda 함수가 성공적으로 호출되었고 CloudWatch 로그 그룹이 이벤트를 캡처했는지 확인합니다.
- CloudWatch Logs 콘솔에서 대상 로그 그룹으로 이동합니다. 새 로그 스트림이 해당 로그 이벤트와 함께 표시됩니다.
관련 정보
자습서: CloudTrail을 통해 AWS API 직접 호출에 반응하는 EventBridge 규칙 생성
EventBridge 규칙의 사용자 지정 이벤트 패턴을 생성하려면 어떻게 해야 합니까?