

# 모범 사례
<a name="cost-bp"></a>

**Topics**
+ [클라우드 재무 관리 시행](cost-cfm.md)
+ [지출 및 사용량 인식](cost-aware.md)
+ [비용 효율적인 리소스](cost-cereso.md)
+ [수요 관리 및 리소스 공급](cost-mandem.md)
+ [시간 경과에 따른 최적화](cost-opti.md)

# 클라우드 재무 관리 시행
<a name="cost-cfm"></a>

 클라우드가 도입됨에 따라 기술 팀은 승인, 조달 및 인프라 배포 주기 단축으로 더 빠르게 혁신합니다. 비즈니스 가치를 실현하고 재정적 성공을 거두려면 클라우드에서의 재무 관리에 대한 새로운 접근 방식이 필요합니다. 이 접근 방식은 클라우드 재무 관리이며 조직 전반에 걸친 지식 구축, 프로그램, 리소스 및 프로세스를 구현하여 조직 전체의 역량을 강화합니다.

 많은 조직은 서로 다른 우선순위가 지정된 여러 단위로 구성됩니다. 합의를 통해 정한 일련의 재무 목표에 따라 조직을 조정하고 목표 달성을 위한 메커니즘을 조직에 제공할 수 있으면 조직의 효율성이 향상됩니다. 역량 있는 조직은 더 빠르게 구축하고 혁신하며, 더 민첩하게 대응하고, 내부 또는 외부 요인에 적응합니다.

 AWS에서 비용 및 사용 보고서(CUR)와 함께 Cost Explorer와 Amazon Athena 및 Amazon QuickSight(선택 사항)를 사용하여 비용과 사용량에 대한 조직 전체의 인식을 높일 수 있습니다. AWS 예산에서는 비용과 사용량에 대한 사전 알림을 제공합니다. AWS 블로그는 새로운 서비스 릴리스를 숙지할 수 있도록 신규 서비스와 기능에 대한 정보를 제공합니다.

 다음은 비용 최적화 고려 사항에 중점을 둔 질문입니다. (비용 최적화 질문 및 모범 사례 목록은 [부록](a-cost-optimization.md)을 참조하세요.) 


| COST 1: 클라우드 재무 관리를 어떻게 구현하나요? | 
| --- | 
| 조직은 클라우드 재무 관리를 시행하여 비용과 사용량을 최적화하고 AWS에서 규모를 확대하면서 비즈니스 가치를 실현하고 재정적 성공을 거둘 수 있습니다. | 

 비용 최적화 역할을 구성할 때는 팀원을 활용하고 CFM 및 비용 최적화의 전문가로 팀을 보완합니다. 기존 팀원들은 조직이 현재 어떻게 작용하며 어떻게 개선 사항을 신속하게 실행하는지 알게 됩니다. 또한 분석 및 프로젝트 관리와 같은 보조 또는 전문 기술을 보유한 인력 투입도 고려합니다.

 조직에서 비용에 대한 인식을 이행할 때는 기존 프로그램과 프로세스를 바탕으로 개선하거나 구축합니다. 새로 구축하는 것보다 기존 프로세스와 프로그램에 추가하는 것이 훨씬 더 빠릅니다. 이를 통해 훨씬 더 빠르게 성과를 올릴 수 있습니다.

