☁️Cloud/AWS

AWS Distributed Load Testing (DLT) on AWS Fargate 상세 설정 방법

terranbin 2025. 2. 15. 09:56
728x90
SMALL

✅ 1. AWS DLT 개요 및 준비 사항

📌 개요

  • AWS에서 제공하는 JMeter 기반의 부하 테스트 솔루션
  • AWS Fargate에서 실행되므로 서버 없이 부하 테스트 가능
  • CloudWatch와 연동하여 실시간 모니터링 가능
  • ALB, API Gateway, 서버, 컨테이너 등 모든 대상에 부하 테스트 적용 가능

📌 사전 준비 사항

1️⃣ AWS 계정
2️⃣ IAM 권한 (AdministratorAccess 또는 CloudFormation 관리 권한 필요)
3️⃣ 부하 테스트 대상 URL (예: ALB의 DNS 또는 API Gateway 엔드포인트)


✅ 2. AWS Distributed Load Testing 배포 (CloudFormation 이용)

AWS에서 제공하는 CloudFormation 템플릿을 사용하여 빠르게 배포

🔹 2.1 AWS CloudFormation으로 배포하기

1️⃣ AWS 콘솔 접속AWS DLT 솔루션 페이지
2️⃣ "Launch in AWS Console" 클릭
3️⃣ CloudFormation 스택 생성

  • AWS 리전 선택 (서울 ap-northeast-2 등)
  • 스택 이름 입력 (예: DistributedLoadTesting)
  • 기본 설정 그대로 두고 다음 클릭
  • IAM 권한 관련 메시지가 나오면 확인 및 생성 클릭
    4️⃣ 배포 완료 후 "출력(Output)" 탭 확인
  • DLTConsoleURL 링크를 클릭하면 AWS DLT 관리 콘솔로 이동

✅ 3. 부하 테스트 생성 및 실행

🔹 3.1 부하 테스트 실행

1️⃣ DLT 콘솔 접속 (DLTConsoleURL 링크 클릭)
2️⃣ "Create Test" 버튼 클릭
3️⃣ 테스트 이름 입력 (예: ALB-Load-Test)
4️⃣ 부하 테스트 설정

  • Target URL: 부하 테스트 대상 (예: http://your-alb-dns-name/)
  • Number of concurrent users: 동시 접속 사용자 수 (예: 1000)
  • Ramp-up time (seconds): 요청 증가 시간 (예: 60초)
  • Test duration (seconds): 부하 테스트 실행 시간 (예: 300초)
  • Request type: GET, POST 선택 (API 테스트 시 POST 데이터 입력 가능)
    5️⃣ "Run Test" 클릭

✅ 4. 부하 테스트 실행 중 모니터링

테스트가 실행되면, CloudWatch를 통해 실시간 성능 모니터링 가능

🔹 4.1 AWS DLT 콘솔에서 확인

1️⃣ DLT 콘솔 → "Test Results"
2️⃣ 실행 중인 테스트 클릭하여 응답 시간, 요청 수 확인

🔹 4.2 CloudWatch로 부하 상태 모니터링

1️⃣ AWS 콘솔 → CloudWatch → Metrics → Load Balancer Metrics
2️⃣ 주요 지표 확인

  • RequestCount: 초당 요청 수
  • TargetResponseTime: 백엔드 서버 응답 시간
  • HTTPCode_ELB_5XX_Count: ALB에서 발생한 5XX 에러
  • RejectedConnectionCount: 과부하로 인해 거부된 요청 수

📌 부하 테스트 중 ALB의 RequestCount가 증가하는지, 응답 시간이 길어지는지 확인!


✅ 5. 부하 테스트 결과 확인 및 분석

테스트가 완료되면 AWS DLT 콘솔에서 결과를 확인할 수 있어.

🔹 5.1 결과 분석 방법

1️⃣ AWS DLT 콘솔 → "Test Results" 클릭
2️⃣ 실행한 부하 테스트의 응답 시간, 성공률, 에러율 확인
3️⃣ CloudWatch Logs에서 추가 분석 가능

📌 주요 분석 포인트
평균 응답 시간 (Response Time): 일정 수준을 유지하는지
HTTP 5XX 오류 발생 여부: 서버가 과부하로 오류를 반환하는지
Auto Scaling 정상 작동 여부: 트래픽 증가 시 EC2 인스턴스 추가 여부


✅ 6. 추가 설정: Auto Scaling과 연동하여 트래픽 급증 대응

부하 테스트를 진행한 후, Auto Scaling이 정상적으로 작동하는지 확인해야 해.

🔹 6.1 Auto Scaling 상태 확인

1️⃣ AWS 콘솔 → EC2 → Auto Scaling Groups
2️⃣ 부하 테스트 중 EC2 인스턴스 개수가 증가하는지 확인
3️⃣ CloudWatch에서 CPU 사용량, RequestCount 변화 확인

Auto Scaling 정책 예제

json
복사편집
{ "TargetValue": 60, "PredefinedMetricType": "ALBRequestCountPerTarget" }

📌 ALB Target Group에서 초당 요청이 60개 이상 발생하면 EC2 자동 확장!


✅ 7. 마무리 및 결론

🚀 AWS DLT를 활용하면 AWS 환경에서 쉽게 대규모 부하 테스트를 수행할 수 있어!
🚀 CloudWatch와 연동하여 ALB 성능 모니터링 가능!
🚀 Auto Scaling과 함께 사용하면 트래픽 급증에도 자동 대응 가능!

LIST