PERF02-BP05 사용 가능한 리소스 탄력성 사용 - AWS Well-Architected Framework

PERF02-BP05 사용 가능한 리소스 탄력성 사용

클라우드는 수요 변화에 맞춰 다양한 메커니즘을 통해 리소스를 동적으로 확장 및 축소할 수 있는 유연성을 제공합니다. 이 탄력성과 컴퓨팅 관련 지표를 함께 활용하면 워크로드는 필요한 리소스만 사용하도록 변화에 자동으로 대응할 수 있습니다.

일반적인 안티 패턴:

  • 급격한 증가도 처리할 수 있도록 초과 프로비저닝합니다.

  • 용량을 수동으로 늘려 경보에 대응합니다.

  • 프로비저닝 시간을 고려하지 않고 용량을 늘립니다.

  • 조정 이벤트 후에 다시 축소하는 대신 증가된 용량을 그대로 둡니다.

  • 워크로드의 실제 요구 사항을 직접 반영하지 않는 지표를 모니터링합니다.

이 모범 사례 확립의 이점: 수요는 고정되거나 가변적일 수 있고 패턴을 따르거나 급증할 수 있습니다. 공급과 수요를 일치시키면 워크로드 비용이 최소화됩니다. 워크로드 탄력성을 모니터링, 테스트 및 구성하면 성능이 최적화되고 비용이 절감되며 사용량 요구 사항이 변경됨에 따라 안정성이 향상됩니다. 이에 대한 수동 접근이 가능하지만 더 큰 규모에서는 비실용적입니다. 자동화된 지표 기반 접근 방식은 리소스가 언제든지 요구 사항을 충족하도록 보장합니다.

이 모범 사례를 따르지 않을 경우 노출 위험도: 중간

구현 가이드

지표 기반 자동화는 워크로드에 필요한 리소스 수요와 일치하는 리소스 공급을 목표로, 탄력성을 활용하는 데 사용해야 합니다. 예를 들어 Amazon CloudWatch 지표를 사용하여 리소스를 모니터링하거나 Auto Scaling 그룹에 Amazon CloudWatch 지표를 사용할 수 있습니다.

컴퓨팅 관련 지표를 함께 활용하는 경우 워크로드가 변화에 자동으로 대응하여 목표를 달성하는 데 가장 적합한 리소스 세트를 활용할 수 있습니다. 또한 프로비저닝 시간 및 잠재적 리소스 장애에 대한 계획을 세워야 합니다.

인스턴스, 컨테이너 및 함수는 Application Auto Scaling의 형태로 또는 Amazon EC2 Auto Scaling과 함께 서비스의 기능으로 탄력성을 위한 메커니즘을 제공합니다. 아키텍처에서 탄력성을 사용하여 다양한 사용 규모에 대한 성능 요구 사항을 충족하기에 충분한 용량이 있는지 확인합니다.

배포하는 워크로드 유형에 대해 탄력적인 리소스를 스케일 업 또는 스케일 다운할 수 있는 지표를 검증합니다. 예를 들어 동영상 트랜스코딩 애플리케이션을 배포하는 경우 100%의 CPU 활용률이 예상되므로, 기본 지표로 사용해서는 안 됩니다. 또는 대기 중인 트랜스코딩 작업의 대기열 깊이를 기준으로 측정하여 인스턴스 유형을 조정할 수 있습니다.

워크로드 배포에서 스케일 업 및 스케일 다운 이벤트를 모두 처리해야 합니다. 워크로드 구성 요소를 안전하게 축소하는 것은 수요에 따라 리소스를 확장하는 것만큼 중요합니다.

워크로드가 예상대로 작동하는지 확인하기 위해 이벤트 크기 조정을 위한 테스트 시나리오를 만듭니다.

구현 단계

리소스

관련 모범 사례:

관련 문서:

관련 동영상:

관련 예시: