Amazon CloudWatch의 기능

개요

Amazon CloudWatch는 AWS, 온프레미스, 하이브리드, 기타 클라우드 애플리케이션 및 인프라 리소스에 대한 데이터와 실행 가능한 인사이트를 제공하는 모니터링 및 관리 서비스입니다. 모든 성능 및 운영 데이터를 사일로(서버, 네트워크 또는 데이터베이스)에서 모니터링하는 대신 단일 플랫폼에서 로그와 지표 형태로 수집하고 액세스할 수 있습니다. CloudWatch에서는 전체 스택(애플리케이션, 인프라, 네트워크 및 서비스)을 모니터링하고 경보, 로그 및 이벤트 데이터를 사용하여 자동화된 조치를 취하고 평균 해결 시간(MTTR)을 단축할 수 있습니다. 따라서 중요 리소스를 확보하고 애플리케이션과 비즈니스 가치를 구축하는 데 집중할 수 있습니다.

CloudWatch는 애플리케이션 성능을 최적화하고, 리소스 사용률을 관리하고, 시스템 전반의 운영 상태를 파악하는 데 도움이 되는 실행 가능한 인사이트를 제공합니다. CloudWatch는 지표 및 로그 데이터에 대해 최소 1초 간격의 가시성, 15개월의 데이터 보존 기간(지표), 지표에 대한 계산을 수행할 수 있는 기능을 제공합니다. 이를 사용하여 비용 최적화를 위한 기록 분석을 수행하고 애플리케이션 및 인프라 리소스의 최적화를 위한 실시간 통찰력을 도출할 수 있습니다. CloudWatch Container Insights를 사용하여 컨테이너식 애플리케이션 및 마이크로서비스에서 모니터링 및 문제를 해결하고 알릴 수 있습니다. CloudWatch는 DevOps 엔지니어가 문제를 격리하고 신속하게 해결하는 데 도움이 되도록 CPU, 메모리, 디스크, 네트워크 데이터 같은 컴퓨팅 사용률 정보는 물론, 컨테이너 다시 시작 실패 같은 진단 정보도 수집 및 집계하고 요약합니다. Container Insights를 활용하면 Amazon ECS for Kubernetes(EKS), Amazon Elastic Container Service(ECS), AWS Fargate, 독립 실행형 Kubernetes(k8s) 같은 컨테이너 관리 서비스를 통해 인사이트를 얻을 수 있습니다. 

수집

Amazon CloudWatch Logs 서비스를 사용하면 리소스, 애플리케이션 및 서비스로부터 거의 실시간으로 로그를 수집하고 저장할 수 있습니다. 로그는 세 가지 주요 범주로 나뉩니다.

1) Vended 로그. 사용자를 대신하여 AWS 서비스에서 기본적으로 게시합니다. 현재 지원되는 두 가지 유형은 Amazon VPC 흐름 로그와 Amazon Route 53 로그입니다.

2) AWS 서비스에서 게시하는 로그. 현재 30여 개의 AWS 서비스에서 CloudWatch로 로그를 게시합니다. Amazon API Gateway, AWS Lambda, AWS CloudTrail 외 다수가 여기에 포함됩니다.

3) 사용자 정의 로그. 고객 자체 애플리케이션 및 온프레미스 리소스와 다른 클라우드의 로그입니다.

AWS Systems Manager를 사용하여 CloudWatch 에이전트를 설치하거나 PutLogData API 작업을 사용하여 손쉽게 로그를 게시할 수 있습니다.

