AWS 기술 블로그

SK텔레콤의 AWS Graviton과 Aurora I/O-Optimized를 이용한 Amazon Aurora 비용 절감 사례

SK텔레콤은 대한민국 최대 이동통신 회사로, 고객에게 가장 신뢰받는 서비스를 제공하고 있습니다. SK텔레콤은 통신 사업자로서의 역할을 넘어서, 유무선 통신 인프라를 기반으로 하는 초연결 기술에 AI를 더하여 고객을 이롭게 하는 ‘AI Company’로의 비전을 갖고 있습니다. 이제 SK텔레콤은 통신 서비스 뿐만 아니라, 다양한 다양한 데이터 기반의 AI 서비스를 확장하고 있습니다.

SK텔레콤 TANGO 팀 소개 및 클라우드 여정

SK텔레콤은 고객들에게 더 나은 통신 경험을 제공하기 위해 2021년부터 OSS(Operations Support System) 영역의 다양한 워크로드를 AWS로 전환해 오고 있습니다.

OSS(Operations Support System, 운용지원시스템)는 통신 서비스 제공자가 통신 네트워크를 운영 및 관리하기 위해 사용하는 시스템으로 네트워크 인벤토리, 서비스 프로비저닝, 네트워크 구성, 오류 관리 등의 관리 기능을 제공하며 각종 네트워크 장비에서 생산되는 대량의 트래픽을 처리하는 특성을 가집니다.

TANGO (T-Advanced Next Generation OSS)는 SK텔레콤의 OSS로 LTE, 5G와 같은 통신 서비스를 지원하는 장비의 관리, 감시, 데이터 분석, 설계/구축과 같은 운영 업무를 지원하는 시스템입니다.

TANGO는 O, I, PF, A, EC의 5개의 기능으로 구성이 되어 있으며, 이중 클라우드 전환이 용이하고 효과가 클 것으로 예상되는 대상을 선정하여 2021년 부터 오픈 소스 데이터베이스 전환 방안을 준비하여 2022년에 5G 망 관리 시스템의 클라우드 전환을 완료하였고, 2023년 현재 3G, LTE, IP 망 관리 시스템을 전환 중에 있습니다.

[TANGO 소개]

온프레미스 환경에서는 Oracle을 기반으로 구성된 모놀리식한 서비스 구성으로, 망의 진화로 인한 관리 대상 장비와 데이터 양이 빠르게 증가하고 있고, AI 및 데이터 분석 등 연동에 따르는 데이터 증가로 인해, 확장성의 한계와 성능 이슈 그리고 고비용이 발생하는 구조적 이슈가 있었습니다.

이에 단순 리프트-앤-쉬프트(Lift-and-Shift) 방식의 클라우드 전환이 아닌 앱의 전반적인 개선을 통해 성능, 비용 및 안정성 개선을 목표로 프로젝트를 진행하였습니다.

이를 위해 확장성과 가용성을 높이기 위한 클라우드 네이티브 개발, 앱 구조 개선을 통한 서비스 구조 개선을 진행하였고, 3개의 Oracle 클러스터(5 노드 RAC, 3 노드 RAC, 2 노드 RAC)로 운영 중인 데이터베이스를 모두 Amazon Aurora MySQL 로 전환하여 종속성 제거와 비용 절감을 극대화 하였습니다.

5G 망 프로젝트 완료 후 비용을 모니터링 해보니 Aurora가 전체 비용의 56% 정도를 차지하고 있는 것을 발견하였습니다. 하지만 5G보다 2023년도 계획중인 3G/LTE의 트래픽이 훨씬 크기 때문에, 비용 구조에 대한 개선이 없이는 2023년도 프로젝트를 진행하기 어려운 상황이었습니다.

비용 절감

TANGO의 Aurora 비용 절감은 지속적인 모니터링과 AWS가 제공하는 다양한 기능을 적재적소에 적용하여 여러 단계에 걸쳐 진행되었습니다.

우선 자원 사용률 모니터링을 통한 인스턴스 사이즈 조정부터 시작하였습니다. 5G 서비스 오픈 후 샤딩된 Aurora 클러스터들의 자원 사용율을 모니터링한 결과, 유휴 자원이 많은 것을 확인할 수 있었고, 이에 db.r6g.4xlarge에서 2xlarge로 줄이고 다시 xlarge로 줄이는 과정을 거쳐 최적 사이즈의 인스턴스에서 운영하도록 하였습니다.