# 지출 및 사용량 인식
<a name="cost-aware"></a>

 클라우드에서는 향상된 유연성과 민첩성을 바탕으로 혁신을 촉진하고 개발 및 배포를 가속화할 수 있습니다. 이는 하드웨어 사양을 식별하고, 가격 견적을 협상하며, 주문 번호를 관리하고, 배송을 예약한 후 리소스를 배포하는 등의 온프레미스 인프라 프로비저닝과 연관된 시간 및 수동 프로세스를 줄입니다. 하지만 사용이 편리하고 온디맨드 용량이 사실상 무제한으로 제공되면 지출을 새로운 방식으로 고려해야 합니다.

 많은 비즈니스는 다양한 팀에서 운영하는 여러 시스템으로 구성되어 있습니다. 개별 조직 또는 제품 소유자에게 리소스 비용을 부여하는 기능은 효율적인 사용 행동 양식으로 이어지고 낭비되는 요소를 줄여줍니다. 또한 정확한 비용 기여도를 통해 수익성 높은 제품을 파악하고 예산을 어디에 할당할지에 대해 더 근거 있는 결정을 내릴 수 있습니다.

 AWS에서는 AWS Organizations 또는 AWS Control Tower를 사용하여 계정 구조를 만듭니다. 이를 통해 비용과 사용량의 분리와 할당이 가능합니다. 리소스 태그 지정을 사용하여 사용량과 비용에 비즈니스 및 조직 정보를 적용할 수도 있습니다. AWS Cost Explorer를 사용하여 비용과 사용량을 파악하거나 Amazon Athena와 Amazon QuickSight로 사용자 지정 대시보드 및 분석을 만들 수 있습니다. 비용 및 사용량 제어는 AWS Budgets를 통한 알림과 AWS Identity and Access Management(IAM) 및 Service Quotas를 사용한 제어 기능을 통해 이루어집니다.

 다음은 비용 최적화 고려 사항에 중점을 둔 질문입니다.


| COST 2: 사용량을 어떻게 관리하나요? | 
| --- | 
| 목표 달성 과정에서 발생하는 비용을 적정 수준으로 유지하는 정책과 메커니즘을 설정합니다. 견제와 균형 방식을 도입하면 비용을 과도하게 지출하지 않고 혁신을 이룰 수 있습니다. | 


| COST 3: 비용과 사용량을 어떻게 모니터링하나요? | 
| --- | 
| 비용을 모니터링하고 적절하게 할당하기 위한 정책 및 절차를 구성합니다. 이렇게 하면 이 워크로드의 비용 효율성을 측정하고 개선할 수 있습니다. | 


| COST 4: 리소스를 어떻게 폐기하나요? | 
| --- | 
| 프로젝트 시작부터 마지막까지의 전체 과정에서 변경 제어 및 리소스 관리를 구현합니다. 이를 통해 미사용 리소스를 차단하여 낭비를 줄일 수 있습니다. | 

 비용 할당 태그를 사용하여 AWS 사용량과 비용을 분류하고 추적할 수 있습니다. AWS 리소스(예: EC2 인스턴스 또는 S3 버킷)에 태그를 적용할 경우 AWS는 사용량과 태그가 포함된 비용 및 사용량 보고서를 생성합니다. 조직 카테고리(예: 비용 센터, 워크로드 이름 또는 소유자)를 나타내는 태그를 적용하여 여러 서비스 전반에서 비용을 조직화할 수 있습니다.

 비용과 사용량 보고 및 모니터링에서 적절한 수준의 세부 정보와 세분화를 사용해야 합니다. 개략적인 인사이트와 추세를 위해서는 AWS Cost Explorer에서 일 단위의 세부 수준을 사용합니다. 심층적인 분석과 검사를 위해서는 시간 단위의 CUR(비용 및 사용 보고서)과 함께 AWS Cost Explorer 또는 Amazon Athena와 Amazon Quick에서 시간 단위의 세부 수준을 사용합니다.

 태그가 지정된 리소스와 엔터티 수명 주기 추적(직원, 프로젝트)을 결합하면 조직에 더 이상 가치를 제공하지 않아 폐기해야 할 고립된 리소스나 프로젝트를 식별할 수 있습니다. 예상되는 초과 지출에 대한 통지를 받도록 결제 알림을 설정할 수 있습니다.

