클라우드에서 CRON 작업 예약
스크립트 예약 가능
ex) 1 시간마다 Lambda 함수 트리거
그리고 이벤트 패턴에 반응할 수 있다.
특정 작업을 수행하는 서비스에 반응하는 이벤트 규칙이 있다.
ex) 콘솔의 IAM 루트 사용자 로그인 이벤트에 반응할 수 있다.
이벤트가 발생하면 SNS 주제로 메시지를 보내고 이메일 알림을 받을 수 있음.
누군가 루트 계정을 사용하면 이메일을 받을 수 있어 계정 보안 기능으로 좋다.
대상(destination)이 다양하다면 Lambda 함수를 트리거해 SQS, SNS 메시지 등을 보낼 수 있다.
Amazon EventBridge Rules
- EventBridge가 중앙에 있고, EventBridge로 보낼 다양한 소스가 있다.
> EC2 인스턴스에서 시작, 중단,종료
> 실패한 빌드는 CodeBuild에서
> 객체 업로드 이벤트가 발생할 때는 S3
> 계정의 새 보안 문제는 Trusted Advisor에서 가져온다.
> 추가적으로 EventBridge와 CloudTrail과 연동하는것이 좋다.
AWS 계정에서 생성된 API 호출을 모두 가로채 아주 유용하다.
> 일정 및 CRON 작업 예약 가능
- 소스에서 EventBridge로 넘길때 필터를 설정할 수 있다.
- EventBridge는 이벤트의 세부사항을 나타내는 JSON 문서를 생성할 건데
어떤 인스턴스가 이 ID로 실행되는지, 시간, IP 등의 정보가 담긴다.
이 JSON 문서 생성이 끝나면 다양한 대상으로 전송하고 통합 가능하다.
- 전송 대상
> Lambda 함수를 트리거하는 일정을 예약
> AWS Batch에서 배치 작업 예약
> ECS Task
> SQS, SNS, Kinesis Data Streams로 메시지를 보내기
> 단계 함수를 실행 (Step Functions, CodePipeline, CodeBuild)
> SSM으로 자동화
> EC2 작업 실행(시작, 중지, 재개 등..)
기본 이벤트 버스 vs 파트너 이벤트 버스 vs 사용자 지정 이벤트 버스
- 기본 이벤트 버스: 위 서비스들 사용 가능 -> 계정에 기본값으로 생성된 이벤트 버스
> 이벤트 아카이브 활성화: 이벤트를 영구적으로 보관 가능
> 스키마 검색 활성화: 자동화로 만들 수 있음.
> 이벤트 버스에 교차 계정 액세스가 필요하다면 템플릿에 따라 리소스 기반 정책을 정의
전부 수정 해야함
- 파트너 이벤트 버스: 파트너와 통합된 AWS 서비스를 말함
파트너 = 소프트웨어 서비스 제공자
이 파트너는 파트너 이벤트 버스로 이벤트를 전송한다.
ex) Zendesk, Datadog, Auth0 등등...
이런 파트너 이벤트 버스로 이벤트를 전송할 수 있고, 계정을 통해 AWS 외부에서 일어나는 변화에 반응할 수 있게 된다.
- 사용자 지정 이벤트 버스: 자체 버스 생성
사용자의 애플리케이션의 자체 이벤트를 사용자 지정 이벤트 버스로 전송
- Amazon EventBridge 규칙으로 다른 이벤트 버스처럼 여러 대상으로 이벤트를 보낼 수 있음.
리소스 기반 정책을 사용해 다른 계정의 이벤트 버스에 액세스할 수 있음.
이벤트 아카이빙 가능
모두 또는 필터링된 서브셋을 아카이빙
이를 통해 아카이브된 이벤트를 재생할 수 있다.
ex) Lambda 함수의 버그를 수정할 때 수정 후에 이벤트를 다시 테스트하고 재생
이때 아카이브된 이벤트를 재생하면 된다. -> 디버깅, 트러블 슈팅, 프로덕션 수정에 유용