또한 스테이징 클러스터들의 읽기 전용 인스턴스를 모두 삭제하여 비용을 줄이고, Lambda를 이용하여 연휴/야간/주말에는 인스턴스를 멈추고 다시 시작할 수 있도록 하여 인스턴스 비용을 최적화 하였습니다.

[인스턴스 사이징 적용을 통한 일별 Aurora 비용 절감 그래프]

AWS Graviton Instance 도입

Aurora의 비용 절감을 위해 고려해볼 수 있는 또 다른 옵션은, AWS Graviton 인스턴스입니다.  Amazon Aurora와 같은 관리형 AWS 서비스는 Arm 기반의 AWS Graviton 프로세서를 보다 쉽게 도입할 수 있으며, 또한 완전관리형 경험을 사용자에게 제공합니다. 데이터베이스 인스턴스를 Graviton으로 변경하기 위해선, 인스턴스 유형을 전환해 쉽게 변경이 가능합니다.

또한 애플리케이션은 계속 정상적으로 작동하며 코드 변경, 별도의 포팅이 불필요하기 때문에 사용자는 호환성에 대한 걱정을 최소화 하실 수 있습니다. RDS Performance Insights와 같은 모든 기존 기능 역시 그대로 완벽하게 사용하실 수 있습니다. Graviton 인스턴스는 기존 인스턴스 대비 더 높은 EBS와 네트워크 대역폭을 제공해드리고 있습니다.

TANGO팀은 Graviton과 Intel 간의 성능 테스트를 통하여, 데이터베이스에 부하가 높은 상황에서 평균 CPU 사용률은 30% 적으면서 조회 시 응답 속도는 2.3배 개선되고 DML 처리 속도는 1.3배 개선되는 것을 확인하였고, TANGO 어플리케이션은 정상 동작하는 것을 확인하였습니다. 이에 TANGO의 모든 인스턴스 타입을 Intel에서 Graviton으로 변경하여 1.3배 우수한 성능을 11.7% 저렴한 가격으로 이용할 수 있게 되었습니다.

TANGO팀은 서울 리전에 Graviton 3세대 인스턴스가 릴리즈 되면, 새로운 인스턴스 타입을 적용해 보려 하고 있습니다. Graviton 3세대가 도입되면, 추가적인 성능 향상으로 인한 비용 최적화 방안을 모색할 수 있을 것으로 생각하고 있습니다.

[Graviton 성능 테스트 구성도]

[Graviton 성능 테스트 결과]

Amazon Aurora I/O-Optimized 기능 활성화

TANGO는 서비스 특성상 수 많은 통신 장비에서 쏟아져 나오는 데이터를 데이터베이스에 저장하는 것이 워크로드의 상당 부분을 차지합니다. 이로 인해 쓰기 I/O가 매우 높게 나오게 되고, 이로 인해 Aurora의 I/O 비용이 높게 나올 수 밖에 없는 구조를 가지고 있습니다. TANGO는 Aurora의 새로운 클러스터 구성을 이용해 이러한 I/O 집약적 애플리케이션의 비용을 효과적으로 절감할 수 있었습니다.

2023년 5월에 신규 출시된 Amazon Aurora I/O-Optimized 클러스터 구성은 컴퓨팅과 저장 공간에 대해서만 비용을 지불할 수 있게 해주는 새로운 클러스터 구성을 제공합니다. 특히,  I/O 사용량이 전체 Aurora 데이터베이스 지출의 25%를 초과할 경우 최대 40%의 비용 절감 효과를 얻을 수 있습니다.

모든 워크로드에 대해 예측 가능한 가격 구조를 갖추고 있어, 고객은 자신의 비즈니스나 서비스에 따른 데이터베이스 비용을 더욱 명확하게 예측할 수 있게 되었습니다. 이 새로운 클러스터 구성은 Aurora PostgreSQL 및 Aurora MySQL에 모두 적용되며, Aurora Serverless v2, 온디맨드, 그리고 예약 인스턴스와 함께 사용할 수 있습니다. 특히 예약 인스턴스를 사용하는 고객의 경우 추가적인 I/O 절감 혜택을 받을 수 있어, 장기적으로 데이터베이스를 사용할 계획인 기업이나 서비스에게 특히 유리합니다.