Amazon CloudWatch를 사용하면 사용자 작업 없이 Amazon Elastic Compute Cloud(Amazon EC2), Amazon DynamoDB, Amazon Simple Storage Service(Amazon S3), Amazon ECS, AWS Lambda 및 Amazon API Gateway와 같은 70여 개의 AWS 서비스에서 인프라 지표를 수집할 수 있습니다. 예를 들어 Amazon EC2 인스턴스는 상태 변경을 파악할 수 있도록 CPU 사용률, 데이터 전송 및 디스크 사용량 지표를 자동으로 게시합니다. API Gateway용 내장 지표를 사용하여 대기 시간을 감지하거나 AWS Lambda용 기본 제공 지표를 사용하여 오류나 병목 현상을 감지할 수 있습니다. 마찬가지로 Amazon CloudWatch를 사용하면 자체 애플리케이션으로부터 애플리케이션 지표(사용자 활동, 오류 지표, 사용된 메모리 등)를 수집하여 운영 성능을 모니터링하고 문제를 해결하고 추세도 파악할 수 있습니다. CloudWatch 에이전트 또는 PutMetricData API 서비스 호출을 사용하여 이러한 지표를 CloudWatch에 게시할 수 있습니다. 샤드 수준의 Amazon Kinesis Data Streams 지표와 같이 기본 인프라 지표 외에 좀 더 상세한 지표가 필요한 경우, 리소스별로 선택하면 됩니다. 마찬가지로 애플리케이션 지표는 최대 1초 빈도로 통계, 그래프 및 고단위 경보에 사용할 수 있습니다.

Container Insights를 활용하면 큐레이트된 지표 및 컨테이너 에코시스템 로그를 간단히 수집하고 집계할 수 있습니다. 또한 CPU, 메모리, 네트워크, 디스크 정보 같은 컴퓨팅 성능 지표를 각각의 컨테이너에서 성능 이벤트로 수집하고, 모니터링 및 경보 제공에 사용되는 사용자 정의 지표를 자동으로 생성합니다. 성능 이벤트는 모니터링 및 문제 해결을 간소화하기 위해 Amazon EC2 인스턴스 ID, 서비스, Amazon Elastic Block Store(Amazon EBS) 볼륨 마운트 및 ID 같은 메타데이터와 함께 CloudWatch Logs로 수집됩니다. CloudWatch 사용자 지정 지표는 이렇게 수집된 로그에서 자동으로 추출되며, CloudWatch Logs Insights의 고급 쿼리 언어를 사용하여 추가로 분석할 수 있습니다. 또한 Container Insights를 활용하면 애플리케이션 로그(stdout/stderr), 사용자 정의 로그, 사전 정의된 Amazon EC2 인스턴스 로그, Amazon EKS/k8s 데이터 영역 로그, Amazon EKS 제어 영역 로그를 수집할 수도 있습니다. Amazon EKS 및 k8s 클러스터의 경우 사전 구성된 FluentD 에이전트를 사용하여 로그를 수집할 수 있습니다. 자세한 내용은 Container Insights 로그 설정 설명서를 참조하세요. Amazon ECS의 경우 Amazon CloudWatch Logs 로깅 드라이버 또는 Fluent Bit를 사용하여 애플리케이션 로그를 수집할 수 있습니다.

CloudWatch Lambda Insights를 활용하면 AWS Lambda 함수에서 큐레이트된 지표 및 로그를 간단히 수집하고 집계할 수 있습니다. 각 Lambda 함수에서 CPU, 메모리 및 네트워크와 같은 컴퓨팅 성능 지표를 성능 이벤트로 수집하고, 모니터링 및 경보 제공에 사용되는 사용자 지정 지표를 자동으로 생성합니다. 성능 이벤트는 CloudWatch Logs로 통합되므로 모니터링 및 문제 해결이 간소화됩니다. CloudWatch 사용자 지정 지표는 이렇게 수집된 로그에서 자동으로 추출되며, CloudWatch Logs Insights의 고급 쿼리 언어를 사용하여 추가로 분석할 수 있습니다. 자세한 내용은 Lambda Insights 시작하기 설명서를 참조하세요.

Amazon CloudWatch Metric Streams를 사용하면 선택한 대상으로 거의 실시간에 가까운 연속 지표 스트림을 생성할 수 있습니다. 이를 통해 Amazon Kinesis Data Firehose HTTP 엔드포인트를 사용하여 CloudWatch 지표를 인기 있는 서드 파티 서비스 제공 업체에 쉽게 보낼 수 있습니다. 최신 CloudWatch 메트릭 데이터를 포함하여 확장 가능한 연속 스트림을 생성하여 정확하고 시기 적절한 메트릭 데이터를 사용하는 대시보드, 경보 및 기타 도구에 전원을 공급할 수 있습니다. Amazon S3와 같은 Data Lake on AWS로 지표를 쉽게 전달하고 Amazon Athena와 같은 도구를 사용하여 사용량 또는 성능 분석을 시작하세요.

