Monitoring_AWS_EBS_Costs

장준영·2024년 6월 7일

개요


저번의 청구서를 살펴보다 AMI와 Gp2에서도 비용이 많이 나오는 것을 볼 수 있었다.
현재 AMI를 사용하지 않고 있고, Gp2에도 많은 비용이 나와 여기 비용도 줄일 수 있을것이라고 생각하여 찾아보게 되었다.

비용절감 방향

AMI제거


현재 AMI가 많이 쌓여있는 모습을 볼 수 있는데, 백엔드 트랙회의에 문의한 결과 딱히 필요없는 AMI라고 결론이 났기에 삭제를 하였다.
(특히 한강 같은 이전 서비스도 남아있으며, Koin Stage는 비슷한 시기에 만들어진 것이 두개나 존재하였다.)
이렇게 해서 일단 위의 청구비용이었던 6.68USD의 비용을 절감할 수 있다.

미사용 인스턴스 제거


현재 미사용중인 ebs볼륨도 있으며, 모두 Gp2로 되어있음을 알 수 있다.
먼저 AWS공식사이트에서 중지된 인스턴스의 EBS도 과금이 되는지 궁금하여 찾아보았다.
일단 중지된 인스턴스라도 과금이 될 수도 있기에

채널에 질문을 한 결과 모두 내려도 된다는 의견을 받아 내리게 되었다.
그리하여 미사용중인 EBS요금인 11.97USD의 비용을 절감하게 되었다.

Gp2-> Gp3 마이그레이션

다음으로 AWS공식사이트에서 Gp2와 Gp3에 대한 비교를 해보았다.

Gp3의 장점으로는

  1. 빠른 성능
    IOPS(Input/output Operations Per Second)가 디폴트로 3000이 주어진다는 것이다. 반면 Gp2는 GB당 3IOPS를 할당해주기에 소규모 EBS에서는 유리할것이다.
    현재 BCSD는 전체적으로 서버가 30~40GB정도 였기에 평균적으로 90~120 IOPS가 주어지기에 Gp3로 바꾼다면 훨씬 빨라지게 된다.

40GB의 EBS볼륨을 사용중인 DB서버 기준으로 처리량을 살펴보자면

  • Gp2사용시
    IOPS : 40 x 3 IOPS/Gib = 120 IOPS
    처리량 : 120 IOPS x 256 KiB = 30MiB/s
    크레딧 : 부스트 크레딧을 활용하여 3000IOPS까지 일시적으로 부스트 가능

  • Gp3사용시
    IOPS : 3000 IOPS(default)
    처리량 : 125 MbiB/s(default)


현재 Datadog으로 production의 Mysql의 Latency를 측정한 결과 P95 latency가 감소한 모습을 확인할 수 있다.

위는 Gp2를 활용한 세부쿼리 Latency이다.

위는 Gp3를 활용한 세부쿼리 Latency이다.

물론 Latency가 감소하긴 하였으나, 생각외로 10~15%가량의 속도향상밖에 되지 않았는데, 이유는 인스턴스의 네트워크 대역폭, 데이터베이스 쿼리 최적화등 다양한 요소가 존재하기 때문이다.

  1. 저렴한 가격
    AWS공식 홈페이지를 통해 서울 리전의 비용을 확인한 결과,
  • 범용 SSD(gp3)는 GB당 0.0912USD
  • 범용 SSD(gp2)는 GB당 0.114USD
    으로 확인되었다.

현재 쩝쩝박사의 서비스를 내린후, 사용하는 EBS용량은 총 185GB이므로
총 4.218USD의 비용을 절감하게 되었다.

후기


미사용 AMI/EBS제거, EBS타입 변경으로 총 22.86USD의 비용을 줄이는 동시에 성능향상을 꾀할수 있었다.(전체비용에서 20%이상의 비용을 줄였다.) 생각외로 여러 곳에서 비용이 많이 새고 있었음을 확인할 수 있었으며, 타이트하게 비용관리를 해야함을 깨닫게 되었다.

3개의 댓글

comment-user-thumbnail
2024년 11월 28일

BCSD 살림왕
나도 이렇게 모니터링하면서 뭔가 시도해봐야할텐데 해본적이 없으니 뭔가 엄두가 안나네

1개의 답글