[Aurora Standard vs Aurora I/O Optimized 기능]

하지만 Aurora I/O-Optimized는 Aurora MySQL 3.03.1 버전 이상에 대해서만 적용이 가능한 옵션이기 때문에 메이저 버전 업그레이드가 필요한 상황이었습니다.

[Aurora I/O-Optimized 설정]

Aurora I/O-Optimized의 효과를 확인하기 위해 스테이징 클러스터들을 Aurora MySQL 3.03.1로 업그레이드하고 비용 모니터링을 해본 결과 40% 정도의 비용이 절감되는 것을 확인할 수 있었습니다.

비용 절감 효과를 확인 후 Blue/Green 배포를 적용하여 전체 DB 중 I/O 비중이 높은 운영 클러스터들을 차례로 버전 업그레이드와 Aurora I/O-Optimized를 적용하여 전체 DB 비용의 약 20%를 절감할 수 있었습니다.

그 외 Aurora를 위한 비용 최적화 방안

이 외에도 AWS에서는 Aurora를 이용하는 고객들이 비용을 절감하면서 최상의 성능을 얻을 수 있도록 다양한 최적화 전략을 제시하고 있습니다. TANGO팀에서는 아래의 인스턴스, 스토리지, 그리고 I/O 비용에 대한 최적화 전략들 중 현재 상황을 검토하여 워크로드에 맞는 각 최적화 전략을 선택하였습니다.

인스턴스 비용 최적화 전략

  • 인스턴스 스케일 다운(Scale-down): CloudWatch와 같은 메트릭을 사용하여 인스턴스의 스케일 다운이 가능한지를 판단하실 수 있습니다.
  • 쿼리 튜닝: SQL 쿼리, 인덱스, 파라미터 구성 등을 튜닝함으로써 쿼리 오버헤드를 줄일 수 있습니다.
  • AWS Graviton 인스턴스 및 예약 인스턴스 활용: 비용 효율성을 높이기 위해 AWS Graviton 인스턴스 타입 및 예약 인스턴스를 활용할 수 있습니다.
  • 오토 스케일링(Autoscaling) 활용: 읽기 전용 인스턴스에 오토 스케일링을 적용하여 워크로드에 따라 가변적으로 읽기 전용 인스턴스 수를 유지하도록 활용할 수 있습니다.
  • Stop/Start 스케줄링: Lambda 등을 사용하여 Aurora 인스턴스들에 대해 Stop/Start를 스케줄링할 수 있습니다(상시 데이터베이스 동작이 필요하지 않은 경우에만 적용)
  • Aurora Serverless 활용: 애플리케이션 요구사항에 따라 DB 용량이 자동으로 조정되도록 Aurora Serverless를 활용

스토리지 비용 최적화 전략

  • CloudWatch 모니터링: CloudWatch를 활용해 Volume Bytes Used(GiB) 메트릭을 모니터링합니다.
  • 사용하지 않는 테이블 및 인덱스 제거: 사용하지 않는 테이블 및 인덱스를 제거하여 스토리지 공간을 확보할 수 있습니다.
  • Partitioned Table 활용: Partitioned Table을 활용해 사용되지 않는 Old Partition을 제거하고 물리적 스토리지 공간을 확보
  • S3로 데이터 이동: 빠르게 증가하는 큰 테이블의 경우, 사용 데이터 주기 등을 고려하여 S3로 데이터를 이동합니다.

I/O 비용 최적화 전략

  • Buffer Cache Hit Ratio 향상: InnoDB Buffer Pool을 적정한 수준으로 조절합니다.
  • IO Intensive 쿼리 튜닝: IO Intensive 쿼리에 대한 튜닝을 진행합니다.
  • Aurora 스냅샷 활용: mysqldump와 같이 데이터를 직접 읽는 Logical Backup은 지양하고 Aurora 스냅샷 등을 활용하여 백업을 진행합니다.
  • Logical Replication 최소화: Binlog 등의 Logical Replication을 최소화합니다.
  • 제한적인 기능 활용: Aurora Parallel Query와 같이 IO 사용에 큰 영향을 줄 수 있는 기능은 제한적으로 활용합니다.
  • 불필요한 인덱스 제거: 중복되거나 사용되지 않는 인덱스를 제거합니다.
  • Partition detach/Attach 활용: Bulk Delete/Insert 시에는 Partition detach/Attach를 활용합니다.

