0Pricing
AWS Solutions Architect · 강의

CloudWatch 지표, 네임스페이스 및 차원

AWS 서비스에 기본 제공되는 지표를 이해하고, 애플리케이션에서 사용자 지정 지표를 게시하며, 차원으로 필터링해 특정 리소스를 자세히 확인합니다.

CloudWatch 지표, 네임스페이스 및 차원은(는) CoddyKit의 무료 AWS Solutions Architect 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AWS Solutions Architect 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AWS Solutions Architect 강의에는 총 4개의 강의가 포함되어 있습니다.

Amazon CloudWatch란 무엇입니까

Amazon CloudWatch는 AWS 리소스와 애플리케이션에서 지표, 로그, 추적 데이터를 수집하는 AWS의 통합 관찰성 서비스입니다. 인프라 상태를 전체적으로 파악할 수 있으므로 이상을 감지하고, 경보를 설정하며, 운영 변경에 자동으로 대응할 수 있습니다. CloudWatch는 거의 모든 AWS 서비스와 긴밀하게 통합되어 있으며 SAA-C03 시험에서 다루는 주요 모니터링 도구입니다.

CloudWatch 지표 이해하기

CloudWatch 지표는 시간에 따른 리소스의 측정 가능한 특성 값을 나타내는 시간순 데이터 요소 집합입니다. 예를 들어 EC2 인스턴스의 CPUUtilization을 매분 측정할 수 있습니다. 지표는 네임스페이스, 이름, 차원으로 식별됩니다. AWS는 수백 개의 기본 제공 지표를 자동으로 게시하며, 애플리케이션 코드나 스크립트에서 자체 사용자 지정 지표를 게시할 수도 있습니다.

네임스페이스: 지표 구성하기

네임스페이스는 서로 다른 출처의 지표 이름이 충돌하지 않도록 CloudWatch 지표를 담는 컨테이너입니다. AWS 서비스는 AWS/EC2, AWS/RDS, AWS/Lambda, AWS/S3와 같은 네임스페이스를 사용합니다. 사용자 지정 지표를 게시할 때는 직접 네임스페이스를 선택할 수 있으며, 예를 들어 MyApp/OrderService를 사용할 수 있습니다. 서로 다른 네임스페이스의 지표는 같은 지표 이름을 공유하더라도 완전히 격리됩니다.

# List all namespaces in your account
aws cloudwatch list-metrics \
  --query 'Metrics[].Namespace' \
  --output text | tr '\t' '\n' | sort -u

# List metrics in the AWS/EC2 namespace
aws cloudwatch list-metrics \
  --namespace AWS/EC2 \
  --query 'Metrics[].MetricName' \
  --output text | tr '\t' '\n' | sort -u

차원: 지표 필터링하기

차원은 네임스페이스 내에서 지표를 고유하게 식별하는 키-값 쌍입니다. 예를 들어 AWS/EC2 네임스페이스의 CPUUtilization은 InstanceId=i-0123456789abcdef0 차원으로 필터링하여 특정 인스턴스 하나를 확인하거나, AutoScalingGroupName=my-asg로 필터링하여 인스턴스 집합 전체의 집계 지표를 확인할 수 있습니다. 하나의 지표에는 최대 30개의 차원을 사용할 수 있으며, AWS는 각 서비스 지표에 사용할 수 있는 차원을 미리 정의합니다.

# Get CPU utilization for a specific EC2 instance
aws cloudwatch get-metric-statistics \
  --namespace AWS/EC2 \
  --metric-name CPUUtilization \
  --dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-01T01:00:00Z \
  --period 300 \
  --statistics Average

표준 모니터링과 세부 모니터링

기본적으로 AWS 서비스는 추가 비용 없이 CloudWatch에 5분 간격으로 지표를 게시합니다(표준 모니터링). 시간에 민감한 작업에서는 세부 모니터링을 활성화하여 1분 단위의 세밀한 측정을 사용할 수 있습니다. 세부 모니터링은 EC2, Auto Scaling, ELB, RDS 및 기타 서비스에서 사용할 수 있지만 CloudWatch 추가 요금이 발생합니다. SAA-C03에서는 단계 조정을 사용하는 Auto Scaling 정책이 1분 지표에서 더 잘 작동하는 CloudWatch 경보에 의존한다는 점을 기억하십시오.

