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/시간

계산기에는 시간당 또는 월별 요금 추정치도 확인할 수 있습니다. 솔루션의 네트워킹 비용을 전체적으로 추정할 수 있으며, 관련 비용을 더 잘 이해하는 데 도움이 되는 시각화도 제공됩니다.

그림 1: AWS Networking Costs Calculator

그림 1: AWS Networking Costs Calculator

AWS 네트워크 비용 계산기 아키텍처

계산기는 두 가지 주요 구성 요소로 이루어져 있습니다.

다음 다이어그램은 계산기 아키텍처를 보여줍니다.

그림 2: AWS Networking Costs Calculator 고 수준 아키텍처

그림 2: AWS Networking Costs Calculator 고 수준 아키텍처

솔루션 개요

AWS 계정에 솔루션을 배포하기 전에 다음 전제 조건이 충족되는지 확인해야 합니다.

전제 조건

  • Linux 기반 OS(이 글이 게시되는 현재 Windows 배포 스크립트가 없습니다).
  • NodeJS(버전 18 이상) 및 NPM. Node와 NPM은 설치가 간단합니다. 컴퓨터에서 사용할 수 있는지 확인하려면 다음 명령을 실행하세요.
    $ npm -v && node -v
    7.24.2
    v18.16.1
  • AWS Cloud Development Kit(AWS CDK)가 설치되어 있어야 합니다. (npm install -g aws-cdk로 설치할 수 있습니다).
    $ cdk --version
    2.124.0 (build 4b6724c)
  • 현재 AWS 계정 및 리전에서 AWS CDK를 사용한 적이 없는 경우, npx cdk bootstrap으로 부트스트랩을 실행하세요.

    npx cdk bootstrap aws://<Account ID>/us-east-1
  • 백엔드 리소스를 실행할 AWS 계정과 AWS Command Line Interface(AWS CLI)(v2)가 설치 및 구성되어 있어야 합니다. AWS CLI가 컴퓨터에 설치 및 구성되었는지 확인하려면 다음 명령을 실행하세요. 기본 사용자로 설정되어 있어야 합니다. 이 사용자가 백엔드 리소스를 배포할 수 있는 권한이 있는지 확인합니다.
    $ aws sts get-caller-identity
    {
        "UserId": "AIDxxxxxxxxxxxxxxxT34",
        "Account": "12345678XXXX",
        "Arn": "arn:aws:iam::12345678XXXX:user/admin"
    }

전제 조건

필수 구성 요소가 충족되었는지 확인했으면 프로젝트의 루트 디렉터리에서 배포 스크립트를 실행합니다. 프로젝트의 소스 코드는 aws-samples networking-cost-calculator GitHub 리포지토리에서 찾을 수 있습니다.

$ ./deploy.sh

배포를 완료하는 데 일반적으로 5~10분 정도 소요됩니다. 이 과정에서 두 개의 AWS CloudFormation 스택이 배포됩니다.

  • NetCalcBackendStack
  • NetCalcFrontendStack

배포가 완료되면 도구에 액세스하는 데 사용할 수 있는 CloudFront URL이 제공됩니다.

AWS 네트워크 비용 계산기 사용 방법

프론트엔드 URL을 통해 웹 브라우저에서 AWS 네트워크 비용 계산기에 접속합니다. 이 URL은 그림 3 과 같이 AWS CDK 배포 프로세스가 끝날 때 콘솔에 응답값으로 반환 되거나 CloudFront 콘솔에서 찾을 수 있습니다.

그림 3: AWS 네트워크 비용 계산기에 접근하기 위한 CloudFront URL

그림 3: AWS 네트워크 비용 계산기에 접근하기 위한 CloudFront URL

그림 4: CloudFront URL을 사용하여 웹 브라우저에서 AWS 네트워킹 비용 계산기에 접근

그림 4: CloudFront URL을 사용하여 웹 브라우저에서 AWS 네트워킹 비용 계산기에 접근