모니터링

CloudWatch의 크로스 계정 관측성을 사용하여 여러 AWS 계정의 리소스를 관찰할 수 있습니다. 먼저 소스 계정으로 지정하여 모니터링할 리소스가 있는 계정을 식별합니다. CloudWatch는 소스 계정 내 리소스에 대한 지표, 로그 및 추적을 수집하기 시작하고 모니터링 계정과 데이터를 공유합니다. 모니터링 계정은 소스 계정에서 생성된 관측성 데이터를 보고 상호 작용하도록 지정한 중앙 AWS 계정입니다. 로그 및 지표 데이터는 추가 비용 없이 수집되어 모니터링 계정에 공유됩니다. 추적 데이터의 경우 CloudWatch는 추가 비용 없이 첫 번째 모니터링 계정에 첫 번째 추적 사본을 제공합니다. 집계된 교차 계정 보기를 얻기 위해 추가 모니터링 계정에 추적 사본을 전송하기로 선택한 경우 표준 AWS X-Ray 및 Amazon CloudWatch 요금을 기준으로 소스 계정에 요금이 부과됩니다. 추적 사본은 각 소스 계정에서 최대 5개의 모니터링 계정으로 보내질 수 있음

Amazon CloudWatch 대시보드를 사용하면 재사용 가능한 그래프를 생성하고 통합된 뷰에서 클라우드 리소스와 애플리케이션을 시각화할 수 있습니다. 하나의 대시보드에서 지표와 로그 데이터를 나란히 그래프로 표시하여 컨텍스트를 빠르게 확보하고 문제 진단에서 근본 원인 파악까지 진행할 수 있습니다. 예를 들어 CPU 사용률과 메모리 등의 주요 지표를 시각화하고 용량과 비교할 수 있습니다. 또한, 특정 지표의 로그 패턴을 상호 연관시키고 경보를 설정하여 성능 및 운영 문제에 대해 알림을 받도록 할 수 있습니다. 운영 상태에 대한 시스템 전반의 가시성과 문제를 신속하게 해결할 수 있는 기능을 제공하여 MTTR을 단축합니다.

Amazon CloudWatch 복합 경보를 사용하면 여러 경보를 결합하고 경보 소음을 줄일 수 있습니다. 문제가 애플리케이션의 여러 리소스에 영향을 미치는 경우, 영향을 받는 리소스마다 하나씩이 아니라 전체 애플리케이션에 대해 하나의 신호 경보 알림을 받게 됩니다. 따라서 운영 문제의 근본 원인을 찾아 애플리케이션 가동 중지 시간을 줄이는 데 집중할 수 있습니다. 애플리케이션, AWS 리전 또는 가용 영역과 같은 리소스 그룹의 전반적인 상태를 확인할 수 있습니다.

Amazon CloudWatch 경보를 사용하면 지표에 대한 임계값을 설정하고 작업을 트리거할 수 있습니다. 고해상도 경보를 생성하고, 백분위수를 통계로 설정하고, 적절하게 작업을 지정 또는 무시할 수 있습니다. 예를 들어 Amazon EC2 지표에 대한 경보를 생성하고, 알림을 설정하고, 미사용 인스턴스 또는 사용률이 낮은 인스턴스를 탐지하고 종료하도록 하나 이상의 조치를 취할 수 있습니다. 지표 및 이벤트에 대한 실시간 경보를 사용하면 가동 중단과 잠재적 비즈니스 영향을 최소화할 수 있습니다.

애플리케이션 및 인프라 리소스는 로그와 지표의 형태로 대량의 운영 및 모니터링 데이터를 생성합니다. Amazon CloudWatch를 사용하면 단일 플랫폼에서 이러한 데이터 집합에 액세스하고 이를 시각화할 수 있을 뿐만 아니라 손쉽게 상호 연관시킬 수 있습니다. 이를 통해 문제 진단에서 근본 원인 파악까지 신속하게 진행할 수 있습니다. 예를 들어 오류와 같은 로그 패턴을 특정 지표와 상호 연관시키고 성능 및 운영 문제에 대해 알림을 받도록 경보를 설정할 수 있습니다.