# 비용 효율적인 리소스
<a name="cost-cereso"></a>

 워크로드에 적합한 인스턴스와 리소스 사용은 비용 절감의 핵심입니다. 예를 들어 보고 프로세스에서 보다 작은 서버를 운영하는 데는 5시간이 걸리지만 2배로 비싼 더 큰 서버를 운영하는 데는 1시간이 걸릴 수 있습니다. 두 서버가 모두 동일한 결과를 내지만 보다 작은 서버는 시간에 따라 더 높은 비용이 발생합니다.

 잘 설계된 워크로드는 상당히 긍정적인 비용적 영향을 미칠 수 있는 가장 비용 효율적인 리소스를 사용합니다. 또한 관리형 서비스를 사용하여 비용을 절감할 기회도 얻게 됩니다. 예를 들어 이메일을 전송하는 서버를 유지 관리하는 것 외에 메시지당을 기준으로 부과되는 서비스를 사용할 수 있습니다.

 AWS는 요구 사항을 가장 효과적으로 충족하는 Amazon EC2 및 다른 서비스의 인스턴스를 획득하도록 유연하고 비용 효율적인 요금 옵션을 매우 다양하게 제공합니다. *온디맨드* *인스턴스*의 경우 최소 약정이 없으며 시간 단위로 컴퓨팅 파워 비용을 지불합니다. *절감형 플랜 및 예약형 인스턴스*는 온디맨드 요금에 비해 최대 75% 할인된 요금을 제공합니다. 스팟 인스턴스를 사용하면 미사용 Amazon EC2 용량을 활용할 수 있으며 온디맨드 요금보다 최대 90% 할인된 요금을 제공합니다. *스팟 인스턴스*는 시스템이 상태 비저장 웹 서버, 일괄 처리 또는 HPC 및 빅 데이터를 사용하는 경우 등 개별 서버가 동적으로 오고갈 수 있는 서버 플릿 사용을 용인할 수 있는 데에 적합합니다.

 적합한 서비스 선택으로 사용량 및 비용도 절감할 수 있습니다. 예를 들어, CloudFront를 사용하면 데이터 전송을 최소화하거나 소모 비용을 줄일 수 있으며, Amazon Aurora on Amazon RDS를 활용하면 값비싼 데이터베이스 라이선싱 비용을 해소할 수 있습니다.

 다음은 비용 최적화 고려 사항에 중점을 둔 질문입니다.


| COST 5: 서비스를 선택할 때 비용을 어떻게 평가하나요? | 
| --- | 
| Amazon EC2, Amazon EBS 및 Amazon S3는 기본 구성 AWS 서비스입니다. Amazon RDS 및 Amazon DynamoDB와 같은 관리형 서비스는 더 높은 수준이거나 애플리케이션 수준의 AWS 서비스입니다. 기본 구성 서비스와 관리형 서비스를 적절히 선택하여 이 워크로드의 비용을 최적화할 수 있습니다. 예를 들어 관리형 서비스를 사용하면 관리 및 운영 고정 비용을 상당 부분 줄이고, 애플리케이션 및 비즈니스 관련 활동에 집중할 수 있습니다. | 


| COST 6: 리소스 유형, 크기 및 수 선택을 통해 비용 목표를 어떻게 달성하나요? | 
| --- | 
| 진행 중인 작업에 대해 적절한 리소스 크기와 리소스 수를 선택해야 합니다. 가장 비용 효율적인 유형, 크기 및 수를 선택하여 리소스 낭비를 최소화할 수 있습니다. | 


| COST 7: 비용 절감을 위해 요금 모델을 어떻게 사용하나요? | 
| --- | 
| 해당 리소스에 대해 비용을 최소화하는 데 가장 적합한 요금 모델을 사용합니다. | 


| COST 8: 데이터 전송 요금을 위한 계획은 어떻게 되나요? | 
| --- | 
| 비용 최소화를 위한 아키텍처 관련 사항을 결정할 수 있도록 데이터 전송 요금을 계획하고 모니터링해야 합니다. 아키텍처를 약간이라도 효율적으로 변경하면 장기적으로 운영 비용을 크게 줄일 수 있습니다. | 

 서비스 선택 시 비용을 고려하고 Cost Explorer 및 AWS Trusted Advisor와 같은 도구를 사용하여 AWS 사용량을 정기적으로 검토함으로써 사용률을 적극적으로 모니터링하고 그에 따라 배포를 조절할 수 있습니다.

