지연 시간 주입 - Amazon EBS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

지연 시간 주입

의 지연 시간 주입 작업(aws:ebs:volume-io-latency) AWS FIS 을 사용하여 Amazon EBS 볼륨에서 늘어난 I/O 지연 시간을 시뮬레이션하여 애플리케이션이 스토리지 성능 저하에 어떻게 반응하는지 테스트합니다. 이 작업을 사용하면 주입할 지연 시간 값과 대상 볼륨에 영향을 미칠 I/O의 백분율을 지정할 수 있습니다. 를 사용하면 사전 구성된 지연 시간 실험 템플릿을 AWS FIS사용하여 스토리지 장애 발생 시 관찰될 수 있는 다양한 I/O 지연 시간 패턴을 테스트할 수 있습니다. 이러한 템플릿은 복원력을 테스트하기 위해 애플리케이션에 중단을 일으키는 데 사용할 수 있는 초기 시나리오 세트로 설계되었습니다. 애플리케이션이 실제 환경에서 경험할 수 있는 모든 유형의 영향을 포함하도록 설계된 것은 아닙니다. 애플리케이션의 성능 요구 사항에 따라 다양한 테스트를 실행하도록 조정하는 것이 좋습니다. 사용 가능한 템플릿을 사용자 지정하거나 새 실험 템플릿을 생성하여 애플리케이션별 요구 사항을 테스트할 수 있습니다.

사전 구성된 지연 시간 실험 템플릿

Amazon EBS는 EBS 콘솔 및 AWS FIS 시나리오 라이브러리를 통해 다음과 같은 지연 시간 실험 템플릿을 제공합니다. 대상 볼륨에서 이러한 템플릿을 직접 사용하여 지연 시간 주입 실험을 실행할 수 있습니다.

  • 지속적인 지연 시간 - 일정한 지연 시간을 시뮬레이션합니다. 이 실험은 하나의 지연 시간 주입 작업을 활용하며 총 기간은 15분입니다. 이 실험은 읽기 I/O의 50%와 쓰기 I/O의 100%에서 15분 동안 500ms의 영구 지연 시간을 시뮬레이션합니다.

  • 지연 시간 증가 - 지연 시간 증가를 점진적으로 시뮬레이션합니다. 이 실험은 5개의 지연 시간 주입 작업을 활용하며 총 기간은 15분입니다. 이 실험은 읽기 I/O의 10%와 쓰기 I/O의 25%에서 지연 시간의 점진적 증가를 시뮬레이션합니다. 3분 동안 50ms, 3분 동안 200ms, 3분 동안 700ms, 3분 동안 1초, 3분 동안 15초입니다.

  • 간헐적 지연 시간 - 그 사이에 복구 기간과 함께 급격한 간헐적 지연 시간 급증을 시뮬레이션합니다. 이 실험은 세 가지 지연 시간 주입 작업을 활용하며 총 기간은 15분입니다. 이 실험은 읽기 및 쓰기 I/O의 0.1%에서 3개의 지연 시간 스파이크를 시뮬레이션합니다. 1분 동안 지속되는 30초 스파이크, 2분 동안 지속되는 10초 스파이크, 2분 동안 지속되는 20초 스파이크입니다. 각 지연 시간 스파이크 사이에는 5분의 복구 기간이 있습니다.

  • 지연 시간 감소 - 지연 시간 감소를 점진적으로 시뮬레이션합니다. 이 실험은 5개의 지연 시간 주입 작업을 활용하며 총 기간은 15분입니다. 이 실험은 읽기 I/O 및 쓰기 I/O의 10%에서 지연 시간이 점진적으로 감소하는 것을 시뮬레이션합니다. 3분 동안 20초, 3분 동안 5초, 3분 동안 900ms, 3분 동안 300ms, 3분 동안 40ms입니다.

사전 구성된 시나리오 사용자 지정

