PERF02-BP05 사용 가능한 리소스 탄력성 사용
클라우드는 수요 변화에 맞춰 다양한 메커니즘을 통해 리소스를 동적으로 확장 및 축소할 수 있는 유연성을 제공합니다. 이 탄력성과 컴퓨팅 관련 지표를 함께 활용하면 워크로드는 필요한 리소스만 사용하도록 변화에 자동으로 대응할 수 있습니다.
일반적인 안티 패턴:
-
급격한 증가도 처리할 수 있도록 초과 프로비저닝합니다.
-
용량을 수동으로 늘려 경보에 대응합니다.
-
프로비저닝 시간을 고려하지 않고 용량을 늘립니다.
-
조정 이벤트 후에 다시 축소하는 대신 증가된 용량을 그대로 둡니다.
-
워크로드의 실제 요구 사항을 직접 반영하지 않는 지표를 모니터링합니다.
이 모범 사례 확립의 이점: 수요는 고정되거나 가변적일 수 있고 패턴을 따르거나 급증할 수 있습니다. 공급과 수요를 일치시키면 워크로드 비용이 최소화됩니다. 워크로드 탄력성을 모니터링, 테스트 및 구성하면 성능이 최적화되고 비용이 절감되며 사용량 요구 사항이 변경됨에 따라 안정성이 향상됩니다. 이에 대한 수동 접근이 가능하지만 더 큰 규모에서는 비실용적입니다. 자동화된 지표 기반 접근 방식은 리소스가 언제든지 요구 사항을 충족하도록 보장합니다.
이 모범 사례를 따르지 않을 경우 노출 위험도: 중간
구현 가이드
지표 기반 자동화는 워크로드에 필요한 리소스 수요와 일치하는 리소스 공급을 목표로, 탄력성을 활용하는 데 사용해야 합니다. 예를 들어 Amazon CloudWatch 지표를 사용하여 리소스를 모니터링
컴퓨팅 관련 지표를 함께 활용하는 경우 워크로드가 변화에 자동으로 대응하여 목표를 달성하는 데 가장 적합한 리소스 세트를 활용할 수 있습니다. 또한 프로비저닝 시간 및 잠재적 리소스 장애에 대한 계획을 세워야 합니다.
인스턴스, 컨테이너 및 함수는 Application Auto Scaling
배포하는 워크로드 유형에 대해 탄력적인 리소스를 스케일 업 또는 스케일 다운할 수 있는 지표를 검증합니다. 예를 들어 동영상 트랜스코딩 애플리케이션을 배포하는 경우 100%의 CPU 활용률이 예상되므로, 기본 지표로 사용해서는 안 됩니다. 또는 대기 중인 트랜스코딩 작업의 대기열 깊이를 기준으로 측정하여 인스턴스 유형을 조정할 수 있습니다.
워크로드 배포에서 스케일 업 및 스케일 다운 이벤트를 모두 처리해야 합니다. 워크로드 구성 요소를 안전하게 축소하는 것은 수요에 따라 리소스를 확장하는 것만큼 중요합니다.
워크로드가 예상대로 작동하는지 확인하기 위해 이벤트 크기 조정을 위한 테스트 시나리오를 만듭니다.
구현 단계
-
기록 데이터를 활용하여 시간별 워크로드의 리소스 수요를 분석합니다. 다음과 같은 구체적인 질문을 합니다.
-
워크로드가 시간이 지남에 따라 일정하게 알려진 속도로 증가하고 있습니까?
-
계절에 따라 반복 가능한 패턴으로 워크로드가 증가하거나 감소합니까?
-
워크로드가 급증합니까? 급증을 예상하거나 예측할 수 있습니까?
-
-
모니터링 서비스와 기록 데이터를 최대한 활용합니다.
-
리소스에 태그를 지정하면 모니터링에 도움이 될 수 있습니다. 태그를 사용할 때 태그 지정 모범 사례를 참조합니다. 태그는 리소스를 관리, 식별 및 구성할 때도 도움이 될 수 있습니다.
-
AWS에서는 다양한 방식을 사용하여 수요와 공급을 일치시킬 수 있습니다. 비용 최적화 원칙 모범 사례(COST09-BP01 ~ COST09-03)는 다음과 같은 비용 접근 방식을 사용하는 방법을 설명합니다.
-
스케일 다운 이벤트에 대한 테스트 시나리오를 생성하여 워크로드가 예상대로 작동하는지 확인합니다.
-
대부분의 비 프로덕션 인스턴스는 사용되지 않을 때 중지되어야 합니다.
-
Amazon Elastic Block Store(Amazon EBS)를 사용할 때 필요한 스토리지의 경우 볼륨 기반 탄력성을 활용합니다.
-
Amazon Elastic Compute Cloud(Amazon EC2)
의 경우 수요 급증 시 컴퓨팅 인스턴스 수를 자동으로 늘리고 수요 감소 시 용량을 줄여 성능과 비용을 최적화할 수 있는 Auto Scaling 그룹을 사용하는 것이 좋습니다.
리소스
관련 모범 사례:
관련 문서:
관련 동영상:
-
Amazon EC2 foundations (CMP211-R2)
(Amazon EC2 기본 사항(CMP211-R2)) -
Deliver high performance ML inference with AWS Inferentia (CMP324-R1)
(AWS Inferentia로 고성능 ML 추론 제공(CMP324-R1)) -
Optimize performance and cost for your AWS compute (CMP323-R1)
(AWS 컴퓨팅의 성능 및 비용 최적화(CMP323-R1)) -
Powering next-gen Amazon EC2: Deep dive into the Nitro system
(차세대 Amazon EC2 지원: Nitro 시스템 심층 분석)
관련 예시: