Amazon EventBridge란 무엇입니까? - Amazon EventBridge

Amazon EventBridge란 무엇입니까?

Amazon EventBridge는 다양한 소스의 데이터와 애플리케이션을 쉽게 연결할 수 있는 서버리스 이벤트 버스 서비스입니다. EventBridge는 자체 애플리케이션, SaaS(Software-as-a-Service) 애플리케이션 및 AWS 서비스의 실시간 데이터 스트림을 제공한 다음, 해당 데이터를 AWS Lambda 등의 대상으로 라우팅합니다. 데이터를 전송할 대상을 결정하는 라우팅 규칙을 설정하여 모든 데이터 원본에 실시간으로 대응하는 애플리케이션 아키텍처를 구축할 수 있습니다. EventBridge를 사용하면 느슨하게 결합되고 분산된 이벤트 중심 아키텍처를 구축할 수 있습니다.

EventBridge은 이전에 Amazon CloudWatch Events였습니다. SaaS 파트너 및 자체 애플리케이션에서 이벤트를 수신할 수 있는 새로운 기능이 포함되어 있습니다. 기존 CloudWatch 이벤트 사용자는 새 EventBridge 콘솔과 CloudWatch 이벤트 콘솔에서 기존 기본 버스, 규칙 및 이벤트에 액세스할 수 있습니다. EventBridge는 동일한 CloudWatch 이벤트 API를 사용하므로 모든 기존 CloudWatch 이벤트 API 사용량은 동일하게 유지됩니다.

EventBridge를 위한 대상으로서 다음과 같은 AWS 리소스를 구성할 수 있습니다.

  • Lambda 함수

  • Amazon EC2 인스턴스

  • Amazon Kinesis Data Streams의 스트림

  • Amazon Kinesis Data Firehose의 전송 스트림

  • Amazon CloudWatch Logs의 로그 그룹

  • Amazon ECS 작업

  • 시스템 관리자 Run Command

  • 시스템 관리자 자동화

  • AWS Batch 작업

  • AWS Step Functions 상태 시스템

  • AWS CodePipeline의 파이프라인

  • AWS CodeBuild 프로젝트

  • Amazon Inspector 평가 템플릿

  • Amazon SNS 주제

  • Amazon SQS 대기열

  • 기본 제공 대상 - EC2 CreateSnapshot API call, EC2 RebootInstances API call, EC2 StopInstances API callEC2 TerminateInstances API call.

  • 다른 AWS 계정의 기본 이벤트 버스

개념

EventBridge 사용을 시작하기 전에 다음 개념을 이해해야 합니다.

  • 이벤트 – 이벤트는 환경의 변화를 나타냅니다. 즉, AWS 환경, SaaS 파트너 서비스나 애플리케이션 또는 사용자 지정 애플리케이션이나 서비스일 수 있습니다. 예를 들어 Amazon EC2는 EC2 인스턴스의 상태가 보류에서 실행으로 변경될 때 이벤트를 생성하며, Amazon EC2 Auto Scaling은 인스턴스가 시작 또는 종료될 때 이벤트를 생성합니다. AWS CloudTrail은 API가 호출될 때 이벤트를 게시합니다. 또한 정기적으로 생성되는 예약 이벤트를 설정할 수도 있습니다. 각 서비스에서 이벤트와 샘플 이벤트를 생성하는 서비스의 목록은 EventBridge 지원되는 AWS 서비스의 이벤트 예제 단원을 참조하십시오.

  • 규칙 – 규칙은 들어오는 이벤트에서 일치하는 것을 찾아서 대상으로 라우팅하여 처리합니다. 단일 규칙으로 여러 개의 대상으로 라우팅을 할 수 있으며, 이들은 모두 병렬 처리됩니다. 규칙이 처리되는 특정한 순서는 없습니다. 따라서 한 조직의 서로 다른 부분들이 자신이 관심 있는 이벤트를 찾아서 처리할 수 있습니다. 규칙은 특정 부분만 전달하거나 상수로 덮어쓰기를 해서 대상에 전송된 JSON을 사용자 지정할 수 있습니다.

  • 대상 – 대상은 이벤트를 처리합니다. Amazon EC2 인스턴스, Lambda 함수, Kinesis 스트림, Amazon ECS 작업, Step Functions 상태 시스템, Amazon SNS 주제, Amazon SQS 대기열, 기본 제공 대상 등이 여기에 해당됩니다. 대상은 JSON 형식으로 이벤트를 수신합니다.

    규칙의 대상은 규칙과 같은 리전에 있어야 합니다.

  • 이벤트 버스 – 이벤트 버스는 이벤트를 수신합니다. 규칙을 생성할 때 해당 규칙을 특정 이벤트 버스와 연결해야 하며, 규칙은 해당 이벤트 버스가 수신한 이벤트에만 일치하게 됩니다.

    계정에는 AWS 서비스로부터 이벤트를 수신하는 하나의 기본 이벤트 버스가 있습니다. 사용자 정의 애플리케이션에서 이벤트를 수신할 사용자 지정 이벤트 버스를 생성할 수 있습니다. SaaS 파트너 애플리케이션에서 이벤트를 수신할 파트너 이벤트 버스를 생성할 수도 있습니다.

  • Partner event sources(파트너 이벤트 소스) – 파트너 이벤트 소스는 AWS 파트너가 AWS 고객 계정으로 이벤트를 보내는 데 사용됩니다. 이러한 이벤트를 수신하려면 고객이 이벤트 버스를 파트너 이벤트 소스와 연결해야 합니다.

