Skip to content

실습 시리즈 소개

난이도: 고급 (Advanced) 마지막 업데이트: 2026년 2월 23일

개요

이 실습 시리즈는 2개의 EKS 클러스터(Managed Cluster + Service Cluster)와 AWS Managed Services를 기반으로 한 Full-Stack Observability 환경을 구축합니다. 메트릭, 로그, 트레이스의 3대 축을 중심으로 실제 운영 환경에서 필요한 모든 Observability 컴포넌트를 직접 배포하고 연동합니다.

아키텍처 개요

Observability Architecture Overview


사전 요구 사항

실습을 시작하기 전에 다음 도구와 환경이 준비되어 있어야 합니다.

항목버전확인 명령어
AWS 계정-AWS Console 로그인 가능
AWS CLIv2.xaws --version
eksctlv0.170+eksctl version
kubectlv1.28+kubectl version --client
Helmv3.14+helm version
Terraformv1.7+terraform version
k6v0.50+k6 version
Dockerv24+docker --version
Gitv2.xgit --version

환경 확인 스크립트

bash
#!/bin/bash
echo "=== Observability Lab Prerequisites Check ==="

# AWS CLI
echo -n "AWS CLI: "
aws --version 2>/dev/null || echo "NOT INSTALLED"

# eksctl
echo -n "eksctl: "
eksctl version 2>/dev/null || echo "NOT INSTALLED"

# kubectl
echo -n "kubectl: "
kubectl version --client --short 2>/dev/null || echo "NOT INSTALLED"

# Helm
echo -n "Helm: "
helm version --short 2>/dev/null || echo "NOT INSTALLED"

# Terraform
echo -n "Terraform: "
terraform version -json 2>/dev/null | jq -r '.terraform_version' || echo "NOT INSTALLED"

# k6
echo -n "k6: "
k6 version 2>/dev/null || echo "NOT INSTALLED"

# Docker
echo -n "Docker: "
docker --version 2>/dev/null || echo "NOT INSTALLED"

# AWS Credentials
echo -n "AWS Credentials: "
aws sts get-caller-identity --query "Account" --output text 2>/dev/null && echo "OK" || echo "NOT CONFIGURED"

비용 안내

이 실습에서 사용하는 AWS 리소스의 예상 시간당 비용입니다 (us-east-1 기준).

서비스구성예상 시간당 비용
EKS Cluster (x2)2 clusters$0.20
EC2 (Managed Cluster)3x m5.large$0.288
EC2 (Service Cluster)3x m5.large + Karpenter nodes$0.288 ~ $0.576
Aurora PostgreSQLdb.r5.large, Multi-AZ$0.48
OpenSearch3x m5.large.search$0.52
Amazon Managed Prometheus기본 사용량$0.03
Amazon Managed Grafana1 workspace$0.15
MWAA (Airflow)mw1.small$0.49
SQS/SNS사용량 기반~$0.01
NAT Gateway (x2)2 VPCs$0.09
총 예상 비용-~$2.50 ~ $3.00/시간

주의: 실습 완료 후 반드시 리소스를 정리하여 불필요한 비용이 발생하지 않도록 합니다. 전체 실습 완료 시 약 $15 ~ $25 정도의 비용이 발생할 수 있습니다.


실습 순서

Part제목소요 시간주요 내용
Part 1인프라 구성60분EKS 클러스터 2개, AWS Managed Services 프로비저닝
Part 2Observability 스택 배포90분OTel, Prometheus, Loki, Tempo, Grafana 등
Part 3MSA 배포 및 카나리60분ArgoCD, Argo Rollouts, OTel Instrumentation
Part 4부하 테스트 및 스케일링45분k6, KEDA, Karpenter 연동
Part 5알림 및 AIOps60분AlertManager, Grafana OnCall, CW Investigations
Part 6분산 추적 분석45분Tempo, TraceQL, 메트릭-로그-트레이스 상관관계

MSA 애플리케이션 구성

실습에서 배포할 MSA 애플리케이션은 5개의 마이크로서비스로 구성됩니다.

서비스언어/프레임워크역할의존성
api-gatewayGo / GinAPI 라우팅, 인증, Rate Limitingorder-service, payment-service
order-servicePython / FastAPI주문 생성, 조회, 상태 관리Aurora PostgreSQL, SQS
payment-serviceJava / Spring Boot결제 처리, 결제 상태 관리Aurora PostgreSQL, SNS
notification-serviceNode.js / Express알림 발송 (이메일, SMS)SQS (Consumer)
analytics-batchPython / Pandas일별 분석 리포트 생성Aurora PostgreSQL, MWAA

MSA 서비스 호출 흐름


Observability 도구 커버리지

이 실습에서 다루는 Observability 도구 목록입니다.

카테고리도구유형실습 포함
MetricsPrometheusSelf-managedO
VictoriaMetricsSelf-managedO
MimirSelf-managedO
Amazon Managed Prometheus (AMP)AWS ManagedO
CloudWatch MetricsAWS ManagedO
LoggingLokiSelf-managedO
ClickHouseSelf-managedO
OpenSearchAWS ManagedO
CloudWatch LogsAWS ManagedO
TracingTempoSelf-managedO
OpenTelemetry CollectorCNCFO
AWS X-RayAWS ManagedO
AlertingAlertmanagerSelf-managedO
Grafana OnCallSelf-managedO
CloudWatch AlarmsAWS ManagedO
VisualizationGrafanaSelf-managedO
Amazon Managed Grafana (AMG)AWS ManagedO
상용 SaaSDatadog상용X (미포함)
Dynatrace상용X (미포함)
New Relic상용X (미포함)

참고할 기존 문서

실습을 진행하기 전에 다음 이론 문서를 참고하면 도움이 됩니다.

Observability 기초

EKS 및 인프라

GitOps 및 배포

서비스 메시 및 네트워킹


실습 시작하기

모든 사전 요구 사항이 준비되었다면, Part 1: 인프라 구성부터 시작하세요.

bash
# 실습 디렉토리 생성
mkdir -p ~/observability-lab
cd ~/observability-lab

# Git 저장소 클론 (실습 코드)
git clone https://github.com/example/observability-lab-code.git
cd observability-lab-code

Tip: 각 Part는 이전 Part의 결과물을 기반으로 진행됩니다. 순서대로 진행하는 것을 권장합니다.