일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 비즈니스요구사항
- OCP
- BFS
- C++
- 정렬
- 서버
- EC2
- SW마에스트로
- 멀티모듈
- DFS
- web
- 해시충돌
- hashcollision
- 에러로깅
- 탄력적 ip
- STL
- 완전탐색
- 객체지향설계
- multi module
- 서버타임존설정
- 그리디
- localdatetime
- google calendar api
- 자료구조
- 개방주소법
- ZonedDateTime
- DIP
- aws
- DP
- 구현
- Today
- Total
레츠고✨
AWS Lightsail 도입에 대한 고민 - Lightsail vs EC2 비교 본문
개요
이번에 진행하는 프로젝트에서 서버를 구축하는 과정에서
라이트세일을 도입하는 것에 대해 고민했던 과정을 정리해보려 합니다.
이전까지는 당연하게 EC2 Freetier 버전을 생성해서 구축했었는데요
EC2 Freetier로 사용할 수 있는 Instance의 memory가 1GB라서
Spring 프로젝트를 띄운다고 했을 때, 메모리 부족 현상이 발생한 적이 많았습니다..
서버 다운도 자주 되고 그래서 swap을 통해 메모리를 끌어다 쓰고는 했습니다
학생이기 때문에 그렇다고 더 높은 메모리의 인스턴스를 쓰면 비용이 너무 많이 나와서 그동안은 프리티어를 쓸 수 밖에 없었지만, 이번에는 프로젝트는 정부에서 지원해주는 비용이 있어서 더 높은 메모리의 인스턴스를 쓸 생각이었습니다!
그러던 와중 Lightsail에 대해 알게 되었고,
초기 프로젝트를 위해 서버를 구축할 때 Lightsail을 사용하는 게 좋을지, 원래대로 EC2로 구축하는 것이 좋을지 고민이 시작되었습니다
Amazon Lightsail
Lightsail이란 AWS에서 웹 사이트, 웹 애플리케이션 등을 쉽게 배포하고 관리할 수 있도록 지원하는 서비스입니다. 인스턴스, 컨테이너 서비스, 관리형 데이터베이스, CDN, 로드 밸런서, DNS관리, 스냅샷 등등 프로젝트를 시작할 때 필요한 리소스들을 묶어 월별 요금제로 제공합니다.
Lightsail은 더욱 직관적인 콘솔을 제공하기 때문에 여러 리소스 관리가 더욱 간편합니다.
Lightsail vs EC2 리소스별 비용 비교
현재 프로젝트는 초기 메모리 2GB로 올릴 생각이기 때문에 해당 사양을 기준으로 라이트세일과 EC2의 예상 비용이 어떻게 책정될지
리소스별로 비교해서 정리해보았습니다.
(직접 여러 문서를 찾아보며 현재 프로젝트에 필요한 사양을 기반으로 정리한 내용입니다. 추후 비용이 달라진 점이 있을 수 있고, 내용을 잘못 기재했을 가능성도 있습니다! 비용이 어떤 식으로 다르게 책정되는지 참고용으로만 봐주세요)
Lightsail | EC2 | ||
목적 |
|
|
|
비용 | 인스턴스 | 프리티어 3개월 모델 3가지
|
프리티어 12개월 모델
|
DB | 프리티어 3개월
|
RDS
|
|
로드밸런서 |
|
|
|
스냅샷 |
|
단, OS는 Linux/Unix, Windows bundle일 경우에만 프리티어가 가능하다는 점 참고해주세요!
https://aws.amazon.com/lightsail/pricing/
비용적으로 이득인 Lightsail
제가 초기 서버 구축을 EC2로 할지, 라이트세일로 할지 고민했던 이유는 바로 비용때문이었습니다.
먼저, 프로젝트에 얼만큼의 메모리가 필요한가를 생각했을 때 처음에는 최소 2GB여야 한다고 생각했고, 나중에 더 필요하다면 늘리는 방향을 생각했습니다.
비용 측면에서 EC2는 온디맨드 방식으로 사용한 만큼 비용이 지불되었고, 라이트세일은 월 비용이 정해져 있으며 트래픽 비용이 따로 나가지 않는다는 점이 달랐습니다.
또한 라이트세일의 경우 스펙 순으로 나열했을 때 앞의 3개 인스턴스는 90일동안 무료 이벤트를 진행하고 있었는데,
이 중 메모리 2GB, 2 vCPUs, 60GB SSD, 3 TB Transfer 스펙의 인스턴스가 있었는데 초반 개발 서버 구축으로는 충분한 스펙이라고 생각했기 때문에 비용과 인스턴스 스펙 등을 생각했을 때 가장 적합하다고 생각했습니다
EC2에서 동일한 사양의 인스턴스를 선택할 경우 첫달부터 비용을 지불해야 하기 때문에 비용 절감을 위해서는 라이트세일로 서버 구축을 하는 것이 이득이었습니다.
Lightsail 에서 제한되는 기능들
하지만 Lightsail는 저렴하고 간편하게 사용할 수 있는 대신 제한점들이 있었기 때문에, 이런 점들을 정리한 뒤에 최종적으로 서버를 구축하기로 했습니다.
사용할 수 없는 기능들
1. VPC 관련 기능
2. 인스턴스 타입 변경 불가
3. 정기적인 스냅샷 생성 불가
4. 디테일한 보안그룹 설정 불가
5. IAM role 부여 안됨
6. 여러 로드밸런서 옵션 불가
제한되는 사용량
1. 계정당 최대 20개 인스턴스 유지
2. 5개의 고정 IP
3. 총 3개의 DNS 존
4. 총합 20TB의 블록스토리지 (디스크) 연결
5. 5개의 로드밸런서
6. 최대 20개의 인증서
저는 API 서버를 구축하고자 했기 때문에 디테일한 설정 같은 것들은 거의 필요하지 않았습니다.
또한 한 번 구축하면 당분간은 개발용으로만 사용할 것이라 인스턴스 타입 변경, 로드밸런서, 정기적인 스냅샷 생성 기능도 잘 사용하지 않을 것이라 괜찮았습니다.
인스턴스, IP, DNS, 인증서도 1개씩만 생성할 계획이었기 때문에 사용량이 제한되어 있어도 별 걱정은 되지 않았습니다.
고민되는 지점
다만 걱정되는 부분은 Lightsail VPC 기능이었습니다.
Lightsail 에서 생성하는 리소스들은 AWS 기존 VPC와는 다른 새로운 Lightsail용 VPC가 생성되고 AWS VPC와 함께 관리가 불가능합니다.
(추가로 예전에는 AWS VPC와 접근이 불가능했지만, VPC Peering 기능을 통해 Lightsail과 기존 AWS 리소스 사이 네트워킹이 가능해져 Lightsail의 활용성이 증가했다고 합니다.)
저희 프로젝트 특성 상 데이터를 구축하는 서버를 따로 올려야 했고, 해당 서버는 람다 혹은 온디맨드 형식의 EC2로 올릴 계획이었습니다. 그렇기에 데이터베이스의 위치에 대한 고민 또한 있었는데 Lightsail 내 데이터베이스를 사용했을 때에는 비용이 훨씬 절감되지만, 이 또한 결국에는 AWS RDS로 이전할 것이기 때문에 처음부터 RDS를 사용하기로 했습니다. (데이터베이스의 사양은 라이트세일보다는 RDS가 더욱 좋았습니다)
그래서 API 서버와 데이터베이스가 다른 VPC에 있어도 될까?라는 고민이 들었습니다. API서버가 Lightsail이기 때문에 트래픽 비용은 따로 들지 않겠지만 데이터베이스 입장에서는 트래픽 비용이 발생할 수 있기 때문입니다.
그래서 그게 얼마쯤 될까 찾아보니 Lightsail 예시는 아니었지만 외부 VPC의 EC2에서 송수신되는 데이터 전송에 대한 요금은 1GB당 0.01USD(한국돈으로 13원)정도였습니다.
결론
결론적으로 초기에는 서비스 운영을 올리지 않을 것이고 개발용 서버만 필요하기 때문에
비용 절감을 위해 2-3개월동안은 Lightsail로 구축하여 사용하기로 했습니다.
그 이유를 정리하자면 아래와 같습니다.
1) 2GB 메모리 사양의 인스턴스를 90일동안 무료로 사용 가능하여 비용 절감
2) 디테일한 설정이 필요하지 않음
3) 다른 VPC의 데이터베이스에 전송하더라도 트래픽 비용이 매우 적음
배운 점
사실 정부에서 프로젝트 비용을 지원해주는데 왜 이렇게 비용을 아끼려고 노력하는가?
에 대한 질문을 많이 받았습니다.
저도 제가 왜 그럴까 생각해보니
일단 지원해준다고는 해도 그 비용이 한정되어 있었고, 다른 곳(다른 리소스, 마케팅, 디자인비 등등)에서도 프로젝트 지원비가 필요했기 때문에 아낄 수 있는 곳에서는 최대한 아끼고 싶었습니다.
그래야 추후에 다른 리소스(Redis, ElasticSearch, Kafka 등등)를 사용할 때에 조금이라도 비용 걱정을 덜하지 않을까 하는 생각이 들었습니다.
또 AWS 리소스 비용 정책은 너무 복잡하고 방대했습니다.. 알면 알수록 여러 조건들과 제약 사항, 할인 정책 등등 너무 어렵더라구요
그래서 이왕 이것저것 알아보면서 서버 구축을 하고 있는 거 조금 더 확실하게 비교하고 따져본 다음에
어디서 내가 비용을 아낄 수 있고, 어디서는 비용 폭탄을 조심해야 되는 구나 하는 지점들을 머릿 속에 넣고 가고 싶었달까요
AWS에 호구잡히고 싶지 않다는 생각이 들어서 더욱 열심히 조사했던 것 같기도 합니다.
이 과정에서 AWS에서는 인스턴스를 팔기 위해 정말 다양한 정책과 서비스를 만들고 있구나라고 느꼈습니다.
Lightsail 도 간단하게만 서버 구축을 하고 싶은데 EC2 비용이 비싸다고 느끼는 사람들을 위해 만들어진 서비스이기도 하고요.
덕분에 조금 더 저렴하게 서버 구축을 할 수 있어서 좋은 것 같습니다. AWS 서버 구축은 EC2로 하는 것밖에 몰랐던 저에게는
다른 리소스에 대해 알 수 있었던 시간이기도 했습니다.
스포일러
그리고 이 글을 쓰는 시점이 사실 Lightsail 서버 구축을 한지 이미 2-3개월이 지난 시점인데요
실제 AWS 트래픽 비용이 0.04$ (55원) 정도로 발생했습니다. 예상처럼 아주 저렴하게 나온 걸 확인할 수 있었습니다.
또한 위에서 라이트세일에서 지원되지 않는 기능 중 'IAM 부여'가 있었는데요,
이것때문에 CI/CD 구축할 때 어려움이 있었습니다. 그래서 CI/CD 구축하는 과정에서 EC2로 결국 마이그레이션하게 됩니다.
초반부터 AWS로 CI/CD 구축할 때에는 바로 EC2로 만드시는 게 좋을 것 같아요.
저는 초반에는 AWS없이 CI/CD를 구축했기 때문에 초반 1-2개월 정도는 라이트세일로 개발을 진행하다 이후 EC2로 옮기게 되었습니다.
사실 이런 저런 제약 사항들을 따져보면 서비스 서버같은 경우 EC2로 만드는 게 좋을 것 같은데요. 만약 서비스 서버가 아닌 단순 블로그용 서버라던가 단순한 서버 구축만 필요해서 굳이 EC2의 여러 기능이 필요없고, 비용을 절감하고 싶을 경우에는 Lightsail로 올려도 좋을 것 같습니다.
레퍼런스
Amazon EC2와 Amazon Lightsail의 차이는 무엇인가요?
AWS Lightsail vs EC2 비교 어느게 좋을까?
아마존 라이트세일(Amazon Lightsail)이란 : EC2 vs Lightsail 비교
AWS EC2 / Lightsail 중 무엇을 사용할 것인가 ?
'Infra' 카테고리의 다른 글
자동 배포 CI CD 파이프라인 구축기 : AWS S3 + Code deploy (0) | 2024.09.05 |
---|---|
[AWS] EC2 서버 구축하기 - (2) Nginx, Php, Mysql 설치 및 도메인 연결 (0) | 2023.10.02 |
[AWS] EC2 서버 구축하기 - (1) 인스턴스 생성하고 접속(Window) (0) | 2022.08.11 |