토이프로젝트를 할 때, 누군가 같이 해야하거나 퍼블릭에 서버를 올려야한다면 AWS나 다른 클라우드 서비스를 쓸 수 밖에 없다. 근데 기본적으로 서버 한 대(ec2) 랑 db 정돈 있어야하는데 그럴 때를 기준으로 비용 절약하는 팁을 알려주고자 한다.

1. 일단 free tier 아이디를 구하자.
 프리티어 아이디 하나면 AWS에서 프리티어에게 제공하는 ec2 한대와 db 하나(아마 t시리즈 micro)를 매우 저렴하게 제공해줄 것이다. 그러면 솔직히 거의 부담이 안 되므로 1년간 잘 쓰도록 하자.

2. 보안을 신경 쓸 필요없다면 ec2 대신 lightsail 서비스도 고려해보자.
 여기부터는 프리티어 기간을 다 썼을 때 부터 고려해야하는 부분이다. lightsail은 aws에서 아주 저렴하게 서버를 쓸 수 있도록 제공해주는 보급형(?) 같은 서비스다. 이걸 사용하면 아쉽게도 다른 AWS 서비스와 조합하기 힘들어지지만 시작해보기엔 좋은 선택이라고 생각한다.

3. 사용 시간에 따라서 비용절감 계획을 고민해보자.
 여기부터가 진짜 비용을 고민해야 될 때인 것 같다. 필자는 토이프로젝트 초반에는 동료들에게 iam 계정을 주고, ec2와 rds를 사용하는 시간에만 틀도록 했다. 외부 고객이 없는 상태이므로 그래도 됐다. 근데 진짜 계속 on-demand로 계속 올려놔야한다면 saving plan이나 예약 인스턴스를 고려해보자. all upfront(전체 선결제)로 하면 특정 스펙의 instance만 쓸 수 있는 단점이 있지만 가격은 20~30% 정도 절약할 수 있다.

4. storage 서비스로 나가는 돈을 절약하자.

위 사진을 보면 서버를 안 사용하고 있어도 ec2와 rds가 사용하는 storage에 과금이 된다. 특히 rds에는 SSD에 따라 과금 정책이 꽤 상이한데 보통 gp2, gp3, provisioned iops SSD가 있는데 토이프로젝트에는 gp3가 좋아보인다. 왜냐하면 기본 volume에 대한 비용이 gp2보다 저렴하고, 다른 부분에서 사용량이 많을 때 과금이 더 되는 구조라서 io를 신경쓸 필요 없는 토이프로젝트에서는 gp3가 좋아보인다. provisioned iops SSD 이건 실제 서비스에서 io가 많을 때 쓰는 용도이고, 비싸니 신경쓰지말자.

5. 마지막으로 결제되는 청구서를 잘 읽자.
 하다보면 elastic ip를 사용하는 경우도 있고, 라우팅이 필요한 경우도 존재할 수 있다. 중요한 건 눈 먼 돈이 나가는 걸 막기 위해서는 청구되는 금액을 계속 tracking하는 수 밖에 없는 것 같다. 따라서 청구서를 보고 불필요하게 나가는 돈이 있다면 그 부분을 최적화하면 된다고 생각한다.

+ Recent posts