[DEVOCEAN YOUNG] 5월 테크 세미나 후기(클라우드 비용 최적화)

 

안녕하세요. 데보션영 2기 자료구조(7조) 장현정입니다.

5월 테크 세미나가 진행된 지 조금 시간이 지났지만 클라우드 비용 최적화 세미나를 인상 깊게 들어 조금 늦은 세미나 후기를 작성할 까 합니다.

저는 프론트엔드 개발을 주로 해왔지만 백엔드와 협업을 할 때 AWS, 클라우드 등을 사용하면서 과금 문제가 발생하는 사례로 힘들어하는 모습을 많이 본 경험이 떠올라 이번 주제에 좀 더 관심을 갖고 인상깊게 들을 수 있었습니다.

이번 5월 세미나는 크게 AWS 리소스 비용 최적화 내용과 EKS 비용 최적화 내용으로 나뉘어 진행되었습니다.

 

 

✏️AWS 비용 최적화

가장 먼저 TANGO라는 시스템 소개 및 AWS에서 TANGO를 어떻게 이용하고 있는지 등 전체적인 아키텍처에 대해 간략히 설명해 주셨습니다. 다음으로 TANGO를 AWS에서 어떤 목적으로 계정을 구분하여 활용하고 어떻게 최적화를 고민하게 되었는지 흐름을 알아가는 시간이었습니다.

 

이때 Dev/Stg/Prd 목적으로 AWS 계정을 구분하여 활용하고 있고, 계정별로 미사용 시간대에 대해 최적화를 고민하게 되었다고 하셨는데요. 특히 Dev/Stg 목적으로 사용되는 AWS 계정은 off time이 존재하여 평일 7~22시, 주말과 공휴일에는 EC2, RDS에 자동으로 on/off를 적용하여 비용을 최적화한다고 하셨습니다. 이때 RDS, EC2 인스턴스를 관리해주는 AWS에서 제공해주는 Instance Scheduler를 사용하여 람다를 구성하여 일정 주기만큼 자동으로 호출하여 on/off를 수행하도록 하였다고 합니다. 이때 AWS에서는 RDS와 EC2 인스턴스를 관리하기 위해 제공되는 Instance Scheduler를 활용하여, 일정 주기마다 자동으로 람다 함수를 호출하여 on/off를 수행하도록 하였다고 합니다.

 

다음으로 실제 Schedule 정보를 보여주며 특정 시간대에 어떻게 on/off를 하게 되며 람다로 호출되고 관리되는지 알 수 있었습니다. 이때 EC2와 RDS의 람다 순서도를 보여주며 어떻게 on/off를 구분하는지 흐름을 관련 자료와 함께 설명해 주셔서 더 쉽게 이해할 수 있었던 것 같아요. 

마지막으로 EC2, RDS를 최적화 하기 전과 후의 그래프로 결과의 차이를 보여주셨는데 최적화를 적용하고 off time에 비용이 크게 절감된 변화를 크게 느낄 수 있어 비용 최적화의 필요성을 크게 체감할 수 있었던 것 같습니다. 이외에도 유효했던 비용 최적화 사례를 추가적으로 설명해 주셔서 정말 많은 지식을 얻을 수 있는 시간이었습니다.

 

 

✏️EKS 비용 최적화

두 번째 세션에서는 앱 변경 없이 인프라적인 관점에서 어떻게 EKS 비용을 최적화 할 수 있었는지 알아볼 수 있었습니다. 이번 세션은 불필요한 EKS 리소스를 최소화하는 관점과 EKS 가성비를 향상시키는 관점인 크게 두 가지 관점으로 나누어 설명이 진행되었습니다.

 

먼저 불필요한 EKS 리소스를 최소화하는 방법으로 auto Scaling, EKS Auto Stop&Start, Right Sizing, 미사용 리소스를 제거하는 등 총 4가지를 소개해 주셨습니다.

  • Auto Scaling: Node와 Pod 관점에서 Auto Scaling을 진행합니다. Pod의 경우 HPA, VPA 2가지의 Scaling 방법이 존재하고 이 두가지 방식을 적절히 세팅해서 사용해야 합니다. Node 관점에서 보면 CA, Karpenter 패키지를 이용할 수 있습니다.
  • EKS Auto Stop & Start: 쓰지 않는 시간대에 EKS Pod들을 0으로 만들어 최소화(or 종료) 시켜야 하고 이때 Kube-downscaler를 잘 사용하여야 합니다. 여기서 kube-downscaler란 원하는 시간대에 Kubernetes Workload를 Scale down 하거나 정지시킬 수 있는 기능을 가지며, Deployment, HPA 등을 지원한다고 합니다. 이때 비용 절감은 Node Scale-in에 의해 발생하기 때문에 사전에 Node Auto Scaling 구성을 필수적으로 하는 것이 비용 절감의 핵심이라고 하네요. 실제 적용 결과를 보여주셨는데 확실히 사용량이 적은 새벽 시간대에 Pod의 개수가 급감하는 것을 볼 수 있었고, 또한 Pod의 감소에 따라 Node의 감소 결과도 확인할 수 있었습니다.
  • Right Sizing: Node, Pod, Disk를 어떻게 실제 사용하고 있는 만큼만 프로비저닝을 할 것인지에 대해 알 수 있었습니다.
  • 미사용 리소스 제거

 

두번째로 EKS 가성비를 향상시키는 관점에서 적절한 최신 기술이나 가격 정책을 사용하여 해결하고 있다고 하셨는데요. 첫번째로 최신의 기술을 계속 이용할 수 있는 환경을 만들어 지속적으로 업데이트 하는 방법을 소개해 주셨습니다.

대표적인 예시로 docker에서 containerd로 container 런타임을 변경하는 방법을 예시로 들어주셨어요. 두번째로 AWS의 가격 정책 중 RI와 Saving Plan을 예시로 들어 가격 정책을 활용해야 하는 점, 마지막으로 인스턴스 타입을 가성비 좋은 것으로 사용하라는 말씀과 함께 EKS 가성비를 향상시킬 수 있는 여러 방법을 전달하여 주셨습니다. 이외에도 지속 가능한 EKS 비용 최적화 환경을 구성하기 위해서 Application 기능 변경, 하드웨어 변경, 오픈소스, 클러스터 업데이트 등을 유의해서 최적화해야 되는 점 등을 설명해 주셔서 매우 유익한 시간이었습니다.

 

 

👏마무리👏

이번 테크 세미나는 유용하고 가치 있는 정보를 얻을 수 있는 좋은 기회였습니다. 클라우드 비용 최적화에 대해 배울 수 있어서 매우 만족스럽고, 강연자분들의 업계 경험을 듣고 이를 통해 앞으로의 프로젝트에서 활용하면 많은 도움이 될 것 같다는 생각이 들었습니다. 5월 테크 세미나를 진행해주신 전문가분들과 DEVOCEAN에 감사드립니다.😊

 

 

 

해당 세미나의 전체 영상은 아래 링크에서 다시 보실 수 있습니다.

https://devocean.sk.com/vlog/view.do?id=422&vcode=A03

반응형