제 프로젝트는 사용자가 특정 차트를 고르면, 코스피 코스닥 전 종목의 과거(5년) 차트들을 모두 탐색하여 가장 유사한 차트 10개 정도를 골라 사용자에게 보여주는 것이 목표입니다.
비슷한 차트 검색기
전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요?
www.similarchart.com
정확히 어떤 서비스에서 비용이 발생할까
저는 2023년 10월부터 AWS를 사용하여 제 웹프로젝트를 배포하고 있습니다. 물론 프로젝트가 완성되어 배포한 건 아니고 아직 개발 단계와 테스트 단계입니다.
다행인 부분은 제 프로젝트가 생각했던 범위 내의 비용에서 실행이 일단 된다는 점입니다. 하지만 또 모르죠. 실제 완성해서 배포했더니 사용자가 10명만 동시에 사용해도 서버가 정신을 못 차릴지..
지금까지는 그냥 개발과 테스트에 필요하니까 그냥 비용을 지불하며 사용했는데, 언젠가 한번쯤 확실하게 어떤 서비스에서 비용이 발생하는지 자세히 분석할 필요가 있다고 생각해 왔습니다. 더 미루지 말고 오늘 분석해 봐야겠습니다.
청구서 심층 분석
AWS 청구서는 사용한 서비스에 대한 비용을 자세히 나열하고 있습니다. 2023년 12월에 대한 청구서를 분석해 보겠습니다.
두번째로, 이번 포스팅에서는 2,3번째 항목인 Route 53, Data Trasfer에 대해 분석해 보겠습니다.
1. Route 53
- 총 비용: $0.50
호스팅된 영역
- 비용: $0.50
- 단가: $0.50/호스팅된 영역
- 사용된 호스팅된 영역 수: 1
Route 53은 AWS에서 제공하는 DNS 서비스입니다. 여기서는 단 하나의 호스팅된 영역에 대한 비용이 청구되었습니다.
DNS 쿼리
- 쿼리 수: 8,102
- 비용: $0.00 (무료 티어 내)
Route 53은 도메인 이름 시스템(DNS) 서비스를 제공하며, 도메인 이름 등록, DNS 라우팅, 상태 확인 등의 기능을 갖추고 있습니다. 저는 도메인을 하나 구매해서 연결하였습니다. 아마 이것과 관련 있을 것 같네요.
청구 내역에 나타난 $0.50는 '호스팅된 영역'에 대한 비용입니다. 호스팅된 영역(hosted zone)은 특정 도메인과 그 하위 도메인에 대한 DNS 레코드의 집합입니다. 각 호스팅된 영역은 도메인의 DNS 쿼리를 처리하고 관리하는데, AWS에서는 이를 위한 월별 고정 요금을 부과합니다.
호스팅된 영역
호스팅된 영역 비용
: 웹사이트의 DNS 레코드를 관리하기 위해 필요한 공간입니다. 이는 도메인을 구매하고 웹사이트에 연결할 때 생성됩니다.
단가
: AWS는 호스팅된 영역 당 월별 $0.50의 비용을 청구합니다.
사용된 호스팅된 영역 수: 1개의 호스팅된 영역에 대한 비용이 청구되었으며, 이는 보통 당신이 관리하는 도메인 수와 일치합니다.
DNS 쿼리
DNS 쿼리 수
: 호스팅된 영역에 대해 수행된 DNS 쿼리의 수입니다. 쿼리는 사용자의 웹 브라우저나 애플리케이션에서 도메인 이름을 IP 주소로 변환할 때 발생합니다.
비용
: 8,102개의 DNS 쿼리에 대해 비용이 청구되지 않았습니다. 이는 AWS의 무료 티어 정책에 따라 일정량의 쿼리는 무료로 제공되기 때문입니다.
이 청구 내역을 통해,도메인을 위한 DNS 서비스 관리에 대한 기본 비용이 $0.50이며, 사용량이 무료 티어 한도 내에 있었다는 것을 알 수 있습니다. 도메인을 구매할 때의 등록 비용은 이 비용에 포함되지 않으며, 보통 도메인 등록 시 별도로 청구됩니다.
AWS Route 53 청구 내역은 사용자가 설정한 DNS 레코드에 대한 관리 및 쿼리 처리에 대한 비용을 나타냅니다. 만약 추가 도메인을 등록하거나 더 많은 트래픽을 처리해야 한다면, 그에 따라 비용이 증가할 수 있습니다.
2. Data Transfer
- 총 비용: $0.12
데이터 전송 비용
- 데이터 전송 in: 4.133 GB
- 데이터 전송 out: 1.447 GB
- 지역 내 데이터 전송: 11.698 GB
- 비용: $0.12
- 단가: $0.01/GB
데이터 전송 비용은 EC2 인스턴스 간의 데이터 전송이나 Elastic Load Balancing 사용 시 발생합니다. 여기서는 지역 데이터 전송에 대한 소액의 비용이 청구되었습니다.
AWS에서 데이터 전송 비용은 다양한 요소에 따라 달라질 수 있습니다. 일반적으로 AWS는 EC2 인스턴스와 같은 서비스 간, 또는 인터넷으로의 데이터 전송에 대해 요금을 부과합니다. 여기서 말하는 '데이터 전송 in'은 외부에서 EC2 인스턴스로 데이터가 들어오는 것을, '데이터 전송 out'은 EC2 인스턴스에서 외부로 데이터가 나가는 것을 의미합니다.
데이터 전송 비용 분석
- 데이터 전송 in: AWS는 대부분의 리전에서 데이터를 인터넷에서 EC2 인스턴스로 전송할 때 비용을 부과하지 않습니다. 따라서 이 부분은 대개 무료입니다.
- 데이터 전송 out: 인터넷으로 데이터를 전송할 때 일정 무료 사용량을 초과하는 경우 비용이 발생합니다. 무료 사용량은 AWS의 무료 티어 정책에 따라 매달 제공됩니다. 여기서는 전송 out에 대한 총 사용량이 무료 티어에 해당되지 않거나 초과하여 일부 비용이 발생했을 수 있습니다.
- 지역 내 데이터 전송: 같은 AWS 리전 내에서 EC2 인스턴스와 RDS 인스턴스 간에 데이터를 전송할 때 발생하는 비용입니다. 일반적으로 AWS는 같은 리전 내에서의 데이터 전송에 대해서는 비용을 매우 낮게 책정하거나 무료로 제공합니다. 그러나 여기서는 11.698 GB에 대해 $0.12의 비용이 발생했는데, 이는 아마도 데이터 전송이 같은 가용 영역 내에서 발생하지 않았거나, 특정 AWS 서비스(예: Elastic Load Balancing)를 통한 추가 비용이 있었을 가능성이 있습니다.
http 요청과 응답에 비용이!?
사용자의 요청과 서버의 응답은 데이터 전송을 수반합니다. 사용자가 웹 페이지에 접근할 때마다 데이터가 인터넷을 통해 전송되며, 이때 발생하는 데이터 전송량에 따라 AWS는 비용을 청구합니다. 특히, 사용자에게 HTML 페이지를 보낼 때 발생하는 '데이터 전송 out' 비용이 청구서에 포함됩니다.
HTML form을 통해 입력받은 데이터를 처리하는 로직이 매우 간단하고 리소스를 많이 사용하지 않는다면, 이 과정에서 발생하는 EC2 리소스 사용 비용은 상대적으로 낮을 것입니다. 그러나 사용자와의 상호작용이 많고 처리해야 할 데이터가 많은 복잡한 애플리케이션의 경우 더 높은 비용이 발생할 수 있습니다.
또한, AWS 무료 티어를 사용하는 경우, 매달 일정량의 EC2 사용 시간과 데이터 전송량이 무료로 제공되므로, 사용량이 이 범위 내에 있다면 추가 비용이 발생하지 않을 수 있습니다.
결론적으로, 사용자의 요청을 처리하고 HTML 페이지를 반환하는 작업과 관련된 대다수의 비용은 EC2 인스턴스의 리소스 사용과 데이터 전송량에 따라 결정됩니다. 이는 청구서에서 EC2 사용료와 데이터 전송 비용으로 확인할 수 있습니다.
생각보다 거의 모든곳에 비용이 발생하네요.
'프로젝트' 카테고리의 다른 글
웹 프로젝트11. 클린코드고 뭐고 일단 돌아가게 만들자? 괜찮으려나.. (0) | 2024.02.17 |
---|---|
웹 프로젝트 - 10. AWS 청구서 분석3 (RDS, KMS, VPC) (0) | 2024.02.17 |
웹 프로젝트 - 8. AWS 청구서 분석1 (EC2, CPU 크레딧, EBS 볼륨 스냅샷) (0) | 2024.02.17 |
7. Redis(레디스)의 유용한 기능 - 도커 컨테이너간 정보공유 (0) | 2024.02.17 |
6. 파이썬 메모리 관련 주의할 점과 matplotlib 메모리누수 문제 (0) | 2024.02.17 |