Amazon CloudWatch Application Insights는 엔터프라이즈 애플리케이션에 대한 관찰 가능성을 자동으로 설정하므로 상태를 파악할 수 있습니다. 이 기능은 애플리케이션 리소스 및 기술 스택(예: 데이터베이스, 웹(IIS) 및 애플리케이션 서버, 운영 체제, 로드 밸런서, 대기열 등) 전반에서 주요 지표 및 로그를 파악하고 설정할 수 있도록 지원합니다. 또한 이러한 텔레메트리 데이터를 지속적으로 모니터링함으로써 이상 항목 및 오류를 탐지하고 그 상관관계를 분석하여 애플리케이션의 문제를 사용자에게 알려줍니다. 문제 해결을 돕기 위해 탐지한 문제에 대한 자동 대시보드를 생성함으로써 상관관계가 있는 지표 이상 항목 및 로그 오류와 함께 잠재적인 근본 원인을 알려주는 추가 인사이트를 제공합니다. 이를 통해 애플리케이션이 정상적으로 작동하고 최종 사용자가 영향을 받지 않도록 신속하게 수정 조치를 취할 수 있습니다.

EKS에 대한 관찰성이 향상된 Container Insights

Container Insights는 이제 컨테이너 수준 성능 지표, Kube-state 지표 및 EKS 컨트롤 플레인 지표와 같은 상세한 EKS 지표를 즉시 제공하므로 다양한 컨테이너 계층을 시각적으로 드릴다운 및 드릴업하여 개별 컨테이너의 메모리 누수와 같은 문제를 쉽게 찾아낼 수 있습니다. Container Insights는 이제 높은 수준의 리소스를 소비하는 컨테이너 계층 목록을 보여 주므로 아직 경보를 설정하지 않은 경우에도 환경의 위험을 식별하고 최종 사용자 경험에 영향을 미치기 전에 사전 조치를 취할 수 있습니다. Amazon EKS에 대한 관찰성이 향상된 Container Insights는 시작하기 쉬운 환경을 제공합니다. 클러스터 세부 정보 콘솔의 EKS용 CloudWatch 관찰성 애드온을 통해 클러스터를 자동 계측하고 즉시 원격 분석 수집을 시작할 수 있습니다.

관찰성이 향상되지 않은 Container Insights

CloudWatch Container Insights는 Amazon Elastic Container Service(Amazon ECS), Amazon Elastic Kubernetes Service(Amazon EKS), Amazon EC2의 Kubernetes 플랫폼, AWS Fargate(Amazon ECS 및 Amazon EKS 모두)에서 실행되는 컨테이너식 애플리케이션 및 마이크로서비스의 지표와 로그를 수집, 집계 및 요약합니다. Container Insights는 CPU, 메모리, 디스크 및 네트워크 지표와 같은 컨테이너 지표를 즉시 수집하고 컨테이너 재시작 실패와 같은 심층적인 진단 정보를 제공하여 문제를 격리하고 신속하게 해결하는 데 도움이 됩니다. Container Insights는 자동 대시보드에서 컨테이너 관찰성을 제공하므로 애플리케이션 상태와 성능을 쉽게 모니터링할 수 있습니다. 또한 Container Insights 지표에 CloudWatch 경보를 설정하여 애플리케이션 성능에 영향을 미치기 전에 이상 현상에 대한 알림을 받을 수 있습니다.

 

Internet Monitor는 인터넷 문제가 AWS에서 호스팅되는 애플리케이션과 최종 사용자 간의 성능 및 가용성에 미치는 영향에 대한 가시성을 제공하여 이러한 문제를 진단하는 데 걸리는 시간을 며칠에서 몇 분으로 줄여줍니다. 다양한 시간과 다양한 지리적 단위에 대한 측정값을 탐색하고, 문제의 영향을 빠르게 시각화한 다음, 필요한 조치를 취해 최종 사용자의 경험을 개선할 수 있습니다(예: 다른 AWS 서비스로 전환하거나 다른 AWS 리전을 통해 워크로드 트래픽 경로를 재지정). AWS 네트워크로 인한 문제가 발생하면 AWS Health Dashboard 알림이 자동으로 수신됩니다. 이 알림에서 문제 완화를 위해 AWS에서 진행 중인 단계를 확인할 수 있습니다. Internet Monitor는 CloudWatch 지표 및 CloudWatch Logs로 측정값을 전송하므로 지리 및 네트워크별 상태 정보를 애플리케이션에 손쉽게 통합할 수 있습니다. Internet Monitor는 Amazon EventBridge로도 상태 이벤트를 전송하므로 사용자는 알림을 설정할 수 있습니다. Internet Monitor는 Amazon Virtual Private Cloud(VPC), Amazon CloudFront 배포 및 Amazon WorkSpaces 디렉터리를 통해 애플리케이션을 모니터링합니다.

