Amazon CloudWatch Events란? - Amazon CloudWatch Events

Amazon CloudWatch Events란?

참고

Amazon EventBridge는 이벤트를 관리하는 데 선호되는 방법입니다. CloudWatch Events와 EventBridge는 기본 서비스 및 API가 동일하지만 EventBridge가 더 많은 기능을 제공합니다. CloudWatch 또는 EventBridge에서 변경한 내용은 각 콘솔에 나타납니다. 자세한 내용은 Amazon EventBridge를 참조하세요.

Amazon CloudWatch Events는 Amazon Web Services(AWS) 리소스의 변경 사항을 설명하는 시스템 이벤트의 스트림을 거의 실시간으로 전달합니다. 신속하게 설정할 수 있는 단순 규칙을 사용하여 일치하는 이벤트를 검색하고 하나 이상의 대상 함수 또는 스트림으로 이를 라우팅할 수 있습니다. CloudWatch Events는 운영 변경 사항이 발생할 때 이를 인식하게 됩니다. 또한 CloudWatch Events는 환경에 응답하기 위한 메시지를 전송하고 함수를 활성화하고 변경을 수행하고 상태 정보를 기록하는 등 이러한 운영 변경 사항에 응답하고 필요에 따라 교정 조치를 취합니다.

또한 CloudWatch Events를 사용하여 Cron 또는 Rate 식을 통해 특정 시간에 자체 트리거되는 자동 작업을 예약할 수 있습니다. 자세한 정보는 규칙에 대한 예약 표현식을 참조하세요.

CloudWatch Events를 위한 대상으로서 다음과 같은 AWS 서비스를 구성할 수 있습니다.

  • Amazon EC2 인스턴스

  • AWS Lambda 함수

  • Amazon Kinesis Data Streams의 스트림

  • Amazon Kinesis Data Firehose의 전송 스트림

  • Amazon CloudWatch Logs의 로그 그룹

  • Amazon ECS 작업

  • Systems Manager Run Command

  • Systems Manager 자동화

  • AWS Batch 작업

  • Step Functions 상태 시스템

  • CodePipeline의 파이프라인

  • CodeBuild 프로젝트

  • Amazon Inspector 평가 템플릿

  • Amazon SNS 주제

  • Amazon SQS 대기열

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

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

Concepts

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

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

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

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

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

다음 서비스가 CloudWatch Events와 함께 사용됩니다.

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

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

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

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

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

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