WiseN

[Reinvent2019] Right Sizing의 새로운 기준 - Compute Optimizer 소개

Dec 18, 2019   |   AWS

작성자_박태순

페이스북 공유하기 트위터 공유하기
Blog thumbnail

들어가며



안녕하십니까. GS네오텍 박태순 입니다.

 

AWS는 비용 최적화를 스스로 할 수 있게 하는 다양한 (도움) 서비스를 출시해 왔습니다. 예를 들면 비용 절감, 시스템 성능향상, 보안 격차 해소에 대한 권장 사항을 제시해주는 Trusted advisor, AWS 비용 및 사용량을 탐색하고 다양한 필터링을 지원하여 시각화 할 수 있는 인터페이스를 제공하는 Cost explorer, 사용자가 지정 예산을 설정하고 임계값이 초과될때 알림을 받을 수 있는 AWS Budget 등이 모두 같은 맥락의 서비스입니다.

 

그리고 이번 리인벤트 2019 행사에서도 새로운 비용 최적화 관련 서비스가 출시 되었습니다. 바로 AWS 자체 머신러닝 기반으로 최적의 컴퓨팅 리소스를 제안해주는 Compute Optimizer 서비스 인데요. 함께 자세히 알아볼까요?

 

Compute Optimizer 소개


Compute Optimizer는 현재 Amazon Elastic Compute Cloud(Amazon EC2) 및 Auto Scaling Group에 대한 권장 사항을 제시합니다. 같은 패밀리의 인스턴스 크기 뿐만 아니라 다른 패밀리에대한 제안도 실시합니다. 현재는 M, C, R, T, X 인스턴스 패밀리만 지원 되고 있습니다. Compute Optimizer가 어떤 기준으로 인스턴스 타입을 제안하는지  분석 지표를 좀 더 알아 볼까요?

Compute Optimizer는 지난 14일 동안 실행중인 리소스의 사양(vCPU, 메모리, 스토리지 등)의 사용률 지표를 분석합니다. 리소스가 30시간 이상 실행된 경우 분석되며 특정 리소스에 경우는 60시간이 필요할수도 있습니다. 또한 옵트인 후 최대 12시간의 분석시간이 소요 됩니다.

Compute Optimizer는 기본적으로 아래와 같은 CloudWatch 지표를 분석합니다.

  • CPU 사용률
  • 메모리 사용률
  • 네트워크 입력 / 출력
  • 로컬 디스크 입력 / 출력

참고로 여기서 메모리 사용률 지표를 통해 분석하고 싶은 분은 사전에 꼭 CloudWatch Agent로 메모리 사용량 지표를 활성화 해주셔야 합니다. 또한 좀 더 정확한 분석이 필요하시다면 CloudWatch에서 상세 모니터링을 활성화 하시는것이 좋습니다. 기본 5분 단위 모니터링에서 1분 단위로 모니터링한다면 잦은 샘플링으로 좀 더 정확한 분석이 가능해지기 때문입니다. 그럼 이 서비스의 흐름이 어떤식으로 진행되는지 데모를 통해 한번 살펴보도록 하겠습니다.

 

Compute Optimizer 데모






​AWS 관리 콘솔로 이동해서 Compute Optimizer 탭으로 들어가 Get Start를 누르시고 Opt in 버튼만 누르시면 서비스를 바로 이용할 수 있습니다.




접속 하시면 이러한 대시보드가 나타나게 됩니다. 아마 처음 접속하시면 전부 비어 있을텐데요. 분석 시간이 최대 12시간이 소요되기 때문에 그렇습니다. 저의 경우엔 1시간 정도 후에 재접속 해보니 분석이 끝나 있었습니다. 

크게 3가지로 결과가 분류 되어 있는데요. 

  • 프로비저닝 부족: CPU, 메모리, 네트워크 등이 워크로드의 성능 요구사항에 미치지 못하는 경우
  • 최적화: CPU, 메모리, 네트워크 등이 워크로드의 성능 요구사항을 충족하는 경우, 최적화 된 리소스를 위해 때때로 새로운 세대 인스턴스를 제안할 수 있음
  • 프로비저닝 초과: ​CPU, 메모리, 네트워크 등이 워크로드의 성능 요구사항을 초과하는 경우

 

 


 

 

추천 인스턴스 목록을 클릭하면 제가 버지니아 리전에 올려놓은 3개의 인스턴스가 보입니다. 그 중 하나를 살펴보면

 

​현재 인스턴스 타입과 비교해 추천하는 인스턴스 타입, 가격, 인스턴스 스펙등이 보입니다. 저의 샘플은 최적화된 인스턴스 타입이기 때문에 새로운 세대로 변경을 추천하고 있네요. CloudWatch Agent를 설정 하지않아 메모리 사용율 지표는 보이지 않고 CPU사용율, 네트워크 입출력에 대한 지표가 나타나고 있고 CPU사용률에 경우 현재 인스턴스 타입과 추천 인스턴스 타입이 비교되서 나타고 있는것을 보실 수 있습니다. 

 

마치며


 

​이번 포스팅에선 새로 출시된 Compute Optimizer에 대해 알아 봤는데요.  

 

`19년 12월 기준으로 Compute Optimizer 서비스를 지원하는 리전은 다음과 같습니다.

 

  • US-East-1 (N. Vrginia) 
  • US-West-2 (Oregon) 
  • Eu-west-1 (lreland) 
  • US-East-2 (Ohio) 
  • SA-east-1 (Sao Paulo) 

 

요금도 무료이기 때문에 해당 리전에 인스턴스가 있고 타입 변경을 계획하고 계셨다면 한번쯤 참고할 만한 서비스가 되겠네요. 각자 환경에 맞게 적절히 활용해 보시길 바랍니다. 그럼 마칩니다. 끝!