Lambda Insights는 CloudWatch 콘솔에서 자동 대시보드를 제공합니다. 이러한 대시보드는 컴퓨팅 성능과 오류를 요약합니다. 각 대시보드에는 선택한 기간의 지표 목록이 포함되며 기간과 선택한 함수에 따라 상황별로 애플리케이션 로그, AWS X-Ray 추적 정보 및 성능 이벤트를 심층 분석할 수 있습니다.

Amazon CloudWatch 이상 탐지는 기계 학습 알고리즘을 적용하여 지표 데이터를 지속적으로 분석하고 이상 행동을 식별합니다. 이 기능을 사용하면 하루 중 시간, 요일 기반의 계절성 또는 변화하는 추세와 같은 자연적인 지표 패턴을 기반으로 임계값을 자동 조정하는 경보를 생성할 수 있습니다. 또한 대시보드에서 이상 탐지 밴드를 사용하여 지표를 시각화할 수 있습니다. 이렇게 하면 예기치 않은 지표 변화를 모니터링, 격리 및 문제 해결할 수 있습니다.

Amazon CloudWatch ServiceLens를 사용하여 애플리케이션의 상태, 성능 및 가용성을 한 곳에서 시각화하고 분석할 수 있습니다. 또한 CloudWatch 지표 및 로그는 물론이고 AWS X-Ray의 추적 정보와도 결합되어 포괄적인 애플리케이션 및 애플리케이션 종속성 정보를 제공합니다. 성능 병목 현상을 신속하게 포착하고, 애플리케이션 문제의 근본 원인을 확인하고, 사용자에 대한 영향을 파악합니다. CloudWatch ServiceLens를 사용하면 인프라 모니터링(지표 및 로그를 사용하여 애플리케이션을 지원하는 리소스 파악)과 트랜잭션 모니터링(추적 정보를 사용하여 리소스 간 종속성 파악), 최종 사용자 모니터링(카나리아를 사용하여 엔드포인트를 모니터링하고 최종 사용자 경험이 저하되었을 때 알림)이라는 세 가지 주요 영역에서 애플리케이션을 심층 분석할 수 있습니다. CloudWatch ServiceLens는 직관적인 인터페이스와 함께 모든 리소스의 컨텍스트별 연결을 시각화하는 서비스 맵을 제공하므로 연관 관계가 있는 모니터링 데이터를 심층적으로 분석할 수 있습니다.

Amazon CloudWatch Synthetics를 사용하면 애플리케이션 엔드포인트를 보다 쉽게 모니터링할 수 있습니다. 엔드포인트에서 연중무휴 테스트를 실행하고 예상대로 작동하지 않으면 알립니다. 가용성, 대기 시간, 트랜잭션, 손상되거나 연결이 끊어진 링크, 단계별 태스크 완료 상태, 페이지 로드 오류, UI 자산의 로드 대기 시간, 복잡한 마법사 흐름 또는 애플리케이션의 체크아웃 흐름을 검사하도록 테스트를 사용자 지정할 수 있습니다. 또한, CloudWatch Synthetics를 사용하여 문제가 있는 애플리케이션 엔드포인트를 분리하고 기본 인프라 문제로 다시 매핑해 MTTR을 단축할 수 있습니다. 이 기능을 사용하면 CloudWatch에서 카나리아 트래픽을 수집할 수 있습니다. 애플리케이션에 고객 트래픽이 없더라도 지속적으로 고객 경험을 확인하고, 고객보다 먼저 문제를 발견할 수 있습니다. CloudWatch Synthetics는 REST API, URL 및 웹사이트 콘텐츠 모니터링과 피싱, 코드 주입, 크로스 사이트 스크립팅에 관한 무단 변경 사항 검사를 지원합니다.