# 수요 관리 및 리소스 공급
<a name="cost-mandem"></a>

 클라우드로 이전하면 필요한 용량에 대한 비용만 지불하면 됩니다. 필요할 때 워크로드 수요에 맞춰 리소스를 공급할 수 있으므로 비용이 많이 들고 비경제적인 오버프로비저닝이 줄어듭니다. 또한 조절, 버퍼 또는 대기열을 통해 수요를 수정하여 수요를 원활하게 하고 더 적은 리소스로 수요를 처리함으로써 비용을 낮추거나 나중에 배치 서비스로 수요를 처리할 수 있습니다.

 AWS에서는 워크로드 수요에 맞춰 리소스를 자동으로 프로비저닝할 수 있습니다. 수요 또는 시간 기반 접근 방식을 사용하는 Auto Scaling을 활용하면 필요한 만큼 리소스를 추가하고 제거할 수 있습니다. 수요의 변화를 예측할 수 있으면 비용을 더 많이 절약하고 워크로드 수요에 리소스를 맞출 수 있습니다. Amazon API Gateway를 사용하여 조절을 실행하거나 Amazon SQS를 사용하여 워크로드에서 대기열을 구현할 수 있습니다. 둘 다 워크로드 구성 요소에 대한 수요를 수정할 수 있습니다.

 다음은 비용 최적화 고려 사항에 중점을 둔 질문입니다.


| COST 9: 수요와 리소스 공급은 어떻게 관리하나요? | 
| --- | 
| 비용과 성능을 적절하게 절충한 워크로드에서는 비용을 결제한 모든 리소스가 사용되는지 확인하고, 사용률이 매우 낮은 인스턴스가 없도록 해야 합니다. 사용률 지표가 매우 높거나 낮으면 조직의 운영 비용(사용률이 너무 높아 성능이 저하됨)이 늘어나거나 과도한 프로비저닝으로 AWS 지출 금액이 낭비되는 등 조직에 악영향을 미칩니다. | 

 수요 및 공급 리소스를 수정하도록 설계할 때는 사용 패턴, 새 리소스를 프로비저닝하는 데 걸리는 시간 및 수요 패턴의 예측 가능성을 적극적으로 고려하세요. 수요를 관리할 때 대기열 또는 버퍼의 크기가 적절한지 그리고 필요한 시간 내에 워크로드 수요에 응답하고 있는지 확인해야 합니다.

# 시간 경과에 따른 최적화
<a name="cost-opti"></a>

 AWS에서 신규 서비스와 기능이 출시되면 기존에 결정한 아키텍처 관련 사항을 검토하여 비용 측면에서 여전히 가장 효율적인 결정인지 확인하는 것이 좋습니다. 요구 사항이 변경되면 더 이상 필요하지 않은 리소스, 전체 서비스 및 시스템을 과감하게 폐기하세요.

 새로운 기능 또는 리소스 유형을 구현하면 변경 사항을 구현하는 데 필요한 노력을 최소화하면서 워크로드를 점진적으로 최적화할 수 있습니다. 이를 통해 장기적 효율성이 지속적으로 향상되고 최첨단 기술을 계속 활용하여 운영 비용을 절감할 수 있습니다. 구성 요소를 교체하거나 새 구성 요소를 워크로드에 신규 서비스와 함께 추가할 수도 있습니다. 이렇게 하면 효율성이 크게 향상될 수 있으므로 정기적으로 워크로드를 검토하고 신규 서비스와 기능을 구현하는 것이 반드시 필요합니다.

 다음은 비용 최적화 고려 사항에 중점을 둔 질문입니다.


| COST 10: 새로운 서비스를 어떻게 평가하나요? | 
| --- | 
| AWS에서 신규 서비스와 기능이 출시되면 기존에 결정한 아키텍처 관련 사항을 검토하여 비용 측면에서 여전히 가장 효율적인 결정인지 확인하는 것이 좋습니다. | 

 정기적으로 배포를 검토할 때 최신 서비스가 비용을 절약하는 데 어떻게 도움이 될 수 있는지 평가합니다. 예를 들어 Amazon Aurora on Amazon RDS를 사용하면 관계형 데이터베이스의 비용을 줄일 수 있습니다. Lambda와 같은 서버리스를 사용하면 코드를 실행하기 위해 인스턴스를 운영하고 관리할 필요가 없습니다.


| COST 11: 작업 비용을 어떻게 평가하나요? | 
| --- | 
|  클라우드에서의 운영 비용을 평가하고, 시간이 많이 걸리는 클라우드 운영을 검토하며, 관련 AWS 서비스, 서드파티 제품 또는 사용자 지정 도구를 채택하여 인적 노력과 비용을 줄이도록 이를 자동화하합니다. | 