마무리

비용 절감은 하루 아침에 이루어지는 것은 아닙니다. 지속적인 모니터링을 통해 비용 최적화가 가능한 구간을 찾아내고 여기에 적용 가능한 솔루션을 적용하는 것이 매우 중요합니다. CloudWatch, Performance Insights, Enhanced Monitoring 등을 통해 Aurora를 모니터링하고, 예약 인스턴스, Graviton 인스턴스, Aurora Serverless, Aurora I/O-Optimized 등 다양한 기능을 활용하여 Aurora의 비용을 최적화 할 수 있습니다.

하지만 데이터베이스의 성능과 비용의 최적화는 잘 튜닝된 SQL에서 시작한다는 점을 놓치지 않으시길 바랍니다.

“클라우드 전환과 동시에 오라클에서 오픈소스 DB로 전환함에 있어서 성능에 대한 많은 우려가 있었지만 Aurora 등 AWS의 우수한 서비스 기반으로 TANGO의 성능 향상과 관리 효율성 개선을 통해 최종 사용자에게 더 우수한 서비스를 제공할 수 있었습니다. 특히 Managed Service를 활용하여 일반적인 운영 부담이 줄어든 반면, Performance Insight 및 Cost Explorer등을 통해 운용 가시성을 확보할 수 있었고 이를 기반으로 성능 및 비용을 최적화하는 일 등 보다 의미 있는 일에 집중할 수 있었습니다. 클라우드 전환과정에서 오픈소스 데이터베이스로 전환을 계획하시는 분들께 작은 도움이 되기를 바라며, AWS의 우수한 서비스를 적극 활용해 보시는 것을 추천해 드립니다.”

SK 텔레콤 OSS TANGO Project Manager, 박승전 매니저

이름

Seungjeon Park

박승전 SK 텔레콤 매니저는 Infra OSS DevOps팀 소속으로 TANGO 시스템을 Cloud Native 및 오픈소스 DB 기반의 애플리케이션으로 재개발하여 클라우드로 이전하는 과제의 개발 /운영 PM 역할을 수행하고 있습니다.

이름

Wonseok Shin

신원석 SK 텔레콤 매니저는 Cloud, 가상화 플랫폼, 통신망 구축 및 운영 경험을 바탕으로 SKT TANGO 시스템을 AWS 기반 개발/운영하는 역할을 수행하고 있습니다.

이름

Yeonjune Jeong

정연준 SK 텔레콤 매니저는 5G RAN Core 기술과 OSS 개발 및 데이터 분석/처리 스페셜리스트입니다. 통신망에서 발생하는 각종 performance, alarm, call log 등의 데이터를 수집/가공하고 이를 분석하기 위한 파이프 라인 개발과 RAN/Core 시스템을 운용하기 위한 Cloud native OSS 시스템 개발하고, 데이터 통합 분석 및 AI 기능을 개발하는 역할을 수행하고 있습니다.

이름

Daesung Ko

고대성 SK 텔레콤 매니저는 TANGO 시스템의 Cloud 전환개발 및 DevOps 를 담당하고 있습니다. TANGO에 다양한 최신 기술을 적용하고 실험하면서 서비스를 개선하기 위해 노력하고 있습니다.

Jihoon Kim

Jihoon Kim

김지훈 데이터베이스 스페셜리스트 솔루션즈 아키텍트는 AWS의 다양한 데이터베이스 서비스를 활용해 서비스를 구성하고자 하는 고객들에게 최적화되고 효율적인 데이터베이스 서비스 구성을 컨설팅하고 지원하는 역할을 수행하고 있습니다.

MinHoon Lee

MinHoon Lee

이민훈 커스터머 솔루션즈 매니져는 클라우드 여정에서 발생하는 다양한 도전과제를 해결하고 전체 여정을 가속화함으로써 클라우드에서의 고객가치 실현을 지원하는 프로그램 매니저의 역할을 수행하고 있습니다.

Sanghwa Na

Sanghwa Na

나상화 솔루션즈 아키텍트는 DevOps 엔지니어 및 IT 인프라 및 자동화 경험을 바탕으로, AI/ML을 포함한 다양한 영역에서 고객이 최적의 아키텍처를 구성하도록 돕고 고객의 비즈니스 성과를 달성하도록 AWS 클라우드 전환을 지원하는 업무를 담당하고 있습니다.