Amazon CloudWatch RUM은 애플리케이션의 클라이언트 측 성능에 대한 가시성을 제공하고 MTTR을 줄입니다. 이를 통해 웹 애플리케이션 성능에 대한 클라이언트 측 데이터를 거의 실시간으로 수집하여 문제를 식별하고 디버그할 수 있습니다. CloudWatch RUM은 CloudWatch Synthetics 데이터를 보완하여 최종 사용자 경험에 대한 가시성을 높입니다. 성능의 이상을 시각화하고 관련 디버깅 데이터(예: 오류 메시지, 스택 추적 정보 및 사용자 세션)를 사용하여 성능 문제(예: JavaScript 오류, 충돌 및 대기 시간)를 수정할 수 있습니다. 사용자 수, 지리적 위치 및 브라우저를 포함하여 최종 사용자에게 미치는 영향 범위에 대한 인사이트를 얻을 수 있습니다. CloudWatch RUM은 애플리케이션을 통한 사용자의 여정에 대한 데이터를 집계하여, 시작할 기능과 우선순위를 지정할 버그 수정을 결정하는 데 도움이 될 수 있습니다.

조치

Auto Scaling은 용량 및 리소스 계획을 자동화하는 데 도움이 됩니다. 주요 지표에 대한 경보를 받고 자동화된 Auto Scaling 작업을 트리거하도록 임계값을 설정할 수 있습니다. 예를 들어 CPU 사용률 지표를 기반으로 EC2 인스턴스를 추가 또는 제거하도록 Auto Scaling 워크플로를 설정하여 리소스 비용을 최적화할 수 있습니다.

CloudWatch Events는 AWS 리소스에 대한 변경 사항을 설명하는, 거의 실시간의 시스템 이벤트 스트림입니다. 이를 사용하면 운영 변경 사항에 신속하게 대응하고 시정 조치를 취할 수 있습니다. 애플리케이션에서 관심이 있는 이벤트가 무엇인지와 규칙이 이벤트와 일치할 때 자동으로 수행할 작업을 나타내는 규칙을 작성하기만 하면 됩니다. 예를 들어 AWS Lambda 함수를 호출하거나 Amazon Simple Notification Service(Amazon SNS) 주제를 알리는 규칙을 설정할 수 있습니다.

Amazon EKS 및 k8s 클러스터의 경우, Container Insights를 사용하면 컴퓨팅 지표에 대한 경보를 제공하여 Amazon EC2 Auto Scaling 그룹에 대한 Auto Scaling 정책을 트리거하고 Amazon EC2 인스턴스를 중지, 종료, 재부팅, 복구할 수 있습니다. Amazon ECS 클러스터의 경우 작업 및 서비스의 컴퓨팅 지표를 서비스 Auto Scaling에 사용할 수 있습니다.  

 

분석

Amazon CloudWatch를 사용하면 15개월 분량의 지표 데이터(스토리지 및 보존)를 통해 추세와 계절적 변동을 모니터링할 수 있습니다. 이를 통해 기록 분석을 수행하여 리소스 사용률을 미세 조정할 수 있습니다. 또한 CloudWatch에서는 온프레미스 애플리케이션에서 수신되는 지표와 같은 사용자 정의 지표를 비롯하여 상태 지표를 최소 1초 간격으로 수집할 수 있습니다. 세분화된 실시간 데이터를 사용하면 추세를 파악하고 모니터링할 수 있는 기능과 시각화를 향상하여 애플리케이션 문제 및 운영 상태를 최적화할 수 있습니다.

Amazon CloudWatch Metric Math를 사용하면 실시간 분석을 위해 여러 지표에 걸쳐 계산을 수행할 수 있으므로 기존 CloudWatch 지표에서 통찰력을 쉽게 이끌어내고 인프라의 운영 상태와 성능을 더 잘 이해할 수 있습니다. AWS 관리 콘솔에서 이렇게 계산된 지표를 시각화하고, 이를 CloudWatch 대시보드에 추가하거나 GetMetricData API 작업을 사용하여 검색할 수 있습니다. Metric Math에서는 +, -, /, * 등의 산술 연산자와 Sum, Average, Min, Max, Standard Deviation 등의 수학 함수를 지원합니다.

