기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
보안
AWS 인프라에 시스템을 빌드하면 보안 책임은 사용자와 AWS가 분담합니다. 이 공동 책임 모델
IAM 역할
AWS Identity and Access Management(IAM) 역할을 통해 고객은 AWS 클라우드의 서비스 및 사용자에게 세분화된 액세스 정책 및 권한을 할당할 수 있습니다. 이 솔루션은 솔루션의 AWS Lambda 함수에 리전 리소스를 생성할 수 있는 액세스 권한을 부여하는 IAM 역할을 생성합니다.
Amazon CloudFront
이 솔루션은 Amazon CloudFront에서 배포하는 Amazon S3 버킷에 호스팅된 웹 UI를 배포합니다. Amazon CloudFront 지연 시간을 줄이고 보안을 개선하기 위해이 솔루션에는 솔루션 웹 사이트의 버킷 콘텐츠에 대한 퍼블릭 액세스를 제공하는 CloudFront 사용자인 오리진 액세스 ID가 있는 CloudFront 배포가 포함됩니다. 기본적으로 CloudFront 배포는 TLS 1.2를 사용하여 최고 수준의 보안 프로토콜을 적용합니다. 자세한 내용은 Amazon CloudFront 개발자 안내서의 Amazon S3 오리진에 대한 액세스 제한을 참조하세요. Amazon CloudFront
CloudFront는 추가 보안 완화를 활성화하여 각 최종 사용자 응답에 HTTP 보안 헤더를 추가합니다. 자세한 내용은 CloudFront 응답에서 HTTP 헤더 추가 또는 제거를 참조하세요.
이 솔루션은 TLS v1.0의 최소 지원 보안 프로토콜이 있는 기본 CloudFront 인증서를 사용합니다. TLS v1.2 또는 TLS v1.3 사용을 적용하려면 기본 CloudFront 인증서 대신 사용자 지정 SSL 인증서를 사용해야 합니다. 자세한 내용은 SSL/TLS 인증서를 사용하도록 CloudFront 배포를 구성하려면 어떻게 해야 하나요?를 참조하세요
Amazon API Gateway
이 솔루션은 엣지 최적화 Amazon API Gateway 엔드포인트를 배포하여 사용자 지정 도메인이 아닌 기본 APIs Gateway 엔드포인트를 사용하여 로드 테스트 기능에 대한 RESTful API를 제공합니다. 기본 엔드포인트를 사용하는 엣지 최적화 APIs의 경우 API Gateway는 TLS-1-0 보안 정책을 사용합니다. 자세한 내용은 Amazon API Gateway APIs.
이 솔루션은 TLS v1.0의 최소 지원 보안 프로토콜이 있는 기본 API Gateway 인증서를 사용합니다. TLS v1.2 또는 TLS v1.3 사용을 적용하려면 기본 API Gateway 인증서 대신 사용자 지정 SSL 인증서가 있는 사용자 지정 도메인을 사용해야 합니다. 자세한 내용은 REST APIs.
AWS Fargate 보안 그룹
기본적으로이 솔루션은 AWS Fargate 보안 그룹의 아웃바운드 규칙을 퍼블릭으로 엽니다. AWS Fargate가 어디서나 트래픽을 전송하지 못하도록 차단하려면 아웃바운드 규칙을 특정 Classless Inter-Domain Routing(CIDR)으로 변경합니다.
또한이 보안 그룹에는 포트 50,000의 로컬 트래픽을 동일한 보안 그룹에 속하는 모든 소스로 허용하는 인바운드 규칙이 포함되어 있습니다. 이는 컨테이너가 서로 통신할 수 있도록 하는 데 사용됩니다.
Amazon VPC
VPC: Amazon VPC 서비스를 기반으로 하는 Virtual Private Cloud(VPC)는 AWS 클라우드에서 논리적으로 격리된 프라이빗 네트워크를 제공합니다.
배포 중에 AWS CloudFormation 파라미터에서 자체 VPC를 지정할 수 있습니다. VPC는 로드를 생성하는 ECS 작업에서만 사용되며 웹 콘솔과 API는이 VPC 내에 배포되지 않습니다. 기존 VPC를 지정하지 않으면 솔루션이 필요한 네트워킹 구성으로 새 VPC를 생성합니다. 기존 VPC를 사용하기로 선택한 경우 로드 테스트 작업을 성공적으로 실행하려면 다음 요구 사항을 충족해야 합니다.
VPC 요구 사항
AWS에서 분산 로드 테스트와 함께 사용할 VPC의 최소 요구 사항은 다음과 같습니다.
-
VPC에는 최소 2개의 AZs 포함되어야 합니다.
-
VPC에는 각각 별도의 AZ에 있는 서브넷이 두 개 이상 포함되어야 합니다.
-
VPC 서브넷은 퍼블릭 또는 프라이빗일 수 있지만 동일한 구성(둘 다 퍼블릭 또는 둘 다 프라이빗)을 사용해야 합니다.
-
VPC는 ECR, CloudWatch Logs, S3 및 IoT Core의 엔드포인트에 대한 액세스를 제공해야 합니다.
-
VPC는 로드 테스트의 대상이 되는 서비스(들)에 대한 액세스를 제공해야 합니다.
참고
이러한 기준을 충족하는 VPC가 없는 경우 VPC 마법사를 사용하여 VPC를 빠르게 생성할 수 있습니다. 자세한 내용은 VPC 생성을 참조하세요.
퍼블릭 서브넷은 다음을 포함하여 이러한 요구 사항을 충족할 수 있습니다.
-
VPC에 연결된 인터넷 게이트웨이
-
인터넷 게이트웨이에 대한 경로(0.0.0.0/0)
프라이빗 서브넷은 아래 설명과 같이 NAT 게이트웨이 또는 VPC 엔드포인트를 사용하여 이러한 요구 사항을 충족할 수 있습니다.
옵션 1: NAT 게이트웨이
-
프라이빗 서브넷을 사용하여 각 AZ에 NAT 게이트웨이 배포
-
NAT 게이트웨이를 통해 인터넷 바운드 트래픽(0.0.0.0/0)을 라우팅하도록 라우팅 테이블 구성
옵션 2: VPC 엔드포인트
VPC에서 다음 VPC 엔드포인트를 생성합니다.
-
Amazon ECR API 엔드포인트:
com.amazonaws.<region>.ecr.api -
Amazon ECR DKR 엔드포인트:
com.amazonaws.<region>.ecr.dkr -
Amazon CloudWatch Logs 엔드포인트:
com.amazonaws.<region>.logs -
Amazon S3 Gateway 엔드포인트:
com.amazonaws.<region>.s3 -
AWS IoT Core 엔드포인트(라이브 데이터 차트를 사용하는 경우 필수)
com.amazonaws.<region>.iot.data
다른 VPC 구성도 작동할 수 있습니다.
중요
각 VPC 엔드포인트 인터페이스에 연결된 보안 그룹은 ECS 태스크 보안 그룹에서 포트 443의 인바운드 TCP 트래픽을 허용해야 합니다.
보안 그룹 구성
배포 중에 솔루션은 VPC 내에 보안 그룹을 생성하여 ECS 클러스터의 작업으로 다음 트래픽을 허용합니다.
-
모든 아웃바운드 트래픽
-
동일한 보안 그룹의 다른 작업에서 포트 50000의 인바운드 트래픽으로 작업자와 리더 작업 간의 조정을 용이하게 합니다.
네트워크 스트레스 테스트
Amazon EC2 테스트 정책에
퍼블릭 사용자 인터페이스에 대한 액세스 제한
웹 콘솔에 대한 액세스를 제한하는 접근 방식은 선택한 배포 옵션에 따라 다릅니다.
기본(CloudFront + S3) 배포 - IAM 및 Amazon Cognito에서 제공하는 인증 및 권한 부여 메커니즘을 넘어 퍼블릭 사용자 인터페이스에 대한 액세스를 제한하려면 AWS WAF 웹 ACL을 CloudFront 배포와 연결할 수 있습니다. 일반적인 웹 기반 공격을 필터링하는 미리 구성된 AWS WAF 규칙 세트를 배포하는 AWS WAF 보안 자동화 솔루션을
ALB + ECS Fargate 배포 -이 솔루션은 일반적인 웹 기반 공격에 대한 기준 보호를 제공하는 관리형 규칙을 사용하여 ALB 앞에 AWS WAF 웹 ACL을 자동으로 배포합니다. IP 기반 허용 또는 차단 목록, 지리적 제한, 속도 제한 또는 추가 AWS 관리형 규칙 그룹 추가를 포함하여 특정 보안 요구 사항에 맞게 WAF 규칙을 사용자 지정할 수 있습니다. WAF 구성 수정에 대한 지침은 배포 지침의 WAF 통합 섹션을 참조하세요.
MCP 서버 보안(선택 사항)
선택적 MCP 서버 통합을 배포하는 경우 솔루션은 Amazon Bedrock AgentCore Gateway를 사용하여 AI 에이전트의 로드 테스트 데이터에 대한 보안 액세스를 제공합니다. AgentCore Gateway는 각 요청에 대한 Amazon Cognito 인증 토큰을 검증하여 권한이 있는 사용자만 MCP 서버에 액세스할 수 있도록 합니다. MCP Server Lambda 함수는 읽기 전용 액세스 패턴을 구현하여 AI 에이전트가 테스트 구성 또는 결과를 수정하지 못하도록 합니다. 모든 MCP 서버 상호 작용은 웹 콘솔과 동일한 권한 경계 및 액세스 제어를 사용합니다.
ALB + ECS Fargate 호스팅 웹 콘솔 보안(선택 사항)
ALB + ECS Fargate 배포 옵션을 선택하면 다음 보안 고려 사항이 적용됩니다.
-
VPC 퍼블릭 액세스 차단 호환성 - ALB + ECS Fargate 옵션은 VPC 퍼블릭 액세스 차단(BPA) 정책이 퍼블릭 CloudFront 배포의 트래픽을 차단하는 환경을 위해 설계되었습니다. ALB는 VPC 내의 내부 로드 밸런서로 배포할 수 있으며, 기업 네트워크, VPN 또는 AWS PrivateLink를 통해서만 액세스할 수 있어 퍼블릭 인터넷 노출 요구 사항이 없습니다.
-
ACM 인증서 관리 - ALB는 HTTPS 종료에 ACM 인증서를 사용합니다. 인증서가 유효하게 유지되고 만료 전에 갱신되는지 확인하는 것은 사용자의 책임입니다. ACM은 관리하는 인증서를 자동으로 갱신하지만 가져온 인증서는 수동으로 갱신해야 합니다. 자세한 내용은 AWS Certificate Manager 사용 설명서의 관리형 인증서 갱신을 참조하세요.
-
AWS WAF 보호 - WAF는 기본적으로 ALB + ECS Fargate 템플릿을 사용하여 배포됩니다. 자세한 내용은 퍼블릭 사용자 인터페이스에 대한 액세스 제한을 참조하세요.
헤드리스(자체 웹 서버 제공) 보안(선택 사항)
헤드리스 배포 옵션을 선택하고 자체 웹 서버에서 웹 콘솔을 호스팅하는 경우 다음 보안 고려 사항에 대한 책임은 사용자에게 있습니다.
-
HTTPS 구성 - 웹 서버에서 HTTPS를 구성하는 것이 좋습니다.
-
액세스 제어 - 웹 서버에서 액세스 제어, 방화벽 규칙 및 네트워크 보안을 구현하는 것은 사용자의 책임입니다.
-
보안 강화 - 패치 적용, 모니터링 및 침입 탐지를 포함하여 조직의 보안 강화 표준을 웹 서버에 적용합니다.
타사 테스트 프레임워크
AWS의 분산 로드 테스트는 Apache JMeter, Grafana K6, Locust라는 세 가지 타사 테스트 프레임워크를 번들로 제공합니다. AWS 공동 책임 모델에서
각 프레임워크가 설치되는 시기와 프로비저닝 방법에 대한 자세한 내용은 프레임워크 프로비저닝 테스트를 참조하세요.
Apache JMeter
번들 버전의 Apache JMeter에는 Taurus 테스트 자동화 프레임워크 및 솔루션이 의존하는 JMeter 플러그인 에코시스템과의 호환성을 손상시키지 않고 외부에서 완전히 패치할 수 없는 알려진 보안 취약성이 있습니다. 로드 테스트를 실행하기 전에 Apache JMeter 보안 권고
참고
또한 Apache JMeter는 단일 HTTP 엔드포인트 테스트 유형에 대해 후드 아래에서 실행됩니다. 웹 콘솔에서 URL, 메서드, 헤더 및 본문 페이로드를 구성하면 솔루션은 JMeter 테스트 계획을 생성하고 번들 JMeter 바이너리로 실행합니다. 따라서이 섹션에 설명된 JMeter 보안 고려 사항은 단일 HTTP 엔드포인트 테스트에도 적용됩니다.
패치된 버전의 JMeter가 필요한 경우 두 가지 옵션이 있습니다. 두 옵션 모두 테스트 아카이브가 필요하며 JMeter 테스트 유형에만 사용할 수 있습니다.
-
패치된 JMeter 바이너리 제공 - 테스트 아카이브에 패치된 JMeter 바이너리를 포함합니다. 이 솔루션은 번들 버전 대신 바이너리를 사용합니다.
-
개별 플러그인 JARs - 플러그인 재정의 메커니즘을 사용하여 취약한 특정 플러그인 JARs을 패치 버전으로 바꿉니다. 자세한 내용은 JMeter 테스트를 참조하세요.
단일 HTTP 엔드포인트 테스트 유형은 테스트 아카이브를 수락하지 않으므로 번들 JMeter 바이너리 또는 플러그인을 재정의할 수 없습니다. 패치가 적용된 JMeter로 HTTP 엔드포인트 테스트를 실행해야 하는 경우 JMeter 테스트 유형을 사용하고 패치가 적용된 JMeter 바이너리 또는 플러그인 JARs이 포함된 JMeter 스크립트(.jmx) 또는 .zip 아카이브를 제공합니다.
Grafana K6
K6는 AGPL-3.0 라이선스
로커스트
이 솔루션 릴리스 당시 Locust 번들 버전에서 알려진 보안 취약성은 식별되지 않았습니다. 솔루션은 Locust에 새로운 취약성이 있는지 지속적으로 모니터링하지 않습니다. 사용자는 Locust를 사용하는 동안 보안 요구 사항을 기준으로 Locust를 평가할 책임이 있습니다.