위의 사전 구성된 템플릿을 사용자 지정하거나 다음 사용자 지정 가능한 파라미터를 사용하여 새 실험 템플릿을 생성합니다.

  • readIOPercentage - 지연 시간이 주입될 읽기 I/O 작업의 백분율입니다. 이는 작업의 영향을 받는 볼륨에 대한 모든 읽기 I/O 작업의 백분율입니다.

    범위: 최소 0.1%, 최대 100%

  • readIOLatencyMilliseconds - 읽기 I/O 작업에 주입되는 지연 시간입니다. 이는 실험 중에 읽기 I/O의 지정된 백분율에서 관찰되는 지연 시간 값입니다.

    범위: 최소 1ms(io2)/10ms(비io2), 최대 60초

  • writeIOPercentage - 지연 시간이 주입될 쓰기 I/O 작업의 백분율입니다. 작업의 영향을 받는 볼륨에 대한 모든 쓰기 I/O 작업의 백분율입니다.

    범위: 최소 0.1%, 최대 100%

  • writeIOLatencyMilliseconds - 쓰기 I/O 작업에 주입되는 지연 시간입니다. 이는 실험 중에 쓰기 I/O의 지정된 백분율에서 관찰되는 지연 시간 값입니다.

    범위: 최소 1ms(io2)/10ms(비io2), 최대 60초

  • duration - 선택한 I/O의 백분율에 지연 시간이 주입되는 기간입니다.

    범위: 최소 1초, 최대 12시간

지연 시간 주입 모니터링

다음과 같은 방법으로 볼륨에 대한 성능 영향을 모니터링할 수 있습니다.

  • CloudWatch의 평균 지연 시간 지표를 사용하여 분당 평균 I/O 지연 시간을 가져옵니다. 자세한 내용은 CloudWatch를 사용하여 EBS 볼륨 모니터링을 참조하세요.

  • NVMe-CLI, CloudWatch 에이전트 및 Prometheus를 통해 사용할 수 있는 EBS 세부 성능 통계를 사용하여 초당 평균 I/O 지연 시간을 얻을 수 있습니다. 또한 세부 지표는 볼륨의 지연 시간 차이를 분석하는 데 사용할 수 있는 I/O 지연 시간 히스토그램을 제공합니다. 자세한 내용은 NVMe 세부 성능 통계를 참조하세요.

  • Amazon EBS 볼륨 상태 확인를 사용합니다. I/O 지연 시간을 주입하면 볼륨의 상태가 warning 상태로 전환됩니다.

고려 사항

EBS 지연 시간 주입을 사용할 때는 다음 사항을 고려하세요.

  • 지연 시간 주입은 P4d, P5, P5e, Trn2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-flex, R8i, R8i-flex, I8ge, Mac-m4pro, Mac-m4를 제외한 모든 Nitro 기반 인스턴스 유형에서 지원됩니다.

  • 실험에 지정된 지연 시간 값과 그에 따라 관찰된 지연 시간에서 최대 5%의 차이가 표시될 수 있습니다.

  • 매우 적은 수의 I/O 작업을 구동하는 경우 작업 파라미터에 지정된 I/O 비율이 작업의 영향을 받는 I/O의 실제 백분율과 일치하지 않을 수 있습니다.

Amazon EBS 볼륨에서 지연 시간 주입 실험을 실행하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 볼륨을 선택합니다.

  3. 실험을 실행할 볼륨을 선택하고 작업, 복원력 테스트, 볼륨 I/O 지연 시간 주입을 선택합니다.

    AWS Fault Injection Service 콘솔이 열립니다.

  4. 실험 생성 창에서 실행할 실험 유형을 간헐적, 증가, 지속 또는 감소 중에서 선택합니다.

  5. IAM 역할 선택에서 새 역할 생성을 선택하여 AWS FIS 가 사용자를 대신하여 실험을 수행하는 데 사용할 새 역할을 생성합니다. 또는 이전에 필요한 권한이 있는 IAM 역할을 생성한 경우 기존 IAM 역할 사용을 선택합니다.

  6. 요금 견적 섹션에서는 실험 실행 비용에 대한 견적을 제공합니다. 를 사용하면 실험의 대상 계정 수에 따라 처음부터 끝까지 작업이 실행되는 분당 요금이 청구 AWS FIS됩니다.

  7. 실험 시작을 선택합니다.