# Enable detailed (1-minute) monitoring for an EC2 instance
aws ec2 monitor-instances \
  --instance-ids i-0123456789abcdef0

# Verify monitoring state
aws ec2 describe-instance-status \
  --instance-ids i-0123456789abcdef0 \
  --query 'InstanceStatuses[].Monitoring'

사용자 지정 지표 게시

put-metric-data API 또는 CloudWatch Agent를 사용하면 어떤 애플리케이션에서도 사용자 지정 지표를 CloudWatch로 보낼 수 있습니다. 일반적인 사용자 지정 지표로는 비즈니스 핵심 성과 지표(분당 주문 수), 애플리케이션 수준 지연 시간, 대기열 깊이, 오류율이 있습니다. 사용자 지정 지표는 해상도에 따라 15개월 동안 보존되며 지표별 월별 요금이 부과됩니다. 더 높은 비용으로 1초 단위의 고해상도 사용자 지정 지표도 사용할 수 있습니다.

# Publish a custom metric from the CLI
aws cloudwatch put-metric-data \
  --namespace 'MyApp/OrderService' \
  --metric-name 'OrdersProcessedPerMinute' \
  --value 47 \
  --unit Count \
  --dimensions Environment=Production,Region=us-east-1

# Publish from application code (Python boto3)
# cloudwatch.put_metric_data(
#   Namespace='MyApp/OrderService',
#   MetricData=[{'MetricName': 'ErrorRate', 'Value': 0.5, 'Unit': 'Percent'}]
# )

EC2 지표를 위한 CloudWatch Agent

CloudWatch Agent는 EC2 인스턴스 및 온프레미스 서버에 설치하여 기본 제공 EC2 하이퍼바이저로는 사용할 수 없는 지표를 수집하는 소프트웨어 에이전트입니다. 예를 들어 메모리 사용률, 디스크 공간, 네트워크 연결을 수집할 수 있습니다. 에이전트는 로그도 수집하여 CloudWatch Logs로 전송합니다. 메모리 사용률은 시험에서 자주 나오는 시나리오로, 기본 EC2 지표가 아니며 CloudWatch Agent를 통해 수집해야 합니다.

# Install and start the CloudWatch Agent on Amazon Linux 2
sudo yum install -y amazon-cloudwatch-agent

# Use the wizard to generate a config
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

# Start the agent with the generated config
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
  -a fetch-config \
  -m ec2 \
  -s \
  -c ssm:/AmazonCloudWatch-linux

지표 수학 및 이상 탐지

지표 수학을 사용하면 결과를 별도의 지표로 저장하지 않고 기존 지표에 산술 연산을 적용하여 새로운 시계열을 만들 수 있습니다. 예를 들어 CloudWatch 대시보드 표현식에서 Errors / Requests * 100을 직접 계산하여 오류율을 구할 수 있습니다. 이상 탐지는 과거 지표 데이터에 기계 학습을 적용하여 예상 값 범위를 만들며, 고정된 임계값이 없더라도 지표가 해당 범위를 벗어날 때 작동하는 경보를 만들 수 있습니다.

# Get metric data using metric math
aws cloudwatch get-metric-data \
  --metric-data-queries '[
    {"Id":"e1","Expression":"m1/m2*100","Label":"ErrorRate%"},
    {"Id":"m1","MetricStat":{"Metric":{"Namespace":"MyApp","MetricName":"Errors"},"Period":60,"Stat":"Sum"}},
    {"Id":"m2","MetricStat":{"Metric":{"Namespace":"MyApp","MetricName":"Requests"},"Period":60,"Stat":"Sum"}}
  ]' \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-01T01:00:00Z

지표 보존 기간

