[리포트] 클라우드 비용을 절감하는 습관 #reinvent #STP304-R

2023.02.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요, 임채정입니다.
지금 라스베가스에서는 11월 28일부터 12월 2일까지 re:invent를 진행했습니다.
해당 블로그는 「Habits to reduce your cloud costs」 세션을 정리한 리포트입니다.

아젠다

  1. 세션 개요
  2. 내가 사용한 비용을 이해하는 시스템
  3. Schedule
  4. Measure
  5. Automate
  6. Act
  7. 마무리

1. 세션 개요

개요

As you grow your startup, budget planning changes quickly. As the team grows, you deploy new services and customer demand changes. Learning to understand your AWS bill and building an optimization strategy are key to managing your budget. In this session, learn how to proactively manage your AWS spending and reduce your costs. Learn when to use Savings Plans, Reserved Instances, or Spot Instances and how to adjust as you add new service categories. Join this session to learn how to spend less to get more with AWS.

발표자

Jillian Forde, Startup Solutions Architect, Amazon Web Services

발표 난이도

300 - Advanced

2. 내가 사용한 비용을 이해하는 시스템

AWS를 사용할 때 다음과 같은 4단계로 나눌 수 있습니다.

  • Schedule
    먼저 일정을 잡습니다.
    일주일에 한 번이든, 격주로든, 한 달에 한 번이든 주기는 상관없이 지출을 관리하는 사람이나 팀이 모입니다.

  • Measure
    그 후 측정합니다.
    사용하는 리소스의 비용이 얼마인지 알아보는 등의 시간이 필요합니다.

  • Automate
    그리고 자동화합니다.
    예를 들어 EC2서버를 저녁동안에는 사용하지 않는다면 저녁에는 서버는 자동으로 꺼두는 등의 설정을 합니다.

  • Act
    마지막으로 행동합니다.
    위에서 했던 일을 실제로 적용시킵니다.

이제부터 각 단계를 자세하게 알아보겠습니다.

3. Schedule

먼저 일정을 짜는 단계입니다.

"자, 우리는 사전 예방적이어야 합니다. 지금 당장 비용을 절감하고, 현금을 절약해야 합니다."

만약 당신이 AWS에 익숙하지 않은 사람이나 좀 더 사전 예방적이어야 하는 사람이라면 일주일에 한번씩(꼭 일주일에 한번일 필요는 없다) 비용 절감에 대한 회의를 여는 것이 좋습니다.
이런 회의는 제 비용에 기여하는 분야가 무엇인지, 시간이 지남에 따라 수치가 변화하는 것을 볼 수 있다면 AWS를 사용하는 방법과 비용이 어디에 있는지를 파악할 수 있는 좋은 방법입니다.

"난 적극적으로 행동하고 싶어. 그리고 내 지출에 이상이 없는지 확인하고 싶습니다."

AWS에 대해 좀 더 경험이 있으신 분들은 비용 최적화 전략을 해보신 분들은 일주일보다는 더 넉넉한 기간(예를 들면 한달)으로 회의를 잡습니다.

4. Measure

AWS는 사용량 기반 모델이기 때문에 비용만 놓고 보면 모든 것을 알 수 없습니다.
트래픽이 증가하고 있다는 것은 AWS 사용량이 증가한다는 것을 의미하기 때문입니다.

AWS 콘솔에 들어가면 비용 및 사용량 아래에 현재 월별 요금이 표시되는 영역이 있습니다.
이를 총 고객 수로 나누면 사용할 수 있는 KPI(Key Performance Indicator)가 생겼습니다.
그런 다음 시간 경과에 따른 비용을 추적할 수도 있습니다.

예를 들어, A 회사의 비용과 B 회사의 비용은 얼마인지 비교해서 A 회사의 가격 구조를 변경해야 할 필요성 등을 판단할 수 있습니다.
실제로 청구하는 비용에 비해 제품을 과도하게 사용하고 있는지와 같은 결정을 내리는 데에도 도움이 될 수 있습니다.
여기에서 얻을 수 있는 테넌트당 비용 솔루션은 이 수치를 이해하는 데 도움이 될 것입니다.

