COST09-BP03 동적으로 리소스 공급
리소스가 계획된 방식으로 프로비저닝됩니다. 자동 크기 조정과 같은 수요 기반이거나, 수요를 예측할 수 있고 리소스가 시간을 기준으로 제공되는 시간 기반일 수 있습니다. 이러한 방법을 사용하면 너무 많거나 적게 프로비저닝되는 리소스의 양을 최소화할 수 있습니다.
이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준: 낮음
구현 가이드
여러분은 AWS Auto Scaling
수요 기반 공급: 클라우드의 탄력성을 활용하여 수요 변경에 맞춰 리소스를 공급합니다. API 또는 서비스 기능을 활용하면 프로그래밍 방식을 통해 아키텍처의 클라우드 리소스 양을 동적으로 변경할 수 있습니다. 이렇게 하면 아키텍처의 구성 요소를 확장할 수 있으며, 수요 급증 기간 동안에는 리소스 수를 자동으로 늘려 성능을 유지하고 수요 감소 기간에는 용량을 줄여 비용을 절감할 수 있습니다.
AWS Auto Scaling
Auto Scaling이 제공하는 자동 리소스 검색 기능을 사용하면 워크로드에서 구성 가능한 리소스를 쉽게 찾을 수 있습니다. 또한 기본적으로 포함되어 있는 확장 전략을 통해 성능, 비용 또는 둘 사이의 균형을 최적화할 수 있으며 예측 조정 기능을 통해 주기적으로 발생하는 스파이크를 지원할 수 있습니다.
Auto Scaling으로 수동, 일정, 수요 기반 크기 조정을 구현할 수 있습니다. 또한 Amazon CloudWatch
수요 기반 방식을 사용하여 설계할 때는 두 가지 주요 사항을 고려해야 합니다. 먼저 새 리소스를 프로비저닝해야 하는 속도를 파악해야 합니다. 그리고 수요와 공급 간의 차이 규모는 변화한다는 점을 이해해야 합니다. 따라서 수요 변화 속도에 맞게 공급 속도를 변경할 수 있도록 준비하는 동시에 리소스 장애에도 대비해야 합니다.
ELB
시간 기반 공급: 시간 기반 방식에서는 시간별로 예측 가능하거나 적절하게 정의되는 수요에 맞게 리소스 용량을 조정합니다. 이 방식에서는 일반적으로 리소스 용량이 리소스 사용률 수준에 따라 달라지지 않습니다. 시간 기반 방식을 사용하면 필요한 특정 시간에 리소스를 사용할 수 있으며, 시작 절차 및 시스템 또는 일관성 검사로 인한 지연 없이 리소스를 제공할 수 있습니다. 또한 사용량이 많은 기간 동안 추가 리소스를 제공하거나 용량을 늘릴 수 있습니다.
예약된 Auto Scaling을 사용하면 시간 기반 접근 방식을 구현할 수 있습니다. 사용자 또는 수요 도달 시 리소스를 사용할 수 있도록 정의된 시간(예: 업무 시간 시작 시)에 워크로드 규모 확장/감축을 예약할 수 있습니다.
또한 AWS API, SDK
API를 사용해 환경 내에서 리소스 규모를 조정할 수 있습니다(수직 확장). 예를 들어 인스턴스 크기나 클래스를 변경하여 프로덕션 워크로드의 규모를 확장할 수 있습니다. 이렇게 하려면 인스턴스를 중지했다가 시작한 후 다른 인스턴스 크기나 클래스를 선택합니다. 크기를 늘리거나, 성능(IOPS)을 조정하거나, 사용 중에 볼륨 유형을 변경하기 위해 수정할 수 있는 Amazon Elastic Block Store(Amazon EBS) 탄력적 볼륨 등의 다른 리소스에도 이 기술을 적용할 수 있습니다.
시간 기반 방식을 사용하여 설계할 때는 두 가지 주요 사항을 고려해야 합니다. 먼저 사용 패턴의 일관성 정도를 파악해야 합니다. 그리고 패턴 변경 시의 영향을 고려해야 합니다. 워크로드를 모니터링하고 비즈니스 인텔리전스를 사용하면 예측 정확도를 높일 수 있습니다. 사용 패턴이 크게 변경되는 경우에는 패턴이 변경된 기간이 포함되도록 시간을 조정할 수 있습니다.
구현 단계
-
시간 기반 일정 구성: 예측 가능한 수요 변화를 위해 시간 기반 조정은 적시에 올바른 개수의 리소스를 제공할 수 있습니다. 리소스 생성 및 구성이 수요 변화에 대응할 만큼 충분히 빠르지 않은 경우에도 유용합니다. 워크로드 분석으로 AWS Auto Scaling을 사용하여 예약된 크기 조정을 구성합니다.
-
Auto Scaling 구성: 활성 워크로드 지표를 기반으로 조정을 구성하려면 Amazon Auto Scaling을 사용합니다. 분석을 사용하여 올바른 리소스 수준에서 트리거되도록 Auto Scaling을 구성하고 워크로드가 필요한 시간 내에 조정되도록 합니다.
리소스
관련 문서: