AWS 기술 블로그
자체 구축 계산기로 AWS 네트워크 비용 추정하기
이 글은 Networking & Content Delivery 블로그의 Estimate AWS networking costs with a self-hosted calculator 을 한국어 번역 및 편집하였습니다.
Amazon Web Services (AWS)는 다양한 네트워킹 서비스를 제공합니다. 이러한 서비스를 통해 AWS는 네트워킹과 관련된 더 많은 고객의 요구를 충족할 수 있지만, 이러한 다양성은 AWS 및 하이브리드 네트워킹 인프라를 설계할 때 아키텍처 결정을 내릴 때 고려할 수 있는 옵션의 수를 증가 시킵니다. 비용은 많은 고객이 아키텍처 결정을 내리는 주요 요인 중 하나 입니다.
네트워킹 비용을 추정하는 것은 어려울 수 있으며 서비스별로 제공되는 비용 페이지를 확인해야 합니다. AWS 비용 계산기는 이러한 비용을 추정하는 방법을 제공하지만 심층적인 네트워킹 비용 추정 및 분석에는 어려움이 있습니다. 이 게시물에서는 AWS 네트워킹에 초점을 맞춘 계산기를 실행하여 특정 네트워크 아키텍처에 대한 다양한 요금을 추정하고 시각 화 할 수 있는 샘플 오픈 소스 프로젝트를 소개합니다.
AWS 네트워크 비용 계산기
AWS Networking Costs Calculator(AWS 네트워크 비용 계산기)는 오픈 소스 웹 기반 비용 견적 도구로, AWS 리전, 아키텍처의 네트워킹 서비스, 사용된 엔드포인트 수, 전송 또는 처리되는 데이터 등 해당 서비스와 관련된 추가 입력을 선택할 수 있습니다. 그러면 트래픽의 연결과 흐름을 시각화하는 데 도움이 되는 샘플 다이어그램이 생성됩니다. 예를 들어, 아래 그림 1 에서는 AWS 미국 동부(북버지니아) 리전에서 Transit Gateway, Client VPN, , Virtual Private Cloud (VPC) peering이 선택되어 있습니다. 비용은 개별 엔드포인트 및 데이터 전송/데이터 처리 요금이 적용되는 화살표에 표시되어 있습니다. 그림 1의 예에서는 다음과 같은 요금이 적용됩니다.
- Transit Gateway를 통한 데이터 전송에 대해 $0.02/GB
- 가용 영역 간 VPC Peering 데이터 전송(양방향)에 대해 $0.01/GB
- 가용 영역당 Client VPN 엔드포인트에 대해 $0.1/시간
계산기에는 시간당 또는 월별 요금 추정치도 확인할 수 있습니다. 솔루션의 네트워킹 비용을 전체적으로 추정할 수 있으며, 관련 비용을 더 잘 이해하는 데 도움이 되는 시각화도 제공됩니다.
AWS 네트워크 비용 계산기 아키텍처
계산기는 두 가지 주요 구성 요소로 이루어져 있습니다.
- AWS Price List Query API를 사용하여 다양한 네트워킹 서비스에 대한 업데이트된 비용을 가져오는 서버리스 백엔드 서비스가 있습니다. 이 프로세스는 AWS Lambda 함수 내에서 매일 실행되며, 비용은 Amazon DynamoDB에 캐싱됩니다.
- 계산기 사용자 인터페이스인 ReactJS 프런트엔드 웹 애플리케이션(Amazon Simple Storage Service(Amazon S3)에서 호스팅되고 Amazon CloudFront 배포로 제공)이 있습니다.
다음 다이어그램은 계산기 아키텍처를 보여줍니다.
솔루션 개요
AWS 계정에 솔루션을 배포하기 전에 다음 전제 조건이 충족되는지 확인해야 합니다.
전제 조건
- Linux 기반 OS(이 글이 게시되는 현재 Windows 배포 스크립트가 없습니다).
- NodeJS(버전 18 이상) 및 NPM. Node와 NPM은 설치가 간단합니다. 컴퓨터에서 사용할 수 있는지 확인하려면 다음 명령을 실행하세요.
- AWS Cloud Development Kit(AWS CDK)가 설치되어 있어야 합니다. (
npm install -g aws-cdk
로 설치할 수 있습니다). - 백엔드 리소스를 실행할 AWS 계정과 AWS Command Line Interface(AWS CLI)(v2)가 설치 및 구성되어 있어야 합니다. AWS CLI가 컴퓨터에 설치 및 구성되었는지 확인하려면 다음 명령을 실행하세요. 기본 사용자로 설정되어 있어야 합니다. 이 사용자가 백엔드 리소스를 배포할 수 있는 권한이 있는지 확인합니다.
전제 조건
필수 구성 요소가 충족되었는지 확인했으면 프로젝트의 루트 디렉터리에서 배포 스크립트를 실행합니다. 프로젝트의 소스 코드는 aws-samples networking-cost-calculator GitHub 리포지토리에서 찾을 수 있습니다.
$ ./deploy.sh
배포를 완료하는 데 일반적으로 5~10분 정도 소요됩니다. 이 과정에서 두 개의 AWS CloudFormation 스택이 배포됩니다.
- NetCalcBackendStack
- NetCalcFrontendStack
배포가 완료되면 도구에 액세스하는 데 사용할 수 있는 CloudFront URL이 제공됩니다.
AWS 네트워크 비용 계산기 사용 방법
프론트엔드 URL을 통해 웹 브라우저에서 AWS 네트워크 비용 계산기에 접속합니다. 이 URL은 그림 3 과 같이 AWS CDK 배포 프로세스가 끝날 때 콘솔에 응답값으로 반환 되거나 CloudFront 콘솔에서 찾을 수 있습니다.
그림 5와 같이 오른쪽 상단의 드롭다운 메뉴에서 원하는 AWS 리전을 선택합니다.
비용을 계산하려는 AWS 서비스를 선택합니다. 그림 6과 같이 다이어그램에 해당 서비스가 표시됩니다.
그림 7과 같이 일부 서비스에서는 서비스의 상세 설정을 입력할 수 있습니다.
그림 8과 같이 Recurring Costs(정기적인 비용) 상자에서 각 서비스에 대한 반복 비용과 설정의 총 월별 비용을 확인할 수 있습니다. 비용은 각 서비스에 대한 추가 설정에 따라 조정됩니다.
일부 AWS 서비스에는 추가 데이터 처리 또는 데이터 전송 비용이 부과될 수 있습니다. 그림 9와 같이 Data Processing Costs(데이터 처리 비용) 상자를 사용하여 이러한 비용을 계산할 수 있습니다.
솔루션 제거
AWS 계정에서 도구와 해당 구성 요소를 제거하려면 다음 명령을 사용하세요.
고려 사항
- 비용 추정 – 네트워크 아키텍처에 대한 도구에 표시되는 비용은 추정치입니다. 실제 발생하는 비용은 사용 중인 다른 AWS 서비스나 사용 중인 타사 제품 등의 요인에 따라 달라질 수 있습니다.
- 솔루션 비용 – 자체 호스팅 솔루션이므로 호스팅과 관련된 서비스 사용 비용은 솔루션이 호스팅되는 계정으로 청구됩니다.
- 도구 개선 사항 – 솔루션에서 모든 AWS 네트워크 서비스를 비용 견적에 사용할 수 있는 것은 아닙니다. 이 글이 게시되는 시점에서 사용할 수 있는 AWS 네트워킹 서비스는 다음과 같습니다.
- Amazon VPC
- Elastic Load Balancers
- Amazon Route 53
- AWS Direct Connect
앞으로도 계속해서 더 많은 서비스와 기능을 추가할 예정입니다.
- 지원 – 이 글이 게시되는 현재 솔루션에 대한 공식 지원은 제공되지 않습니다.
결론
AWS 네트워크 비용 계산기는 아키텍처의 네트워킹 비용에 대한 견적을 얻을 수 있는 훌륭한 도구입니다. 간단한 사용자 인터페이스를 통해 정기적인 비용과 데이터 전송 및 처리 비용 견적을 제공할 뿐만 아니라 네트워크 아키텍처 다이어그램에서 네트워킹 구성 요소와 비용을 시각적으로 표현할 수 있습니다. 문제가 발생하거나 기능 요청을 제출하려면 GitHub 리포지토리의 issues 탭 아래에 있는 New issue버튼을 사용하세요.