CloudFront 로드 테스트
기존 로드 테스트 방식은 CloudFront에서 DNS를 사용하여 지리적으로 분산된 엣지 로케이션으로 각 엣지 로케이션 내에 로드를 분배하기 때문에 CloudFront에는 잘 맞지 않았습니다. 클라이언트가 CloudFront에서 콘텐츠를 요청하면 이 클라이언트는 IP 주소 집합이 포함된 DNS 응답을 받습니다. DNS를 반환하는 IP 주소 중 하나에만 요청을 전송하여 테스트하는 경우 단일 CloudFront 엣지 로케이션에서 리소스의 소규모 하위 집합만 테스트하게 되며, 이는 실제 트래픽 패턴을 정확하게 나타내지 않습니다. 요청된 데이터 볼륨에 따라, 이 방법을 통한 테스팅은 CloudFront 서버의 해당 소규모 하위 집합을 오버로드하고 성능을 떨어뜨릴 수 있습니다.
CloudFront는 여러 지리적 리전에서 서로 다른 클라이언트 IP 주소와 DNS 확인 프로그램을 보유한 최종 사용자를 위해 규모를 조정하도록 설계되어 있습니다. CloudFront 성능을 정확하게 평가하는 로드 테스팅을 수행하려면 다음 사항을 모두 수행하는 것이 좋습니다.
-
여러 지리적 리전에서 클라이언트 요청을 보냅니다.
-
각 클라이언트에서 독립적인 DNS 요청을 하도록 테스트를 구성합니다. 그러면 클라이언트별로 DNS에서 서로 다른 IP 주소 세트를 수신하게 됩니다.
-
요청을 수행하는 각 클라이언트의 경우 DNS에서 반환되는 IP 주소 세트 전반에 클라이언트 요청을 분산합니다. 이렇게 하면 CloudFront 엣지 로케이션의 여러 서버에 부하가 분산됩니다.
참고
-
Lambda@Edge 뷰어 요청 또는 뷰어 응답 트리거가 있는 캐시 동작에서는 부하 테스트가 허용되지 않습니다.
-
Origin Shield가 사용되는 오리진에서는 부하 테스트가 허용되지 않습니다.