◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇
EventBridge는 CloudWatch Events를 기반으로 기능을 추가한 것이기 때문에, CloudWatch Events의 API와 규칙 등을 계속해서 사용할 수 있다.
Amazon EventBridge
Amazon EventBridge는 AWS의 리소스 상태 변화나 스케줄링(특정 시간)에 따라 작업을 실행할 수 있는 서비스이다.
EventBridge는 다양한 소스(AWS 서비스, 애플리케이션 등)에서 이벤트를 수집하고, 이를 특정 AWS 서비스로 전달한다.
EventBridge를 이용하면, 관리자는 다음과 같은 운영을 할 수 있다.
- 예시) EC2 인스턴스가 실행 상태(running)에서 정지 상태(stopped)로 변경될 때 재시작한다.
- 예시) 매일 정해진 시각에 애플리케이션 로그를 수집하고 압축하는 Lambda 함수를 호출한다.
EventBridge의 주요 기능
EventBridge는 서버리스(Serverless)의 Event Bus 서비스이다.
- Event Source (이벤트 소스)
- Event Bus (이벤트 버스)
- Event Rule (이벤트 규칙)
- Target (타겟)
🗂️ Event Source (이벤트 소스)
EventBridge가 이벤트를 수집하는 곳이다. 다양한 AWS 서비스, SaaS 애플리케이션 및 사용자 정의 애플리케이션에서 발생하는 이벤트를 EventBridge로 전달할 수 있다.
- AWS 서비스 (예: EC2, S3, Lambda)
- SaaS 애플리케이션 (예: Zendesk, Datadog, Shopify)
- 사용자 정의 애플리케이션 (예: 개발자가 만든 애플리케이션에서 커스텀 이벤트)
🎯 Target (타겟)
EventBridge는 수집된 이벤트를 Target을 통해 다양한 AWS 서비스에 전달할 수 있다.
Target은 여러 개가 될 수 있으며, 하나의 이벤트가 여러 서비스로 동시에 전달될 수 있다.
Target 예시) Lambda, SNS, SQS, Kinesis Data Streams, Kinesis Data Firehose, Step Functions
🚌 Event Bus (이벤트 버스)
Event Bus는 다양한 Event Source에서 생긴 이벤트를 수집하고 이를 여러 Target에게 전달하는 시스템이다.
왜 "버스(Bus)"라고 부르나요?
"버스"라는 용어는 컴퓨터 공학에서 데이터 전송 경로를 나타내는 용어에서 유래되었다.
Event Bus 종류
- (Default) 기본 이벤트 버스: AWS 서비스에서 발생하는 이벤트를 수집하는 기본 버스이다.
- (Custom) 커스텀 이벤트 버스: 사용자 정의 애플리케이션에서 발생하는 이벤트를 수집.
- (Partner) 파트너 이벤트 버스: SaaS 애플리케이션과의 통합을 통해 직접 이벤트를 수집할 수 있다.
📜 Event Rules (이벤트 규칙)
이벤트 버스에 도착한 이벤트가 어디로 전달될지 결정하는 규칙을 정의한다.
규칙은 이벤트 패턴에 맞는 이벤트를 감지하여 특정 작업을 실행하도록 설정된다.
예를 들어, S3에서 파일이 업로드되면 Lambda 함수를 호출하는 규칙을 만들 수 있다.
AWS 계정 간에 Events 주고 받기
EventBridge는 AWS 계정 간에 이벤트를 주고받을 수 있는 기능을 제공한다.
이를 통해 여러 AWS 계정 간에 시스템 상태, 이벤트, 로그 등을 공유할 수 있다.
EventBridge의 계정 간 이벤트 전송은 주로 복잡한 애플리케이션이나 분산된 환경에서 계정 간에 이벤트를 트리거하고 처리하는 데 유용하다.
https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html