그림 5와 같이 오른쪽 상단의 드롭다운 메뉴에서 원하는 AWS 리전을 선택합니다.

림 5: AWS 리전 선택

그림 5: AWS 리전 선택

비용을 계산하려는 AWS 서비스를 선택합니다. 그림 6과 같이 다이어그램에 해당 서비스가 표시됩니다.

그림 6: AWS 서비스 선택

그림 6: AWS 서비스 선택

그림 7과 같이 일부 서비스에서는 서비스의 상세 설정을 입력할 수 있습니다.

그림 7: 일부 서비스에 대한 추가 설정 입력

그림 7: 일부 서비스에 대한 추가 설정 입력

그림 8과 같이 Recurring Costs(정기적인 비용) 상자에서 각 서비스에 대한 반복 비용과 설정의 총 월별 비용을 확인할 수 있습니다. 비용은 각 서비스에 대한 추가 설정에 따라 조정됩니다.

그림 8: 월별 비용 보기

그림 8: 월별 비용 보기

일부 AWS 서비스에는 추가 데이터 처리 또는 데이터 전송 비용이 부과될 수 있습니다. 그림 9와 같이 Data Processing Costs(데이터 처리 비용) 상자를 사용하여 이러한 비용을 계산할 수 있습니다.

그림 9: 월별 데이터 처리 비용 보기

그림 9: 월별 데이터 처리 비용 보기

솔루션 제거

AWS 계정에서 도구와 해당 구성 요소를 제거하려면 다음 명령을 사용하세요.

$ cd backend
$ cdk destroy –-all

고려 사항

  1. 비용 추정 – 네트워크 아키텍처에 대한 도구에 표시되는 비용은 추정치입니다. 실제 발생하는 비용은 사용 중인 다른 AWS 서비스나 사용 중인 타사 제품 등의 요인에 따라 달라질 수 있습니다.
  2. 솔루션 비용 – 자체 호스팅 솔루션이므로 호스팅과 관련된 서비스 사용 비용은 솔루션이 호스팅되는 계정으로 청구됩니다.
  3. 도구 개선 사항 – 솔루션에서 모든 AWS 네트워크 서비스를 비용 견적에 사용할 수 있는 것은 아닙니다. 이 글이 게시되는 시점에서 사용할 수 있는 AWS 네트워킹 서비스는 다음과 같습니다.
    1. Amazon VPC
      1. Site-to-Site VPN
      2. Client VPN
      3. Transit gateway
      4. Network Firewall
      5. VPC endpoint (PrivateLink)
    2. Elastic Load Balancers
      1. Application Load Balancer
      2. Network Load Balancer
      3. Gateway Load Balancer
    3. Amazon Route 53
      1. DNS Firewall
      2. Resolver Endpoints (Inbound and Outbound)
    4. AWS Direct Connect
      앞으로도 계속해서 더 많은 서비스와 기능을 추가할 예정입니다.
  4. 지원 – 이 글이 게시되는 현재 솔루션에 대한 공식 지원은 제공되지 않습니다.

결론

AWS 네트워크 비용 계산기는 아키텍처의 네트워킹 비용에 대한 견적을 얻을 수 있는 훌륭한 도구입니다. 간단한 사용자 인터페이스를 통해 정기적인 비용과 데이터 전송 및 처리 비용 견적을 제공할 뿐만 아니라 네트워크 아키텍처 다이어그램에서 네트워킹 구성 요소와 비용을 시각적으로 표현할 수 있습니다. 문제가 발생하거나 기능 요청을 제출하려면 GitHub 리포지토리의 issues 탭 아래에 있는 New issue버튼을 사용하세요.

Sewoong Kim

Sewoong Kim

김세웅 Cloud Architect는 AWS Professional Services 팀의 일원으로서 컨테이너와 서버리스를 중심으로 AWS 기반 서비스를 구성하는 고객들에게 최적화된 아키텍처를 제공하고, GenAI Application Architect를 보다 고도화 하기 위한 여러 기술적인 도움을 드리고 있습니다.