2023.11.28일 기준 기존의 코인은 온디맨드 방식으로 지불하고 있는 상황이다.
계속 서비스를 운영할 예정이고, 온디맨드의 비용이 많이 나간다는 생각에 SavingPlans를 적용하게 되었다.
예약 인스턴스
1년 혹은 3년동안 EC2혹은 RDS인스턴스의 특정 유형을 예약하여 사용하는 방법.
ex) t2.micro인스턴스를 예약한다면 t2.micro에 대한 인스턴스 값을 지불하고 바꿀수가 없다.
특정 인스턴스에 초점을 맞춘것이 아닌 t2.micro를 하나 이용할 수 있다는 의미이다.
RI의 세가지 방식
1.전체 선결제(All Upfront)-비용을 모두 선결제, 가장 저렴하다.
2.부분 선결제(Partial Upfront)-일부는 All Upfront, 일부는 No Upfront보다 저렴한 가격에 매월 시간당 사용료를 지불한다.
3.선결제 없음(No Upfront)- 온디맨드보다 저렴한 가격에 매월 시간당 사용료를 지불한다.(선결제는 크레딧이 아닌 카드로만 가능하다.)
예약 인스턴스 사용 이유
1.가격할인
EC2가 전체 클라우드 비용중 차지하는 비중이 일반적으로 가장 크므로 RI는 비용절감에 있어서 가장 유용한 툴이 된다. 이미 온디맨드로 사용중인 EC2에 대하여 낮은 가격으로 사용할 수 있는 가장 효과적인 가격 정책이다. 기존 온디맨드로 사용중인 EC2를 RI로 전환할 것인가에 대한 결정을 할 때 사용하는 지표가 사용율이다. 사용욜이 낮은 인스턴스인 경우는 예약 인스턴스를 사용하면 더 많은 비용을 지불 해야 할 수 있다.
2.용량 및 자원 예약
두번째 이유는 대용량으로 EC2를 사용하는 기업에서는 선택한 가용영역에서 자원의 예약을 할 수 있다는 장점이다. 같은 지역 내에서 보통 3~4개 가용영역을 제공하는데, 지역간 혹은 가용영역 사이에 통신보다는 같은 가용영역내에서 링크는 지연시간이 작다는 장점이 있다. 대규모 서비스를 운영하면서 급작스러운 트래픽증가로 대규모 서버증설이 단시간내에 불가피할 경우 한 가용영역에서 자원을 예약하게 되면 하게되면 자원고갈로 대처 못하는 상황을 피할 수 있다. 이러한 경우는 대용량을 사용하는 기업외에는 매우 드문 경우라고 할 수 있다.
RI와 컨셉은 비슷하다. 1년 혹은 3년동안 EC2인스턴스의 특정 유형(ex. t2.micro)을 예약하여 사용하는 방법이다. 할인률은 RI와 동일하다.
RI와 차이점은 특정 기간에 특정 인스턴스 유형(t2.micro)을 예약하는 것이 아닌 특정 인스턴스 패밀리를 예약하는 것이다.
따라서 인스턴스 패밀리(t2)안에서 여러 인스턴스 크기를 사용할 수 있기때문에 RI보다 유연하다.
Saving Plans의 세가지 방식
1.Compute Savings Plans - 온디맨드 가격에 최대 66%,여러지역에 걸쳐 적용가능, 인스턴스 패밀리에 제한이 없다
2.EC2 Instance Saving Plans - 온디맨드 가격에 최대 72%, 단일지역에 적용 가능, 인스턴스 패밀리가 고정이다.(크기는 변경이 가능하다.)
3.SageMaker Saving Plans - AWSSageMaker 서비스 사용에 적용된다.
Koin의 Scale Up을 고려하여 절감형 인스턴스로 가는것이 효과적으로 보인다.
EC2 온디맨드 시간당 요금은 다음과 같이 책정되어있다.



현재 BCSDLab에서 가용중인 인스턴스 목록

t2.small 보다 저렴하고 성능이 좋은 t3 혹은 t4g 그룹으로 이전하는것이 성능 & 비용적으로 절감할 수 있는 방법이다.
이로 인해 다음과 같은 비용 절감을 기대할 수 있다.
[ 한달 기준 비용 책정 ]
t2.small 0.0288 USD 750 hr = 21.6
t3.small 0.026 USD 750 hr = 19.5 (2.1 USD 절감)
t4g.small 0.0208 USD * 750 hr = 15.6 (t2 대비 6 USD 절감 / t3 대비 3.9 USD 절감)
EC2 1개당 4~6 USD 절감이 가능하다.
t4g.small은 ARM 기반이기 때문에 기존 x86 방식의 EC2에서 AMI 이미지 이전이 가능한지 확인해야한다.
예상 시나리오
t2.small -> t3/t4g.small로 변경
t3/t4g.small에 대한 Saving Plan 적용

계산 사이트: https://aws.amazon.com/ko/savingsplans/compute-pricing/
기대효과
saving plan 적용 전 1차적인 비용 절감 가능
장기적으로 운영할 Production에 대해서만 saving plan 적용 가능
개발용, 임시 인스턴스의 경우 t3 군으로 관리하여 saving plan에서 제외 가능
단점
x86 기반인 t2.small을 arm 기반인 t4g.small로 이관할 수 없다.
가장 최적의 효율, 비용을 제공하는 t4g.small로 이관할 수 없다.
CPU 아키텍처가 달라 t4g.small로 AMI 이관이 불가능하다.
이에 다른 대처방안을 찾아본 결과 다음과 같은 서비스를 고려해볼 수 있다.
AWS lightsail
https://aws.amazon.com/ko/lightsail/
저렴한 비용
비슷한 스펙으로 t4g.small 플랜을 사용할 경우 약 15달러가 지출되는 반면 lightsail의 경우 월 10달러 플랜으로 커버할 수 있다.
(약 33% 비용 절감이 가능하다)

EC2 마이그레이션 지원
EC2 -> lightsail 마이그레이션을 지원한다.
https://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/amazon-lightsail-exporting-snapshots-to-amazon-ec2.html
기대효과
월별 지출량을 줄일 수 있다.
동아리 회비 관리 측면에서 연도별 지출을 고려하지 않아도 된다.
(연말에 N원 이상은 남겨놔야한다.. 관리가 어려울거같다)
현재 BCSD에서 사용하는 필수 서버의 구성은
BCSD_LAB INTERNAL
KOIN_PROD(t3a.small)
KOIN_STAGE(t3a.small)
BCSD_BUILD(t3a.small)
이다.
t3a.small-> USD 0.0152 *3= USD 0.0456
t4g.small-> USD 0.0135
를 기준으로 잡는다면
총 시간당 USD 0.0591

1년 전체 선결제 기준 USD 517.72 가 필요하다.

현재는 Saving Plans를 적용하여 비용을 30%가까이 절감을 하였다.
https://gksdudrb922.tistory.com/243
https://www.costclipper.io/blog/rireserved-instance-vs-savings-plan
https://repost.aws/ko/knowledge-center/savings-plans-considerations
https://support.bespinglobal.com/ko/support/solutions/articles/73000524747--aws-ri-savings-plans-%EA%B5%AC%EB%A7%A4-%EC%A0%88%EC%B0%A8-%EB%B0%8F-%EC%9C%A0%EC%9D%98%EC%82%AC%ED%95%AD
지금 환율 생각하면 선결제는 진짜 GOAT판단
근데 이거 그러면 내년 4월 전에 선결제 해야하나?