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, 박승전 매니저