[AWS] 다른 계정 or Region 에 이벤트가 발생했을 때, EventBridge 로 Event 전달하기
1. Problem
- AWS 에서는 서비스 Region 을 지정하여 서비스를 운영할 수 있습니다.
- 서비스들에서 발생한 Event 들은 EventBridge 를 통하여 다른 Event 를 Trigger 할 수 있습니다.
- 어떤 Region 에서 에러가 발생했을 때, 이와 다른 Region 에서 이 이벤트를 확인하여 처리하고 싶을 수 있습니다.
- 예를 들어, AWS 서비스 중에서는
글로벌
서비스로 운영되는 서비스들의 일부 Event 들이 Default 로 미국 동부 (버지니아 북부) us-east-1
로 전송됩니다.
- 서비스가 서울에서 운영되고 있어도 이벤트가 미국 동부로 전달되기 때문에, 미국 동부에서 이벤트를 잡아서 서울로 보내서 처리해야합니다.
- 이런 상황에서 이슈를 처리하려면 어떻게 해야할까요?
2. Solution
- 방법은 바로 EventBridge 의 대상(Target)을 다른 region 에 있는 EventBridge 로 정하는 것입니다.
- 아래의 이미지와 같이 EventBridge 의 대상에
다른 계정 또는 리전의 이벤트 버스
를 지정할 수 있습니다.
- 다른 지역의 ARN 정보를 입력한 후 등록하면 Event 가 발생했을 때, 정상적으로 Event 를 전달해줍니다.
- 예를 들어, 이렇게 동작할 수 있습니다.
- 미국에서 이벤트 발생 -> 미국 EventBridge 가 Event 감지 후 한국 EventBridge 호출 -> EventBridge 가 Event 감지 후 Trigger 발동(ex, lambda, sqs, sns 등)