Amazon CloudWatch Logs Insights는 로그에서 실행 가능한 인텔리전스를 도출하여 서버를 프로비저닝하거나 소프트웨어를 관리할 필요 없이 운영 문제를 해결할 수 있게 해 줍니다. 집계, 필터 및 정규 표현식을 사용하면 즉시 쿼리를 작성할 수 있습니다. 또한, 시계열 데이터를 시각화하고, 개별 로그 이벤트로 드릴 다운하고, 쿼리 결과를 CloudWatch 대시보드로 내보낼 수 있습니다. 이를 통해 완전한 운영 가시성을 얻을 수 있습니다. AWS 관리 콘솔에서 몇 번의 클릭만으로 Logs Insight를 사용하여 CloudWatch로 보낸 로그를 쿼리할 수 있습니다. 실행한 쿼리에 대해서만 비용을 지불합니다.

Amazon CloudWatch Logs Live Tail을 통해 고객은 수집된 로그에 대한 대화형 심층 분석 기능을 통해 Amazon CloudWatch Logs에서 데이터 탐색 및 분석을 빠르게 시작할 수 있습니다. Live Tail을 통해 고객은 중앙 콘솔에서 모든 스트리밍 로그 데이터를 보거나 배포, 운영 또는 보안 조사에 매일 사용하는 도구 내에 통합할 수 있습니다. Live Tail을 사용하면 고객이 상황에 맞는 심층 분석 쿼리를 시작할 수 있으므로 문제 탐지를 위한 Live Tail 뷰에서 심층 분석 및 사고 해결을 위한 CloudWatch Logs Insights 쿼리 환경으로 쉽게 전환할 수 있습니다. Live Tail은 기존 CloudWatch 분석 기능을 보완하여 고객이 사고를 감지하고 해결하는 시간을 줄일 수 있도록 지원합니다. 특화된 로깅 사용 사례에 대한 여러 사용자 지정 및 타사 솔루션에 대한 종속성을 제거합니다.

Container Insights는 CloudWatch Logs Insights 고급 쿼리 언어를 사용하여 자동 대시보드부터 세분화된 성능 이벤트, 애플리케이션 로그(stdout/stderr), 사용자 정의 로그, 사전 정의된 Amazon EC2 인스턴스 로그, Amazon EKS/k8s 데이터 영역 로그 및 Amazon EKS 컨트롤 플레인 로그로의 심층 연결을 간소화함으로써 지표, 로그 및 추적 정보의 관측 가능한 데이터를 간단히 분석할 수 있게 해 줍니다.

Lambda Insights는 CloudWatch Logs Insights 고급 쿼리 언어를 사용하여 자동 대시보드에서 세분화된 성능 이벤트, 애플리케이션 로그 및 사용자 정의 로그로의 세부 연결을 간소화합니다. 따라서 지표, 로그 및 추적 정보의 관측 가능한 데이터를 간단히 분석할 수 있습니다.

시계열 데이터를 분석하여 시스템 성능에 가장 큰 영향을 미치는 요소를 보여주는 Contributor Insights가 Amazon CloudWatch에 포함되어 있습니다. Contributor Insights는 설정하고 나면 추가적인 사용자 개입 없이 연속으로 실행됩니다. 이렇게 하면 운영 이벤트 발생 시, 개발자와 운영자가 신속하게 문제를 분리하여 진단하고 복구하는 데 도움이 됩니다. Contributor Insights를 사용하여 특정 리소스, 고객 계정 또는 API 호출과 같이 시스템 및 애플리케이션 성능에 영향을 미치는 사람이나 대상을 이해할 수 있습니다. 이를 통해 이상치를 찾아내고 가장 사용량이 많은 트래픽 패턴을 확인하며 가장 많이 사용되는 시스템 프로세스 순위를 지정할 수 있습니다. Contributor Insights 규칙을 생성하여 구조화된 로그 이벤트가 CloudWatch Logs로 전송될 때 패턴을 평가할 수 있습니다. 여기에는 AWS CloudTrail, Amazon Virtual Private Cloud(Amazon VPC), Amazon API Gateway 등의 AWS 서비스 로그와 서비스 또는 온프레미스 서버와 기타 클라우드에서 보낸 로그(예: Apache 액세스 로그)를 포함합니다. Contributor Insights는 거의 실시간으로 이 로그 이벤트를 평가하고 가장 큰 기여 요소와 고유한 기여 요소 개수를 데이터 집합을 보여주는 보고서를 표시합니다. 기여 요소는 CloudWatch Logs에 로그 필드로 포함된 차원에 기반한 집계 지표(예: VPC 흐름 로그의 계정 ID 또는 인터페이스 ID) 또는 차원의 다른 사용자 정의 집합입니다. 사용자 지정 기준으로 기여 요소 데이터를 분류하고 필터링할 수 있습니다. Contributor Insights 보고서 데이터는 CloudWatch 대시보드에 표시하고, CloudWatch 지표와 함께 그래프로 표시하고, CloudWatch 경보에 추가할 수 있습니다.

