

# COST 6  리소스 유형, 크기 및 수 선택을 통해 비용 목표를 어떻게 달성합니까?
<a name="w2aac19c13b9b7"></a>

진행 중인 태스크에 대해 적절한 리소스 크기와 리소스 수를 선택해야 합니다. 가장 비용 효율적인 유형, 크기 및 수를 선택하여 리소스 낭비를 최소화할 수 있습니다.

**Topics**
+ [COST06-BP01 비용 모델링 수행](cost_type_size_number_resources_cost_modeling.md)
+ [COST06-BP02 데이터를 기준으로 리소스 유형, 크기, 개수 선택](cost_type_size_number_resources_data.md)
+ [COST06-BP03 지표를 기준으로 리소스 유형, 크기, 개수 자동 선택](cost_type_size_number_resources_metrics.md)

# COST06-BP01 비용 모델링 수행
<a name="cost_type_size_number_resources_cost_modeling"></a>

 조직 요구 사항을 파악하고 워크로드 및 각 워크로드 구성 요소의 비용 모델링을 수행합니다. 그리고 예상되는 다양한 부하에서 워크로드의 벤치마크 활동을 수행하여 비용을 비교합니다. 모델링 작업은 잠재적 이점을 반영해야 합니다. 예를 들면 구성 요소의 비용과 비례하여 시간을 소비해야 합니다. 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 높음 

## 구현 가이드
<a name="implementation-guidance"></a>

워크로드와 각 구성 요소에 대한 비용 모델링을 수행하여 리소스 간의 균형을 파악하고 특정 성능 수준을 고려하여 워크로드의 각 리소스에 대해 적합한 크기를 찾습니다. 그리고 예상되는 다양한 부하에서 워크로드의 벤치마크 활동을 수행하여 비용을 비교합니다. 모델링 작업은 소요되는 시간 대비 구성 요소 비용 또는 예상 절감액 등의 제공될 수 있는 이점을 반영해야 합니다. 모범 사례는 *검토* 섹션( [성능 효율성 원칙 백서](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/review.html))을 참조하십시오.

[AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 는 실행 중인 워크로드에 대한 비용 모델링에 도움이 될 수 있습니다. 이 서비스는 사용량 기록을 기준으로 컴퓨팅 리소스에 적합한 크기 권장 사항을 제공합니다. 무료 서비스이고 기계 학습을 활용하여 위험 수준에 따라 여러 권장 사항을 제시하므로 컴퓨팅 리소스에 사용하기에 적합한 데이터 소스입니다. 또한 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 및 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 에서 사용자 지정 로그를 데이터 원본으로 사용하여 다른 서비스 및 워크로드 구성 요소의 규모 조정 작업을 수행할 수도 있습니다.

다음은 비용 모델링 데이터 및 지표에 대한 권장 사항입니다.
+ 모니터링은 최종 사용자 환경을 정확하게 반영해야 합니다. 기간의 정확한 세부 수준을 선택하고, 평균이 아닌 최대값이나 99번째 백분위수를 적절하게 선택합니다.
+ 모든 워크로드 주기를 포함하는 데 필요한 분석 기간의 정확한 세부 수준을 선택합니다. 예를 들어 분석을 2주 동안 수행하는 경우 사용률이 높은 월 단위 주기를 분석하지 못하여 리소스가 너무 적게 프로비저닝될 수 있습니다.

**구현 단계 **
+ ** 비용 모델링 수행: **테스트할 특정 리소스 유형 및 크기의 별도 계정에 워크로드 또는 개념 증명을 배포합니다. 테스트 데이터로 워크로드를 실행하고 테스트 실행 시간의 비용 데이터와 함께 출력 결과를 기록합니다. 그런 다음 워크로드를 다시 배포하거나 리소스 유형 및 크기를 변경하고 테스트를 다시 실행합니다. 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [Amazon CloudWatch 기능](https://aws.amazon.com/cloudwatch/features/) 
+  [비용 최적화: Amazon EC2 적정 크기 조정](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 

# COST06-BP02 데이터를 기준으로 리소스 유형, 크기, 개수 선택
<a name="cost_type_size_number_resources_data"></a>

워크로드 및 리소스 특성(예: 컴퓨팅, 메모리, 처리량, 쓰기 집약형)에 대한 데이터를 기준으로 리소스 크기나 유형을 선택합니다. 일반적으로는 워크로드의 이전(온프레미스) 버전, 설명서 또는 워크로드와 관련된 기타 정보 출처를 사용해 리소스 사용량을 선택합니다.

 **이 모범 사례를 정립하지 않을 경우 노출되는 위험의 수준:** 보통 

## 구현 가이드
<a name="implementation-guidance"></a>

워크로드 및 리소스 특성(예: 컴퓨팅, 메모리, 처리량, 쓰기 집약형)을 기준으로 리소스 크기나 유형을 선택합니다. 일반적으로는 비용 모델링, 온프레미스 버전과 같은 워크로드의 이전 버전, 설명서 또는 워크로드와 관련된 기타 정보 출처(백서, 게시된 솔루션)를 사용하여 선택합니다.

**구현 단계**
+ **데이터를 기준으로 리소스 선택** 비용 모델링 데이터를 사용하여 예상 워크로드 사용량 수준을 선택한 다음 지정된 리소스 유형과 크기를 선택합니다.

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [Amazon CloudWatch 기능](https://aws.amazon.com/cloudwatch/features/) 
+  [비용 최적화: EC2 적정 크기 조정](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) 

# COST06-BP03 지표를 기준으로 리소스 유형, 크기, 개수 자동 선택
<a name="cost_type_size_number_resources_metrics"></a>

 현재 실행 중인 워크로드의 지표를 사용하여 비용을 최적화하기에 적합한 크기와 유형을 선택합니다. Amazon Elastic Compute Cloud(Amazon EC2), Amazon DynamoDB, Amazon Elastic Block Store(Amazon EBS)(PIOPS), Amazon Relational Database Service(Amazon RDS), Amazon EMR 및 네트워킹과 같은 서비스의 처리량, 크기 및 스토리지를 적절하게 프로비저닝합니다. 자동 조정 등의 피드백 루프나 워크로드의 사용자 지정 코드로 이 프로비저닝을 수행할 수 있습니다. 

 **이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준:** 낮음 

## 구현 가이드
<a name="implementation-guidance"></a>

실행 중인 워크로드에서 나오는 활성 지표를 사용하여 해당 워크로드를 변경하는 피드백 루프를 워크로드 안에 생성합니다. 여러분은 [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)과 같은 관리형 서비스를 사용할 수 있으며, 적정 크기 조정 작업을 대신 수행하도록 이러한 서비스를 구성할 수 있습니다. 또한 AWS는 최소한의 노력으로 리소스를 수정할 수 있는 [API, SDK](https://aws.amazon.com/developer/tools/)및 기능을 제공합니다. Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 중지하고 시작하도록 워크로드를 프로그래밍하면 인스턴스 크기 또는 인스턴스 유형을 변경할 수 있습니다. 이렇게 하면 변경에 필요한 거의 모든 운영 비용을 절감하면서 규모 조정의 이점을 실현할 수 있습니다.

일부 AWS 서비스에는 [Amazon Simple Storage Service(Amazon S3) Intelligent-Tiering](https://aws.amazon.com/about-aws/whats-new/2018/11/s3-intelligent-tiering/)등의 자동 유형 또는 크기 선택 기능이 기본적으로 포함되어 있습니다. Amazon S3 Intelligent-Tiering은 사용 패턴에 따라 자주 접근하고 자주 접근하지 않는 두 개의 접근 계층 간에 자동으로 데이터를 이동합니다.

**구현 단계**
+ ** 워크로드 지표 구성: **워크로드에 대한 주요 지표를 캡처해야 합니다. 이러한 지표는 워크로드 출력과 같은 고객 경험을 나타내며 CPU 및 메모리 사용량과 같은 리소스 유형 및 크기 간의 차이에 부합합니다. 
+ ** 적정 크기 조정 권장 사항 보기: **AWS Compute Optimizer에서 적정 크기 조정 권장 사항을 사용하여 워크로드를 조정합니다. 
+ ** 지표를 기준으로 리소스 유형 및 크기 자동 선택: **워크로드 지표를 사용하여 워크로드 리소스를 수동 또는 자동으로 선택합니다. AWS Auto Scaling을 구성하거나 애플리케이션 내에서 코드를 구현하면 자주 변경해야 하는 경우 필요한 작업량을 줄이고 수동 프로세스보다 빨리 변경 사항을 구현할 수 있습니다. 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [Amazon CloudWatch 기능](https://aws.amazon.com/cloudwatch/features/) 
+  [CloudWatch 설정](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/GettingSetup.html) 
+  [CloudWatch 사용자 지정 지표 게시](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 
+  [비용 최적화: Amazon EC2 적정 크기 조정](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) 
+  [Amazon EC2 Auto Scaling 시작하기](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Amazon S3 Intelligent-Tiering](https://aws.amazon.com/about-aws/whats-new/2018/11/s3-intelligent-tiering/) 
+  [SDK를 사용하여 EC2 인스턴스 시작](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/run-instance.html) 