콘텐츠로 이동

웹 서비스 확인 및 테스트 (Kiro CLI)

AWS General ImmersionDay 워크샵 - 심화 모듈 > 고급 모듈 - 웹 애플리케이션 > 컴퓨팅 – Amazon EC2 > 웹 서비스 확인 및 테스트

ℹ️ 구성한 서비스가 정상적으로 작동하는지 테스트합니다. 웹사이트 접속 확인, Load Balancer 동작 확인, 부하 테스트를 통한 Auto Scaling 동작을 확인합니다.

⚠️ 이 가이드는 Kiro CLI를 사용하여 진행합니다. 오토 스케일링 웹 서비스 배포 실습이 사전에 완료되어 있어야 합니다.


1단계: ALB DNS 확인 및 웹 서비스 접속 테스트

ALB의 DNS 이름을 확인하고 웹 서비스가 정상 동작하는지 확인합니다.

Web-ALB의 DNS 이름을 확인하고, 해당 DNS로 HTTP 요청을 보내서 웹 서비스가 정상 동작하는지 확인해줘.

Load Balancers

정상적으로 동작하면 아래와 같은 웹 페이지가 표시됩니다. 어떤 가용 영역의 인스턴스가 응답했는지 확인할 수 있습니다.

Web page


2단계: Load Balancer 라운드 로빈 확인

ALB가 여러 인스턴스에 트래픽을 분산하는지 확인합니다.

Web-ALB DNS로 HTTP 요청을 5번 연속 보내서 응답이 다른 인스턴스(다른 가용 영역)에서 오는지 확인해줘. 라운드 로빈이 동작하는지 보고 싶어.

ℹ️ ALB Target Group의 라우팅 알고리즘이 기본적으로 Round Robin 방식으로 동작하기 때문에, 새로고침할 때마다 다른 가용 영역의 인스턴스가 응답합니다.

Web Page refresh


3단계: Auto Scaling 부하 테스트

웹 서버에 CPU 부하를 발생시켜 Auto Scaling이 작동하는지 확인합니다.

ℹ️ 현재 Auto Scaling Group에서는 각 인스턴스의 CPU 사용률 30%를 기준으로 Scaling Policy가 설정되어 있습니다. - 평균 CPU 사용률이 30% 미만이면 인스턴스 수를 줄입니다. - 평균 CPU 사용률이 30%를 초과하면 추가 인스턴스가 배포됩니다.

웹 브라우저에서 ALB DNS 주소로 접속한 후 LOAD TEST 메뉴를 클릭하여 부하를 발생시킵니다.

Test Auto Scaling - 부하 전

Test Auto Scaling - 부하 후

ℹ️ CPU 부하 발생 원리: CPU Idle 값이 50이 넘으면 PHP 코드가 5초마다 임의의 파일을 생성, 압축, 압축 해제하는 작업을 수행합니다. ALB에 의해 트래픽이 분산되어 모든 인스턴스에 부하가 적용됩니다.


4단계: Auto Scaling 동작 모니터링

약 5분 정도 기다린 후 Auto Scaling Group의 상태를 확인합니다.

Web-ASG Auto Scaling Group의 현재 상태를 확인해줘. 스케일링 활동 내역, 현재 인스턴스 수, 각 인스턴스의 상태를 보여줘.

Auto Scaling Groups Monitoring

Scaling Policy에 따라 추가 인스턴스가 배포된 것을 확인할 수 있습니다.

Additional EC2 instances

인스턴스가 2개에서 4개로 증가한 것을 확인할 수 있습니다.

Additional EC2 instances2


5단계: 스케일 아웃 결과 확인

새로 추가된 인스턴스에서도 웹 서비스가 정상 동작하는지 확인합니다.

Web-ALB DNS로 HTTP 요청을 여러 번 보내서 새로 추가된 인스턴스에서도 응답이 오는지 확인해줘. 총 몇 개의 인스턴스가 응답하는지 알려줘.

ℹ️ 새로운 인스턴스는 CPU 부하가 0%입니다. 각각 다른 가용 영역에 생성된 것을 확인할 수 있습니다.


6단계: 부하 테스트 종료

테스트가 완료되면 추가 부하를 방지하기 위해 부하 테스트 페이지를 닫습니다.

Web-ASG의 현재 인스턴스 수와 CPU 사용률을 확인해줘. 부하가 줄어들면 인스턴스가 다시 2개로 줄어드는지도 확인해줘.

ℹ️ CPU 부하를 발생시키는 페이지가 작동 중이라면 추가 부하를 방지하기 위해 해당 브라우저 탭을 닫으세요. 부하가 줄어들면 Auto Scaling이 인스턴스를 다시 Desired Capacity(2개)로 축소합니다.


원본 워크샵: AWS General ImmersionDay - 웹 서비스 확인 및 테스트