EventBridge에서 다음 서비스를 사용할 수 있습니다.

  • AWS CloudTrail은 AWS Management 콘솔, AWS CLI 및 기타 서비스를 통해 이루어진 호출을 포함하여 계정에서 EventBridge API에 대한 호출을 모니터링할 수 있도록 합니다. CloudTrail 로깅이 활성화되면 EventBridge는 S3 버킷에 로그 데이터를 기록합니다. 각 로그 파일에는 하나 이상의 레코드가 포함이 되며, 요청을 충족하기 위해 수행되는 작업의 수에 따라 그 수가 결정됩니다. 자세한 내용은 Amazon EventBridge의 로깅 및 모니터링 단원을 참조하십시오.

  • AWS CloudFormation은 AWS 리소스를 모델링 및 설정할 수 있도록 해줍니다. 필요한 모든 AWS 리소스를 설명하는 템플릿을 생성하면 AWS CloudFormation이 해당 리소스의 프로비저닝과 구성을 담당합니다. AWS CloudFormation 형식의 EventBridge 규칙을 사용할 수 있습니다. 자세한 내용은 AWS CloudFormation 사용 설명서AWS::Events::Rule을 참조하십시오.

  • AWS Config는 AWS 리소스에 대한 구성 변경을 기록할 수 있도록 해줍니다. 여기에는 리소스 간의 관계와 과거 리소스가 구성된 방법이 포함되므로 시간이 지나면서 구성과 관계가 어떻게 변하는지 확인할 수 있습니다. 또한 AWS Config 규칙을 생성해서 규칙을 준수하거나 준수하지 않는 리소스 유형과 조직의 정책을 확인할 수 있습니다. 자세한 내용은 AWS Config 개발자 안내서를 참조하십시오.

  • AWS Identity and Access Management(IAM)은 사용자를 위해 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있도록 해줍니다. IAM을 사용하여 AWS 리소스를 사용할 수 있는 사람을 제어(인증)하고 해당 사용자가 사용할 수 있는 리소스 및 사용 방법을 제어(권한 부여)할 수 있습니다. 자세한 내용은 Amazon EventBridge의 자격 증명 및 액세스 관리 단원을 참조하십시오.

  • Amazon Kinesis Data Streams는 빠르고 지속적인 데이터 인테이크 및 집계를 지원합니다. 사용되는 데이터 유형으로는 IT 인프라 로그 데이터, 애플리케이션 로그, 소셜 미디어, 시장 데이터 피드, 웹 클릭스트림 데이터 등이 있습니다. 데이터 인테이크 및 처리에 대한 응답이 실시간으로 이루어지기 때문에 일반적으로 간소화된 방식으로 처리가 됩니다. 자세한 내용은 Amazon Kinesis Data Streams 개발자 안내서를 참조하십시오.

  • AWS Lambda는 새 정보에 신속하게 응답하는 애플리케이션을 구축할 수 있도록 해줍니다. Lambda 함수 형태로 애플리케이션 코드를 업로드하면 Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행합니다. Lambda는 서버 및 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 코드 모니터링 및 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다. 자세한 내용은 AWS Lambda Developer Guide 단원을 참조하십시오.