Amazon CloudWatch Metrics Insights는 빠르고 유연한 SQL 기반 쿼리 엔진으로 수백만 개의 운영 지표 내에서 추세와 패턴을 거의 실시간으로 식별할 수 있습니다. Metrics Insights를 사용하면 유연한 쿼리 및 즉각적인 지표 집계를 통해 인프라 및 대규모 애플리케이션 성능에 대한 가시성을 높일 수 있습니다. Metrics Insights 쿼리는 강력한 시각화를 생성하는 데 사용할 수 있으므로 문제를 사전 예방적으로 모니터링하고 빠르게 찾아내며 MTTR을 줄이는 데 도움이 됩니다. 

Amazon CloudWatch Evidently를 통해 애플리케이션 개발자는 새로운 기능을 일반 용도로 출시하기 전에 실험을 수행하고 의도하지 않은 결과를 식별할 수 있으므로 새로운 기능 출시와 관련된 위험을 줄일 수 있습니다. Evidently를 사용하면 릴리스 전에 전체 애플리케이션 스택에서 새로운 기능을 검증할 수 있으므로 릴리스가 더 안전해집니다. 새 기능을 출시할 때 해당 기능을 소규모 사용자 기반에 노출하고 페이지 로드 시간 또는 전환과 같은 주요 지표를 모니터링한 다음 트래픽을 확장할 수 있습니다. 또한 Evidently를 사용하여 다양한 디자인을 시도하고, 사용자 데이터를 수집하고, 프로덕션에서 가장 효과적인 디자인을 출시할 수 있습니다. 

 

규정 준수 및 보안

Amazon CloudWatch는 AWS Identity and Access Management(IAM)와 통합되므로 데이터에 대한 액세스 권한이 있는 사용자 및 리소스 그리고 액세스 방법을 제어할 수 있습니다.

또한, Amazon CloudWatch Logs는 PCI 및 FedRamp 준수 서비스입니다. 데이터는 저장 및 전송 중에 암호화됩니다. 또한 추가적인 규정 준수 및 보안을 위해 AWS Key Management Service(AWS KMS) 암호화를 사용하여 로그 그룹을 암호화할 수 있습니다.

Amazon CloudWatch Logs 데이터 보호는 시스템 및 애플리케이션에 의해 로깅되는 민감한 데이터를 검색하고 보호하는 데이터 보호 정책을 정의하는 데 도움이 됩니다. 이 기능은 정의된 정책에 따라 기계 학습 및 패턴 일치를 사용하여 로그 안의 민감한 정보를 자동으로 식별하고 마스킹합니다. 데이터 보호를 사용하면 규정 준수 목표를 지원하면서 데이터 보호 로직을 애플리케이션에서 오프로드할 수 있으므로 아키텍처를 간소화하는 데 도움이 될 수 있습니다. 로그가 수집될 때 로그를 스캔하여 로그에 포함된 민감한 데이터의 양을 파악하고 감지된 민감한 데이터를 마스킹하도록 데이터 보호 정책을 정의할 수 있습니다. 보안 엔지니어의 검증이 필요한 경우에는 IAM을 통해 권한을 승격하여 마스킹된 데이터의 마스킹을 해제할 수도 있습니다.