기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
분산 로드 테스트 API
이 로드 테스트 솔루션은 테스트 결과 데이터를 안전한 방식으로 노출하는 데 도움이 됩니다. API는 Amazon DynamoDB에 저장된 테스트 데이터에 액세스하기 위한 "정문" 역할을 합니다. APIs를 사용하여 솔루션에 빌드하는 모든 확장 기능에 액세스할 수도 있습니다.
이 솔루션은 식별 및 권한 부여를 위해 Amazon API Gateway와 통합된 Amazon Amazon Cognito 사용자 풀을 사용합니다. 사용자 풀을 API와 함께 사용하는 경우 클라이언트는 유효한 자격 증명 토큰을 제공한 후에만 사용자 풀 활성화 메서드를 호출할 수 있습니다.
API를 통해 직접 테스트를 실행하는 방법에 대한 자세한 내용은 Amazon API Gateway REST API 참조 설명서의 서명 요청을 참조하세요.
솔루션의 API에서 다음 작업을 사용할 수 있습니다.
스택 정보
시나리오
테스트 실행
기준
업무
리전
GET/stack-info
설명
GET /stack-info 작업은 생성 시간, 리전 및 버전을 포함하여 배포된 스택에 대한 정보를 검색합니다. 이 엔드포인트는 프런트 엔드에서 사용됩니다.
응답
200 - 성공
| 명칭 | 설명 |
|---|---|
|
|
스택 생성 시 ISO 8601 타임스탬프(예: |
|
|
스택이 배포되는 AWS 리전(예: |
|
|
배포된 솔루션의 버전(예: |
오류 응답
-
403- 금지됨: 스택 정보에 액세스할 수 있는 권한이 부족함 -
404- 찾을 수 없음: 스택 정보를 사용할 수 없음 -
500- 내부 서버 오류
GET/시나리오
설명
GET /scenarios 작업을 통해 테스트 시나리오 목록을 검색할 수 있습니다.
응답
| 명칭 | 설명 |
|---|---|
|
|
각 테스트의 ID, 이름, 설명, 상태, 실행 시간, 태그, 총 실행 및 마지막 실행을 포함한 시나리오 목록 |
POST/시나리오
설명
POST /scenarios 작업을 통해 테스트 시나리오를 생성하거나 예약할 수 있습니다.
요청 본문
| 명칭 | 설명 |
|---|---|
|
|
테스트의 이름입니다. |
|
|
테스트에 대한 설명 |
|
|
시나리오에 |
|
|
동시성, 테스트 시간, 호스트 및 테스트 방법을 포함한 테스트 정의 |
|
|
테스트 유형(예: , |
|
|
업로드 파일 유형(예: , |
|
|
테스트를 분류하기 위한 문자열 배열입니다. 최대 길이가 5인 선택적 필드(예: |
|
|
테스트를 실행할 날짜입니다. 테스트를 예약하는 경우에만 제공됩니다(예: |
|
|
테스트를 실행하는 시간입니다. 테스트를 예약하는 경우에만 제공됩니다(예: |
|
|
일정 프로세스의 단계입니다. 반복 테스트를 예약하는 경우에만 제공됩니다. (사용 가능한 단계에는 |
|
|
반복 예약 사용자 지정을 위한 cron 값입니다. 사용되는 경우 scheduleDate 및 scheduleTime을 생략합니다. |
|
|
cron이 만료되고 무기한 실행되지 않는 데 필요한 날짜입니다. |
|
|
예약된 테스트의 반복입니다. 반복 테스트를 예약하는 경우에만 제공됩니다(예: , |
응답
| 명칭 | 설명 |
|---|---|
|
|
테스트의 고유 ID |
|
|
테스트의 이름입니다. |
|
|
테스트 상태 |
옵션/시나리오
설명
OPTIONS /scenarios 작업은 요청에 대한 응답을 올바른 CORS 응답 헤더와 함께 제공합니다.
응답
| 명칭 | 설명 |
|---|---|
|
|
테스트의 고유 ID |
|
|
테스트의 이름입니다. |
|
|
테스트 상태 |
GET /시나리오/{testId}
설명
GET /scenarios/{testId} 작업을 통해 특정 테스트 시나리오의 세부 정보를 검색할 수 있습니다.
요청 파라미터
-
testId -
-
테스트의 고유 ID
유형: 문자열
필수 항목 여부: 예
-
-
latest -
-
파라미터를 쿼리하여 최신 테스트 실행만 반환합니다. 기본값은 입니다.
true유형: 부울
필수 항목 여부: 아니요
-
-
history -
-
응답에 테스트 실행 기록을 포함하는 쿼리 파라미터입니다. 기본값은
true입니다. 기록을 제외false하려면 로 설정유형: 부울
필수 항목 여부: 아니요
-
응답
| 명칭 | 설명 |
|---|---|
|
|
테스트의 고유 ID |
|
|
테스트의 이름입니다. |
|
|
테스트에 대한 설명 |
|
|
실행 중인 테스트 유형(예: , |
|
|
업로드되는 파일 유형(예: , |
|
|
테스트를 분류하기 위한 문자열 배열 |
|
|
테스트 상태 |
|
|
마지막 테스트가 시작된 시간 및 날짜 |
|
|
마지막 테스트가 종료된 시간 및 날짜 |
|
|
동시성, 테스트 시간, 호스트 및 테스트 방법을 포함한 테스트 정의 |
|
|
테스트를 실행하는 데 필요한 작업 수 |
|
|
테스트 실행을 위한 작업 IDs 목록 |
|
|
테스트의 최종 결과 |
|
|
과거 테스트의 최종 결과 목록(일 때 제외됨 |
|
|
이 시나리오에 대한 총 테스트 실행 수 |
|
|
마지막 테스트 실행의 타임스탬프 |
|
|
오류가 발생할 때 생성되는 오류 메시지 |
|
|
예약된 다음 실행(예: |
|
|
테스트의 반복(예: , |
POST/시나리오/{testId}
설명
POST /scenarios/{testId} 작업을 통해 특정 테스트 시나리오를 취소할 수 있습니다.
요청 파라미터
-
testId -
-
테스트의 고유 ID
유형: 문자열
필수 항목 여부: 예
-
응답
| 명칭 | 설명 |
|---|---|
|
|
테스트 상태 |
DELETE/시나리오/{testId}
설명
DELETE /scenarios/{testId} 작업을 통해 특정 테스트 시나리오와 관련된 모든 데이터를 삭제할 수 있습니다.
요청 파라미터
-
testId -
-
테스트의 고유 ID
유형: 문자열
필수 항목 여부: 예
-
응답
| 명칭 | 설명 |
|---|---|
|
|
테스트 상태 |
옵션/시나리오/{testId}
설명
OPTIONS /scenarios/{testId} 작업은 요청에 대한 응답을 올바른 CORS 응답 헤더와 함께 제공합니다.
응답
| 명칭 | 설명 |
|---|---|
|
|
테스트의 고유 ID |
|
|
테스트의 이름입니다. |
|
|
테스트에 대한 설명 |
|
|
실행 중인 테스트 유형(예: , |
|
|
업로드되는 파일 유형(예: , |
|
|
테스트 상태 |
|
|
마지막 테스트가 시작된 시간 및 날짜 |
|
|
마지막 테스트가 종료된 시간 및 날짜 |
|
|
동시성, 테스트 시간, 호스트 및 테스트 방법을 포함한 테스트 정의 |
|
|
테스트를 실행하는 데 필요한 작업 수 |
|
|
테스트 실행을 위한 작업 IDs 목록 |
|
|
테스트의 최종 결과 |
|
|
과거 테스트의 최종 결과 목록 |
|
|
오류가 발생할 때 생성되는 오류 메시지 |
GET /scenarios/{testId}/testruns
설명
이 GET /scenarios/{testId}/testruns 작업은 선택적으로 시간 범위별로 필터링된 특정 테스트 시나리오의 테스트 실행 IDs를 검색합니다. latest=true인 경우는 가장 최근의 단일 테스트 실행만 반환합니다.
요청 파라미터
-
testId -
-
테스트 시나리오 ID
유형: 문자열
필수 항목 여부: 예
-
-
latest -
-
최신 테스트 실행 ID만 반환
유형: 부울
기본값:
false필수 여부: 아니요
-
-
start_timestamp -
-
(포함)에서 테스트 실행을 필터링하기 위한 ISO 8601 타임스탬프입니다. 예:
2024-01-01T00:00:00Z유형: 문자열(날짜-시간 형식)
필수 여부: 아니요
-
-
end_timestamp -
-
(포함)까지 테스트 실행을 필터링하는 ISO 8601 타임스탬프입니다. 예:
2024-12-31T23:59:59Z유형: 문자열(날짜-시간 형식)
필수 여부: 아니요
-
-
limit -
-
반환할 최대 테스트 실행 수(일 때 무시됨
latest=true)유형: 정수(최소: 1, 최대: 100)
기본값:
20필수 여부: 아니요
-
-
next_token -
-
다음 페이지를 가져오기 위한 이전 응답의 페이지 매김 토큰
유형: 문자열
필수 항목 여부: 아니요
-
응답
200 - 성공
| 명칭 | 설명 |
|---|---|
|
|
각각 |
|
|
|
오류 응답
-
400- 잘못된 타임스탬프 형식 또는 파라미터 -
404- 테스트 시나리오를 찾을 수 없음 -
500- 내부 서버 오류
사용 예
-
최신 테스트 실행만 해당:
GET /scenarios/test123/testruns?latest=true -
시간 범위 내 최신:
GET /scenarios/test123/testruns?latest=true&start_timestamp=2024-01-01T00:00:00Z -
다음 페이지 요청:
GET /scenarios/test123/testruns?limit=20&next_token=eyJ0ZXN0SWQiOiJzZVFVeTEyTEtMIiwic3RhcnRUaW1lIjoiMjAyNC0wMS0xM1QxNjo0NTowMFoifQ==
GET /scenarios/{testId}/testruns/{testRunId}
설명
GET /scenarios/{testId}/testruns/{testRunId} 작업은 특정 테스트 실행에 대한 전체 결과 및 지표를 검색합니다. 선택적으로 더 빠른 응답을 history=false 위해를 사용하여 기록 결과를 생략합니다.
요청 파라미터
-
testId -
-
테스트 시나리오 ID
유형: 문자열
필수 항목 여부: 예
-
-
testRunId -
-
특정 테스트 실행 ID
유형: 문자열
필수 항목 여부: 예
-
-
history -
-
응답에 기록 배열을 포함합니다. 더 빠른 응답을
false위해 기록을 생략하려면 로 설정유형: 부울
기본값:
true필수 여부: 아니요
-
응답
200 - 성공
| 명칭 | 설명 |
|---|---|
|
|
테스트의 고유 ID(예: |
|
|
특정 테스트 실행 ID(예: |
|
|
로드 테스트에 대한 설명 |
|
|
테스트 유형(예: , |
|
|
테스트 실행 상태: |
|
|
테스트가 시작된 시간 및 날짜(예: |
|
|
테스트가 종료된 시간 및 날짜(예: |
|
|
성공률(예: |
|
|
|
|
|
완료된 작업 수에 리전 매핑 객체 |
|
|
|
|
|
|
|
|
과거 테스트 결과 배열(일 때 제외됨 |
오류 응답
-
400- 잘못된 testId 또는 testRunId -
404- 테스트 실행을 찾을 수 없음 -
500- 내부 서버 오류
DELETE /scenarios/{testId}/testruns/{testRunId}
설명
DELETE /scenarios/{testId}/testruns/{testRunId} 작업은 특정 테스트 실행과 관련된 모든 데이터와 아티팩트를 삭제합니다. 테스트 실행 데이터는 DynamoDB에서 제거되지만 S3의 실제 테스트 데이터는 변경되지 않습니다.
요청 파라미터
-
testId -
-
테스트 시나리오 ID
유형: 문자열
필수 항목 여부: 예
-
-
testRunId -
-
삭제할 특정 테스트 실행 ID
유형: 문자열
필수 항목 여부: 예
-
응답
204 - 성공
테스트 실행이 성공적으로 삭제되었습니다(콘텐츠가 반환되지 않음).
오류 응답
-
400- 잘못된 testId 또는 testRunId -
403- 금지됨: 테스트 실행을 삭제할 수 있는 권한이 부족함 -
404- 테스트 실행을 찾을 수 없음 -
409- 충돌: 테스트 실행이 현재 실행 중이며 삭제할 수 없음 -
500- 내부 서버 오류
GET /scenarios/{testId}/Baseline
설명
GET /scenarios/{testId}/baseline 작업은 시나리오에 대해 지정된 기준 테스트 결과를 검색합니다. data 파라미터에 따라 기준 테스트 실행 ID 또는 전체 기준 결과를 반환합니다.
요청 파라미터
-
testId -
-
테스트 시나리오 ID
유형: 문자열
필수 항목 여부: 예
-
-
data -
-
인 경우 전체 기준 테스트 실행 데이터를 반환하고
true, 그렇지 않으면 testRunId만 반환합니다.유형: 부울
기본값:
false필수 여부: 아니요
-
응답
200 - 성공
Whendata=false(기본값):
| 명칭 | 설명 |
|---|---|
|
|
테스트 시나리오 ID(예: |
|
|
기준 테스트 실행 ID(예: |
인 경우data=true:
| 명칭 | 설명 |
|---|---|
|
|
테스트 시나리오 ID(예: |
|
|
기준 테스트 실행 ID(예: |
|
|
전체 테스트 실행 결과 객체(와 동일한 구조 |
오류 응답
-
400- 잘못된 testId 파라미터 -
404- 테스트 시나리오를 찾을 수 없거나 기준 세트를 찾을 수 없음 -
500- 내부 서버 오류
PUT /시나리오/{testId}/기준
설명
PUT /scenarios/{testId}/baseline 작업은 특정 테스트 실행을 성능 비교의 기준으로 지정합니다. 시나리오당 하나의 기준만 설정할 수 있습니다.
요청 파라미터
-
testId -
-
테스트 시나리오 ID
유형: 문자열
필수 항목 여부: 예
-
요청 본문
| 명칭 | 설명 |
|---|---|
|
|
기준으로 설정할 테스트 실행 ID(예: |
응답
200 - 성공
| 명칭 | 설명 |
|---|---|
|
|
확인 메시지(예: |
|
|
테스트 시나리오 ID(예: |
|
|
설정된 기준 테스트 실행 ID(예: |
오류 응답
-
400- 잘못된 testId 또는 testRunId -
404- 테스트 시나리오 또는 테스트 실행을 찾을 수 없음 -
409- 충돌: 테스트 실행을 기준으로 설정할 수 없음(예: 테스트 실패) -
500- 내부 서버 오류
DELETE /scenarios/{testId}/Baseline
설명
DELETE /scenarios/{testId}/baseline 작업은 시나리오를 빈 문자열로 설정하여 시나리오의 기준 값을 지웁니다.
요청 파라미터
-
testId -
-
테스트 시나리오 ID
유형: 문자열
필수 항목 여부: 예
-
응답
204 - 성공
기준이 성공적으로 지워졌습니다(콘텐츠가 반환되지 않음).
오류 응답
-
400- 잘못된 testId -
500- 내부 서버 오류
GET/작업
설명
GET /tasks 작업을 통해 실행 중인 Amazon Elastic Container Service(Amazon ECS) 작업 목록을 검색할 수 있습니다.
응답
| 명칭 | 설명 |
|---|---|
|
|
테스트 실행을 위한 작업 IDs 목록 |
옵션/작업
설명
OPTIONS /tasks 작업 작업은 요청에 대한 응답을 올바른 CORS 응답 헤더와 함께 제공합니다.
응답
| 명칭 | 설명 |
|---|---|
|
|
테스트 실행을 위한 작업 IDs 목록 |
GET/리전
설명
GET /regions 작업을 통해 해당 리전에서 테스트를 실행하는 데 필요한 리전 리소스 정보를 검색할 수 있습니다.
응답
| 명칭 | 설명 |
|---|---|
|
|
리전 ID |
|
|
리전의 Amazon Fargate 작업에 대한 Amazon CloudWatch 로그 그룹의 이름입니다. |
|
|
테이블의 리소스가 있는 리전 |
|
|
리전에 있는 서브넷 중 하나의 ID입니다. |
|
|
리전에 있는 서브넷 중 하나의 ID입니다. |
|
|
리전에 있는 AWS Fargate 클러스터의 이름 |
|
|
리전에 있는 작업 정의의 ARN |
|
|
리전에 있는 작업 이미지의 이름입니다. |
|
|
리전에 있는 보안 그룹의 ID입니다. |
옵션/리전
설명
OPTIONS /regions 작업은 요청에 대한 응답을 올바른 CORS 응답 헤더와 함께 제공합니다.
응답
| 명칭 | 설명 |
|---|---|
|
|
리전 ID |
|
|
리전의 Amazon Fargate 작업에 대한 Amazon CloudWatch 로그 그룹의 이름입니다. |
|
|
테이블의 리소스가 있는 리전 |
|
|
리전에 있는 서브넷 중 하나의 ID입니다. |
|
|
리전에 있는 서브넷 중 하나의 ID입니다. |
|
|
리전에 있는 AWS Fargate 클러스터의 이름 |
|
|
리전에 있는 작업 정의의 ARN |
|
|
리전에 있는 작업 이미지의 이름입니다. |
|
|
리전에 있는 보안 그룹의 ID입니다. |