실습 개요
벤치마킹은 애플리케이션 인프라의 성능을 측정하고 영향을 미치는 요인을 탐색하는 프로세스입니다.
여기서는 Amazon Elastic Block Store(Amazon EBS) 성능에 영향을 미칠 수 있는 몇 가지 요인을 살펴봅니다. Amazon EBS 볼륨 유형, 애플리케이션 I/O 프로필, 호스트 측 논리 볼륨 구성을 집중적으로 다룹니다.
이 실습에서는 초당 I/O 작업(IOPS) 및 처리량(throughput)(MiB/s) 측면에서 초기 Amazon EBS 볼륨 기준 성능 기대치를 설정합니다. Flexible IO Tester(FIO)를 사용하여 애플리케이션 워크로드를 시뮬레이션합니다. 그리고 디스크 스트라이핑(RAID 0)이라고 하는 논리 볼륨 성능 최적화 기술을 사용합니다. 또한 Amazon CloudWatch를 사용하여 스토리지 볼륨 성능을 모니터링하는 방법도 배웁니다.
아래 다이어그램에 실습 환경의 초기 아키텍처가 나와 있습니다.
Amazon Elastic Block Store(Amazon EBS) 는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스와 함께 사용하는 블록 수준 스토리지 볼륨을 제공합니다. EBS 볼륨은 포맷되지 않은 원시 블록 디바이스처럼 작동합니다. 이러한 볼륨을 인스턴스에서 디바이스로 탑재할 수 있습니다. 인스턴스에 연결된 EBS 볼륨은 스토리지 볼륨으로 표시되며 인스턴스 수명과 관계없이 지속됩니다. 이러한 볼륨 위에 파일 시스템을 생성하거나 하드 드라이브와 같은 블록 디바이스를 사용하는 것처럼 볼륨을 사용할 수 있습니다. 인스턴스에 연결된 볼륨의 구성을 동적으로 변경할 수 있습니다.
데이터에 빠르게 액세스해야 하고 장기간 지속이 필요한 경우 Amazon EBS를 사용해야 합니다. EBS 볼륨은 세분화된 업데이트가 필요하고 형식이 지정되지 않은 블록 수준의 원시 스토리지에 액세스해야 하는 애플리케이션 또는 파일 시스템 및 데이터베이스의 기본 스토리지로 사용하기에 특히 적합합니다. Amazon EBS는 무작위 읽기 및 쓰기에 의존하는 데이터베이스 스타일 애플리케이션과 길고 지속적인 연속 읽기 및 쓰기를 수행하는 처리량(throughput) 집약적 애플리케이션 모두에 적합합니다.
Amazon EBS에 대한 자세한 내용은 추가 리소스 섹션의 Amazon Elastic Block Store(Amazon EBS) 를 참조하십시오.
Amazon CloudWatch는 Amazon Web Services(AWS) 리소스와 AWS에서 실행되는 애플리케이션을 실시간으로 모니터링합니다. CloudWatch를 사용하면 리소스 및 애플리케이션을 대상으로 측정할 수 있는 변수인 지표를 수집하고 추적할 수 있습니다.
지표를 감시해 알림을 보내거나 임계값을 위반한 경우 모니터링 중인 리소스를 자동으로 변경하는 경보를 생성할 수 있습니다. 예를 들어 Amazon EC2 인스턴스의 CPU 사용량과 디스크 읽기 및 쓰기를 모니터링한 다음, 이러한 데이터를 사용하여 증가된 로드를 처리하기 위해 추가 인스턴스를 시작해야 할지 결정할 수 있습니다. 또한 이러한 데이터를 사용하여 사용률이 낮은 인스턴스를 중지하고 비용을 절감할 수도 있습니다.
CloudWatch를 사용하면 시스템 전체의 리소스 사용률, 애플리케이션 성능 및 운영 상태를 파악할 수 있습니다.
Amazon CloudWatch에 대한 자세한 내용은 추가 리소스 섹션의 Amazon CloudWatch란 무엇인가요? 를 참조하십시오.
이 실습에서 다루는 주제
이 실습을 마치면 다음을 수행할 수 있습니다.
- Flexible IO Tester(FIO)를 사용하여 다양한 Amazon EBS 볼륨의 성능을 테스트
- CloudWatch를 사용하여 다양한 EBS 볼륨 유형의 성능을 모니터링
- 디스크 스트라이핑을 사용하여 Amazon EBS 볼륨의 성능을 최적화
- 애플리케이션 워크로드에 가장 적합한 볼륨 유형을 평가
필수 기술 지식
이 실습에는 다음 사항이 필요합니다.
- AWS 관리 콘솔에 대한 지식
- Amazon Elastic Block Store에 대한 기본 지식
- SSD 및 HDD와 같은 다양한 볼륨 유형에 대한 이해
- 처리량(throughput), IOPS, IO 크기, IO 지연 시간, 대역폭과 같은 다양한 스토리지 성능 파라미터에 대한 이해
아이콘 설명
이 실습에서는 가이드의 특정 부분을 자세히 확인할 수 있도록 다양한 아이콘이 사용됩니다. 다음 목록에서는 각 아이콘의 목적을 설명합니다.
- 키보드 아이콘은 명령을 실행해야 함을 나타냅니다.
- 클립보드 아이콘은 명령 또는 편집된 파일의 출력을 제공된 예제와 비교하여 확인할 수 있음을 나타냅니다.
- 메모 아이콘은 중요한 힌트, 팁, 지침 또는 조언을 나타냅니다.
- 특별히 참고해야 할 정보에 대한 주의를 환기합니다. 참고 사항을 읽지 않는다고 해서 장비나 데이터가 물리적 피해를 입지는 않지만 특정 단계를 반복해야 할 수도 있습니다.
- "i" 원 아이콘은 자세한 정보를 찾을 수 있는 위치를 나타냅니다.
- 확인 표시가 있는 사람 아이콘은 배운 내용을 점검하고 테스트할 수 있음을 나타냅니다.
- 자신의 환경에 개념을 적용하는 방법을 고려하거나 당면한 주제에 대한 대화를 시작하기 위해 일시 중지할 시점을 제안합니다.
소요 시간
이 실습을 완료하는 데 60분 정도가 소요됩니다.
시나리오
회사에서는 Amazon EBS 볼륨을 기본 고가용성 블록 스토리지 옵션으로 사용하면서 Amazon EC2에 새 애플리케이션을 배포할 계획입니다. 각 볼륨이 저장할 기본 데이터 유형을 식별하기 위해 태깅이 사용됩니다. 애플리케이션 로그 파일을 저장하는 데 사용되는 볼륨에는 ‘log’ 태그가 지정됩니다. 애플리케이션 데이터 파일에 사용되는 볼륨에는 ‘data’ 태그가 지정됩니다.
여러분은 이 인프라가 애플리케이션의 처리량(throughput) 및 IOPS 요구 사항을 충족하도록 해야 합니다. 이를 달성하려면 각 EBS 볼륨에 대한 성능 벤치마크를 설정하고 IOPS 요구 사항을 설정해야 합니다. 이러한 벤치마크 및 요구 사항을 설정하기 위해 Flexible IO Tester(FIO)를 사용합니다.