AWS 비용최적화 아키텍처

SangLog·2023년 9월 19일
1

비용 계획, 추적, 제어

AWS 관리 콘솔 상단의 내 결제 대시보드(my billing dashboard) 링크를 클릭하면 대금 및 비용 관리 대시보드로 연결된다.
이곳에서 과거에 발행된 청구서, 크레딧 관리등을 포함 각종 비용 정보를 확인할 수 있다.

AWS Budgets

우리가 지정한 S3버킷에 비용 청구 보고서를 전송하도록 할 수 있다.
또한 비용 청구 관련 경고 메시지를 전송할때 Amazon CloudWatch Alarms을 이용하거나 새로 배포된 AWS Budgets 서비스를 이용할 수 있다.

budgets은 실행 중인 리소스와 관련된 상요량 및 비용을 추적하며 사용량 수준이 우리가 설정한 기준을 벗어나면 경고 메시지를 전송한다.

리소스에 비용할당 태그(Cost Allocation Tags) 를 부착해 예산 항목 구성 시 필터링에 활용할 수 있다. 이들 태그는 특정 클래스에 속한 리소스의 사용량 또는 비용 상한선을 표시하는데 활용 될 수 있다.

  • 생성한 비용 태그가 비용 대시보드에 반영되는 데 최대 24시간이 걸리 수 있다.
  • 태그 생성 이전에 론칭된 리소스에 대해서는 태그를 적용할 수 없다.
  • 계정당 2개의 예산(budgets)을 생성할 수 있다
  • 태그 이용료는 개당 월 $0.02 선이다.

비용 모니터링 도구

Cost Explorer

비용 대시보드에서 Cost Explorer를 클리하면 일정 기간 동안의 AWS 사용량 및 비용 그래프가 나타난다.

서비스 단위로 그룹화해 그래프로 시각화 할 수 있으며, CSV 파일로 관련 데이터를 다운로드할 수 있다.

AWS 비용 및 사용량 보고서

비용 및 사용량 보고서 역시 비용 청구내역, 요금, 제품 및 가격 속성 등의 정보를 제공한다. 이 비용 보고서 만의 특징은 보고서 생성 과정에서 제공되는 전송 옵션을 통해 파악할 수 있다.

비용 보고서에는

  • Atena(SQL로 강력한 쿼리기능 제공)
  • Redshift(대량의 데이터 처리에 특화)
  • QuickSight(저장된 데이터로부터 비즈니스 인텔리전스 도출하는 세션당 비용 지불 도구다.

를 통합해서 사용할 수 있다.

즉 비용보고서는 방대한 양의 리소스가 활용되는 기업 환경에 적합한 서비스이다.
비용 보고서는 정기적으로 S3버팃에 저장된다.

AWS Trusted Advisor

우리의 계정 환경설정과 AWS의 베스트 프랙티스를 비교할 수 있는 서비스이다.
계정 환경설정과 관련된 규정 및 성능 데이터의 5가지 유형

  • Cost Optimization(비용최적화) : 활성화 수준이 낮거나 대기 상태의 리소스
  • Performance(성능) : 부적절한 환경설정 요소에 대한 정보
  • Security(보안) : 잠재적인 환경설정 상의 문제점에 대한 정보
  • Fault Tolerance(내결합성) : 단일 실패 지점을 통해 중대한 시스템 실패 상황이 벌어지지 않도록 하기 위한, 적절한 수준의 복제 및 중복 구현 실행과 관련된 정보
  • Service Limits(서비스 한도) : 기본 사용량 제한 조건에 근접하고 있는지 여부에 대한 정보

우리가 만든 전략과 제안 받은 부분이 일치하지 않을 수도 있다. 하지만 메시지는 정기적으로 확인해볼 필요가 있다.

온라인 비용 계산기

Simple Monthly Calculator

매우 세분화된 수준에서 서비스 리소스를 선택하고 관련 비용을 계산할 수 있도록 돕는다.
월간 가동 비중을 입력해 실제 인스턴스 실행 시간동안에 해당하는 비용을 계산할 수 있다.

리소스 비용은 리전마다 다르기 떄문에 실행되는 리전별로 리소스 비용을 계산해야하며, EBS 및 RDS도 타입별로 다른 비용이 적용되기 때문에 각 타입 옵션별로 비용을 계산해야한다.

AWS 총 소유비용 계산기

복합적인 워크로드 수행에 대한 온프레미스에서의 비용과 AWS 클라우드의 ㅌ비용을 비교할 때 사용할 수 있는 총소유비용 계산기 이다.

비용 최적화 컴퓨트 전략

가상화 혁명 이후 서버 밀도는 크게 높아졌으며 과거 어느때보다 하나의 가상화 서버로 처리할 수 있는 컴퓨트 워크로드의 수가 많아졌다.
이러한 인프라를 최대한 활용하기 위한 다양한 비법들이 있다.

서버 밀도 최대화

  • 서버 밀도를 최대화 할 수 있도록 알맞는 EC2 인스턴스를 선택한다.
  • AWS Lambda도 서버 밀도 향상에 도움을 준다.
  • EKS/ECS등을 활용할 수 있다.

EC2 예약 인스턴스

전통적인 예약 인스턴스의 사용

예약 인스턴스를 구매해서 장기간 저비용으로 컴퓨트 리소스를 사용할 수 있다.
필요에 따라 단일 AZ로 한정해 비용을 절감할 수 있따.

비용 옵션은 선결제, 부분 선결제, 선결제 없음이 있는데 선결제가 가장 저렴하다.

Savings Plans 사용

1~3년간 동일한 수준의 서비스를 사용하는 계약을 맺는다는 측면에서 기본 예약 인스턴스와 비슷하지만 훨씬 높은 수준의 유연성을 제공한다.

  • compute savings plans : 다른 AWS리전에서 실행되는 또 다른 리소스로 변경이 가능하다.
  • ec2 instance plans : 단일 AWS 리전에서만 리소스 변경 가능

EC2 스팟 인스턴스

단기간 EC2인스턴스를 빌려 쓰는 개념으로 매우 저렴한 대신, 생애주기 관리의 변동성이 크고, 조건에 따라 언제든지 종료 될 수 있다.

Auto Sacling

확장 뿐만 아니라 사용하지 않을떄 수요 감축도 할 수 있기 때문에 비용을 줄이는데도 효과적이다.

EBS LifeCycle Manager

EBS 볼륨을 안전하게 보호하려고 스냅샷을 계속 생성 및 저장하면 비용이 많이 들 수 있다. 따라서 구 버전의 스냅샷은 정기적으로 삭제하고 최신의 스냅샷만 실행 대기상태로 유지하는 것이 좋다.

이러한 과정은 EBS LifeCycle Manger를 통해서 자동화 할 수 있다.

profile
기록 쌓기

0개의 댓글