모니터링 - EventBridge

이기태·2024년 8월 9일
0

AWS

목록 보기
47/62

Amazon EventBridge [▲]

  • 클라우드에서 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 함수의 버그를 수정할 때 수정 후에 이벤트를 다시 테스트하고 재생
    이때 아카이브된 이벤트를 재생하면 된다. -> 디버깅, 트러블 슈팅, 프로덕션 수정에 유용

EventBridge - Schema Registry

  • 스키마 레지스트리
    EventBridge는 버스의 이벤트를 분석하고 스키마를 추론하는 능력
  • 스키마 레지스트리의 스키마를 사용하면 애플리케이션의 코드 생성과 이벤트 버스의 데이터가 어떻게 정형화되는지 미리 알 수 있음.
    ex) 특정 코드 파이프라인 작업의 스키마

    - 주황색 버튼을 눌러 코드를 다운로드하면 EventBridge가 이벤트 버스로부터 스키마 추론 방법과 데이터의 정형화 방식을 파악 가능
    - 스키마 버저닝이 가능해 애플리케이션의 스키마를 반복할 수 있다.

EventBridge - 리소스 기반 정책

  • 특정 이벤트 버스의 권한을 관리
    ex) 특정 이벤트 버스가 다른 리전이나 다른 계정의 이벤트를 허용/거부 하도록 설정
  • 리소스 기반 정책 사용 사례
    • 여러 계정의 모음인 AWS Organizations의 중앙에 이벤트 버스를 두고 모든 이벤트를 모은다.
    • 작동 방식
      - central-event-bus 계정에 다른 계정이 이벤트를 보낼 수 있도록 리소스 기반 정책을 추가하면 오른쪽 같은 다른 계정에서 PutEvents 작업을 통해 이벤트를 central-event-bus로 전송할 수 있다.

0개의 댓글

관련 채용 정보