CloudWatch는 해상도에 따라 지표를 서로 다른 기간 동안 보존합니다. 1초 해상도 데이터 요소는 3시간, 1분 데이터는 15일, 5분 데이터는 63일, 1시간 데이터는 15개월 동안 보존됩니다. CloudWatch는 시간이 지나면 고해상도 데이터를 자동으로 더 낮은 해상도의 데이터로 집계합니다. 따라서 장기 추세를 분석해야 하는 경우 몇 달 전의 원래 1분 측정값이 아니라 1시간 평균값을 보게 됩니다.

CloudWatch 콘솔에서 지표 보기

CloudWatch 콘솔에서는 Metrics Explorer와 Metrics 브라우저를 사용하여 원하는 네임스페이스, 지표, 차원 조합을 선택하고 시간에 따른 데이터를 시각화할 수 있습니다. 여러 지표를 하나의 그래프에 겹쳐 표시하고, 집계 기간을 변경하며, 대시보드에 추가할 수도 있습니다. 프로그래밍 방식으로 접근할 때는 GetMetricStatistics 및 GetMetricData API가 원시 데이터 요소 또는 집계 통계(Average, Sum, Minimum, Maximum, SampleCount)를 반환합니다.

# Get average CPU for all instances in an ASG over the last hour
aws cloudwatch get-metric-statistics \
  --namespace AWS/EC2 \
  --metric-name CPUUtilization \
  --dimensions Name=AutoScalingGroupName,Value=my-asg \
  --start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ) \
  --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
  --period 300 \
  --statistics Average Maximum

주요 EC2 및 RDS 지표

SAA-C03 시험을 위해 다음 핵심 지표를 알아 두십시오. EC2 — CPUUtilization, NetworkIn/Out, DiskReadOps/WriteOps(인스턴스 스토어만 해당); 기본적으로 EC2에 없는 항목: 메모리, 디스크 공간(CloudWatch Agent 사용). RDS — DatabaseConnections, FreeStorageSpace, ReadLatency, WriteLatency, ReplicaLag. ELB — RequestCount, TargetResponseTime, UnHealthyHostCount. Lambda — Invocations, Errors, Duration, Throttles, ConcurrentExecutions.

빠른 확인

이 단원에서 다룬 AWS Solutions Architect (SAA-C03) 개념을 제대로 이해했는지 확인해 보십시오.

단원 요약

이 단원에서는 다음을 배웠습니다. 네임스페이스는 서비스별로 지표를 구성하고 이름 충돌을 방지하며, 차원은 단일 EC2 인스턴스나 ASG와 같은 특정 리소스로 지표를 필터링합니다. 또한 메모리 사용률은 기본 EC2 지표가 아니므로 이를 수집하려면 CloudWatch Agent가 필요합니다. 다음 단원에서는 자동화된 알림을 위한 CloudWatch Alarms와 Composite Alarms를 살펴봅니다.

자주 묻는 질문

“CloudWatch 지표, 네임스페이스 및 차원” 강의는 무료인가요?

네 — “CloudWatch 지표, 네임스페이스 및 차원” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AWS Solutions Architect 강의 전체를 잠금 해제할 수 있습니다. AWS Solutions Architect 강의에는 총 4개의 강의가 포함되어 있습니다.

“CloudWatch 지표, 네임스페이스 및 차원”에서 뭘 배우나요?

AWS 서비스에 기본 제공되는 지표를 이해하고, 애플리케이션에서 사용자 지정 지표를 게시하며, 차원으로 필터링해 특정 리소스를 자세히 확인합니다. 브라우저에서 직접 실행하는 실습 코드로 AWS Solutions Architect을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

AWS Solutions Architect을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 AWS Solutions Architect은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“CloudWatch 지표, 네임스페이스 및 차원” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 AWS Solutions Architect 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 AWS Solutions Architect 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. CloudWatch 지표, 네임스페이스 및 차원
  2. CloudWatch 경보 및 복합 경보
  3. CloudWatch 로그 및 Log Insights
  4. CloudWatch 대시보드 및 Container Insights
← AWS Solutions Architect(으)로 돌아가기