이렇게 수치를 정리했으면 다음으로는 Amazon QuickSight 등을 사용해서 비용을 추적할 수도 있습니다.
해당 KPI를 확보하고 나면 비즈니스에 특정한 다른 KPI가있을 수 있지만 시간이 지남에 따라 클라우드 비용과 관련하여 이를 측정하기 시작할 수 있습니다.
물론 계절 등에 따라 변동이 있을 수도 있고요. 하지만 적어도 시간이 지남에 따라 이 지표를 추적하기 시작하면 충분히 도움이 될 수 있습니다.

5. Automate

5-1. AWS Budgets

AWS Budgets의 사용법은 아주 간단합니다.
AWS 콘솔에 들어가면 됩니다.

예를 들어 클라우드 비용의 85%가 이 숫자에 도달하면 알림을 받는 등의 설정이 가능합니다.
예산을 $100로 설정해놓으면 85달러가 되면 알림을 받을 수 있기 때문에 이번달에 갑자기 1,000달러나 나왔다고 걱정할 필요가 없어질 수 있습니다.

5-2. AWS Cost Anomaly Detection

Cost Anomaly Detection는 비정상적인 지출에 대해 사용자에게 알려줍니다.
이는 비정상적인 비용의 지출을 방지할 수 있는 사전 예방을 할 수도 있고 팀원 중 누군가가 새로운 서비스를 시작하거나 무언가를 테스트하는 경우 그에 따른 알람을 받을 수도 있습니다.
이러한 서비스는 사용자가 리스소를 낭비하지 않도록 혹은 사전에 낭비되는 영역에 지출하고 있지 않은지 확인하는 또 다른 방법입니다.

5-3. AWS Trusted Advisor findings

AWS Trusted Advisor findings는 클라우드 컴퓨팅 모범 사례에 대한 권장 사항을 제공합니다.
AWS 사용 현황을 분석하고 미처 인식하지 못했던 사용하고 있지 않은 리소스 등의 파악이 가능합니다.

또한, 다음의 구성을 통해 SNS 를 사용해서 이메일로 절약할 수 있는 부분에 대해 알람을 받을 수도 있습니다.

5-4. Intelligent Tiering

Intelligent Tiering 기능은 Amazon S3 및 Amazon EFS에서 사용할 수 있는 기능입니다.
해당 기능은 데이터 액세스 패턴을 기반으로 데이터를 가장 비용 효율적인 스토리지 클래스로 가장 비용 효율적인 스토리지 클래스로 지능적으로 이동합니다.

5-5. AWS Instance Scheduler

EC2 인스턴스를 실행 중일 때 주말에 정지해도 되는 서버라면 Instance Scheduler를 통해 EC2 인스턴스가 자동으로 꺼질 수 있게 스케줄을 설정해 둘 수 있습니다.

6. Act

6-1. Current & forecasted AWS costs

현재 달의 비용과 예상 달의 비용을 콘솔 홈페이지에서 바로 확인할 수 있습니다.
따라서 AWS 콘솔에 로그인하면 홈페이지의 비용 및 사용량 아래에서 이를 확인할 수 있어 비용이 얼마인지 금방 파악할 수 있습니다.

6-2. Top 3 costs for AWS services this month

경험에 따르면, 실제 AWS 청구서의 80퍼센트는 고객이 사용 중인 상위 3개 서비스에서 발생합니다.
따라서 제가 제안하는 것은 시간과 에너지를 집중하여 상위 3개 서비스를 통해 비용을 절감하는 데 집중하세요.

6-3. View costs and filter by tags

예를 들면 개발용 환경과 테스트용 환경으로 태그를 각각 달아놓고 각각 환경의 비용을 비교, 확인할 수 있습니다.

7. 마무리

좋은 것은 이 모든 것을 따로 다른 것 필요없이 AWS페이지에서 확인할 수 있습니다.
만약 AWS비용이 너무 많이 나와서 고민이라면 다음과 같은 방법으로 비용 절감 방법을 찾아보는 건 어떨까요?