AWS 기술 블로그
Classic 및 Application Load Balancers의 데이터 전송 비용 살펴보기
이 글은 Networking & Content Delivery Blog에 게시된 Exploring Data Transfer Costs for Classic and Application Load Balancers by Lucas Pellucci Barreto Rolim and Luis Felipe Silveira da Silva를 한국어 번역 및 편집하였습니다.
이 게시글에서는 여러 시나리오에서 Classic Load Balancer(CLB), Application Load Balancer (ALB), 클라이언트, 대상(Target)간의 통신에 Amazon Elastic Compute Cloud(Amazon EC2)의 데이터 전송 비용이 어떻게 적용되는지 살펴보고, AWS에서 데이터 전송 비용을 최적화하는 데 도움을 드리고자 합니다.
Elastic Load Balancing(ELB)은 네 가지 유형의 로드 밸런서를 제공하며, 모두 애플리케이션을 위한 고가용성, 자동 확장, 강력한 보안 지원을 제공합니다: Application Load Balancer (ALB), Network Load Balancer (NLB), Gateway Load Balancer (GWLB), Classic Load Balancer (CLB).
애플리케이션 로드 밸런서와 클래식 로드 밸런서에 중점을 두면서 각 로드 밸런서의 종량제 요금 모델을 살펴보겠습니다. 애플리케이션 로드 밸런서의 경우, 애플리케이션 로드 밸런서가 실행되는 각 시간 또는 일부 시간과 시간당 사용된 LCU(Load Balancer Capacity Units) 수에 대해 요금을 지불합니다. 클래식 로드 밸런서를 사용하는 경우, 클래식 로드 밸런서가 실행되는 각 시간 또는 일부 시간 및 로드 밸런서를 통해 전송된 각 기가바이트(GB)의 데이터에 대해 요금을 지불합니다. 이러한 주제에 대한 자세한 내용은 Elastic Load Balancing 요금제 페이지에서 확인할 수 있습니다.
클라이언트와 로드 밸런서간 또는 로드 밸런서와 대상간의 트래픽이 가용 영역, VPC 및 리전 경계를 넘을 경우, Amazon EC2 데이터 전송 요금이 적용됩니다. 이 게시물에서는 클래식 및 애플리케이션 로드 밸런서에 대한 모든 데이터 전송 요금을 검토합니다.
이 게시물은 발행 시점의 요금을 기준으로 하며, 대량 구매 할인이나 세금 및 관세가 적용되지 않는다고 가정합니다. 설명의 편의를 위해 기본 AWS 리전은 미국 동부(버지니아 북부)로, 보조 리전은 유럽(프랑크푸르트)으로 표시했습니다. 최신 가격은 항상 개별 서비스 가격 페이지를 참조하세요. 모든 가격은 미화 기준입니다.
전제 조건 및 가정
이 게시글에서는 애플리케이션 및 클래식 로드 밸런서에 대해 잘 알고 있다고 가정합니다. 이 게시물에서 살펴보는 시나리오는 데이터 전송 요금을 단순화한 방식으로 설명하는 데 목적이 있습니다. AWS Well-Architected framework 따라 로드 밸런서를 사용하여 아키텍처를 설계할 때 비용 최적화는 6개의 주요 원칙 중 하나에 불과하므로 모든 원칙을 염두에 두고 아키텍처를 검토하는 것이 좋습니다.
비용 요약
아래 다이어그램(그림 1)은 빠른 참조를 위해 다양한 경로에 대한 요금을 시각적으로 표현한 것입니다. 이 글의 뒷부분에서는 이미지에 표시된 것과 동일한 규칙을 따르는 요금이 적용되는 실제 시나리오를 다루겠습니다. 표시된 금액은 미국 동부(버지니아 북부) ‘us-east-1’ 리전에 대한 것입니다.
그림 1: 애플리케이션 로드 밸런서를 사용한 데이터 전송 요금 요약
샘플 아키텍처와 이러한 요금이 적용되는 방식을 살펴보기 전에 리전의 여러 가용영역에서 고가용성 및 복원력을 위해 애플리케이션 및 클래식 로드 밸런서를 배포하는 방법을 살펴보겠습니다.
로드 밸런서와 가용영역
애플리케이션 및 클래식 로드 밸런서는 한 개 이상의 가용영역(AZ)에 구성 가능한 리전 리소스입니다. 각 AZ에서 애플리케이션 또는 클래식 로드 밸런서를 배포할 때는, 다양한 확장 요인에 따라 한 개 이상의 노드가 설치될 서브넷을 선택해야 합니다.
이 게시물 전체에서 다루는 시나리오에서 AZ 내의 로드 밸런서를 언급할 때는 그 AZ에서 운영되는 특정 노드(들)을 지칭합니다. 다음에 제시된 다이어그램(그림 2)은 애플리케이션 및 클래식 로드 밸런서의 배치 모델을 나타냅니다. 여기서는 두 개의 퍼블릭 서브넷에 걸쳐 두 AZ에 배치된 인터넷 연결 로드 밸런서가 교차 영역 부하 분산 기능을 활성화한 상태로, 프라이빗 서브넷의 대상 인스턴스에 클라이언트 트래픽을 전송하는 모습을 보여줍니다.
그림 2: 애플리케이션 및 클래식 로드밸런서 배포 모델
시나리오
이 게시물을 더 쉽게 탐색할 수 있도록 다양한 시나리오를 다음과 같이 그룹화 했습니다:
- 내부 애플리케이션 및 클래식 로드 밸런서의 데이터 전송 비용
- 인터넷 접속 애플리케이션 및 클래식 로드 밸런서의 데이터 전송 비용
내부 애플리케이션 및 클래식 로드밸런서의 데이터 전송 비용
시나리오 1.1: 동일 VPC, 동일 AZ 간 전송
다음 다이어그램(그림 3)에서는 어떤 트래픽 흐름에도 데이터 전송 요금이 적용되지 않습니다. 이는 모든 트래픽이 동일한 AZ 및 VPC 내에 있기 때문입니다.
그림 3: 시나리오 1.1 – 클라이언트와 대상이 ELB 노드와 동일한 가용 영역에 있는 경우
위의 경우 모든 트래픽이 동일한 가용 영역 및 VPC 내에 유지되므로 어떤 트래픽 흐름에도 데이터 전송 요금이 적용되지 않습니다.
시나리오 1.2: 동일 VPC, 다른 AZ 간 전송
다음 다이어그램(그림 4)에서는 어떤 트래픽 흐름에도 데이터 전송 요금이 적용되지 않습니다. 이는 트래픽이 AZ를 가로지르더라도 동일한 VPC 내에 머물기 때문입니다.
그림 4: 시나리오 1.2 – 클라이언트와 ELB 노드가 서로 다른 가용 영역에 있고, 대상과 ELB 노드는 동일한 AZ에 있는 경우
위와 같은 경우 모든 트래픽이 동일한 VPC 내에 유지되므로 모든 트래픽 방향에 대해 데이터 전송 요금이 적용되지 않습니다.
동일 AZ 및 다른 AZ를 걸친 VPC 피어링을 통한 교차 VPC
시나리오 2.1: 동일 AZ, VPC 피어링을 통한 다른 VPC 간 전송
다음 다이어그램(그림 5)에서는 어떤 트래픽 흐름에도 데이터 전송 요금이 적용되지 않습니다. 트래픽이 VPC를 통과하더라도 동일한 AZ 내에 머물기 때문입니다.
그림 5: 시나리오 2.1 – 클라이언트와 ELB 노드가 가용영역은 같지만 서로 다른 VPC에 있고, 대상과 ELB 노드가 동일 가용영역 및 다른 VPC에 있는 경우
위와 같은 경우 모든 트래픽이 동일한 가용영역 내에 유지되므로 모든 트래픽 방향에 대해 데이터 전송 요금이 적용되지 않습니다.
시나리오 2.2: 다른 AZ, VPC 피어링을 통한 다른 VPC 간 전송
다음 다이어그램(그림 6)에서는 클라이언트에서 로드 밸런서로, 로드 밸런서에서 클라이언트로 들어오고 나가는 트래픽 모두에 대해 GB당 $0.01의 요금이 적용됩니다. 이는 트래픽이 피어링 연결을 통해 서로 다른 AZ를 통과하기 때문입니다. 로드 밸런서에서 대상까지 동일한 AZ에 있기 때문에 비용이 발생하지 않습니다.
그림 6: 시나리오 2.2 – 클라이언트와 ELB 노드가 서로 다른 가용영역 및 VPC에 있고, 대상 및 ELB노드가 동일한 가용영역 및 VPC에 있는 경우
위와 같은 경우 트래픽이 VPC와 가용영역을 교차하므로 클라이언트와 ELB 간의 트래픽에는 데이터 전송 요금이 적용됩니다.
인터넷 접속을 통한 애플리케이션 및 클래식 로드 밸런서의 데이터 전송 비용
이 시나리오에서는 클라이언트와 로드 밸런서 간의 트래픽에 대한 요금에 중점을 둡니다. 로드 밸런서와 대상간의 요금에 대한 자세한 내용은 이전 시나리오 1.1, 1.2, 2.1, 2.2에서 설명한 시나리오를 참조하세요.
시나리오 3.1: 인터넷으로부터 발생하는 클라이언트 트래픽
다음 다이어그램(그림 7)에서 데이터는 ELB를 통해 인터넷으로 전송됩니다. 이러한 유형의 데이터 전송에 대한 가격은 계층화되어 있으며 리전에 따라 다릅니다. 버지니아 북부(US-EAST-1)의 경우, 가격은 $0.05~$0.09입니다. (이 가격은 이 블로그 게시물이 게시된 시점의 최신 가격입니다. 최신 가격 정보는 Amazon EC2 가격 웹사이트를 참조하세요.)
그림 7: 시나리오 3.2 – 인터넷 클라이언트. 대상과 ELB노드가 서로 다른 가용영역에 있지만, 동일한 VPC에 있는 경우
위와 같은 경우 인터넷 아웃바운드 트래픽에는 데이터 전송 요금이 적용됩니다.
시나리오 3.2: 리전 내 클라이언트 트래픽
다음 다이어그램(그림 8)에서, 클라이언트가 같은 VPC 안에 있음에도 불구하고, 퍼블릭 IP를 통해 퍼블릭 로드 밸런서에 접속하는 점을 주목하세요. 이 때문에 트래픽은 인터넷 게이트웨이(IGW)를 경유하여 왕복하게 되며, 이로 인해 양방향으로 각각 $0.01/GB의 추가 요금이 발생합니다. 같은 AWS 리전 내의 퍼블릭 ELB에 접속하기 위해 IGW를 사용할 경우, 출발지 및 목적지의 서브넷, AZ, VPC가 Amazon EC2 데이터 전송 요금에 영향을 주지 않는다는 점도 기억해야 합니다.
그림 8: 시나리오 3.2 – 동일한 VPC내의 클라이언트가 퍼블릭 IP를 통해 ELB 노드에 연결
동일한 VPC 내의 클라이언트에서 로드 밸런서에 액세스해야 하는 경우, 요금이 발생하지 않는 내부 로드 밸런서를 고려하는 것이 좋습니다(시나리오 1.1, 1.2, 2.1에서 이를 보여줌). 동일한 워크로드에 대해 인터넷에 연결된 엔드포인트가 있어야 하는 경우에도 내부 클라이언트를 위한 별도의 내부 부하 분산 장치를 사용하는 것이 더 비용 효율적일 수 있습니다. 예를 들어, 퍼블릭 IP를 사용하여 시간당 2GB를 전송하는 경우 $0.04(2 x $0.02)를 지불하면 미국 동부(버지니아 북부) ‘us-east-1’ 리전의 두 번째 로드 밸런서의 시간당 비용인 $0.0225보다 비용이 더 많이 듭니다.
시나리오 3.3: 리전 간 클라이언트 트래픽
다음 다이어그램(그림 9)에서 ELB 응답은 AWS 리전을 떠나 다른 AWS 리전으로 이동합니다. 일반적으로 GB당 $0.02의 요금이 부과되지만, AWS 리전에 따라 달라질 수 있습니다. 예를 들어, 미국 동부(오하이오) 리전과 미국 동부(북부 버지니아) 리전 간에 전송되는 데이터에 대해서는 $0.01을 지불합니다. 모든 가격은 Amazon EC2 요금 페이지의 “Amazon EC2에서 외부로 데이터 전송” 섹션에 있는 전체 표를 참조하세요.
이 시나리오에서 AWS 리전 A의 클라이언트는 다른 고객과 AWS 계정일 수 있습니다. 이 경우, 클라이언트의 계정 소유자는 데이터 아웃(요청)에 대해 $0.02를 지불하고 ELB의 계정 소유자는 데이터 아웃(응답)에 대해 $0.02를 지불합니다.
그림 9: 시나리오 4.2 – 다른 AWS 리전의 클라이언트. 대상과 ELB 노드가 서로 다른 AZ에 있지만 동일한 VPC에 있는 경우
알아두면 유용한 정보
이 글에서 다루는 모든 요금은 Amazon EC2 가격 책정 웹사이트에 설명되어 있으며, 이 블로그 게시물이 발행된 시점의 최신 요금입니다.
시나리오 1.1 및 1.2
- 프라이빗 IP 주소를 사용하여 Classic 및 Application Elastic Load Balancer에서 동일한 AWS VPC의 EC2 인스턴스와 로드 밸런서 간에 전송되는 데이터는 무료입니다.
시나리오 2.1
- 동일한 가용영역에 있는 Amazon EC2, Amazon RDS, Amazon Redshift, Amazon ElastiCache 인스턴스 및 Elastic Network Interface(ENI) 간에 전송되는 데이터는 무료입니다.
시나리오 2.2 및 3.2
- 동일한 AWS VPC 내에서 EC2 인스턴스와 로드 밸런서 간에 프라이빗 IP 주소를 사용하여 Classic 및 Application Elastic Load Balancers로 ‘들어오고 나가는’ (in/out) 데이터 전송은 무료입니다.
시나리오 3.1
- Amazon EC2 요금제 페이지에서 “Amazon EC2에서 인터넷으로 데이터 전송” 섹션을 참조하세요.
시나리오 3.3
- Amazon EC2 요금제 페이지에는 Amazon EC2에서 다양한 위치로의 데이터 전송이 자세히 설명되어 있습니다(“Amazon EC2에서 인터넷으로 데이터 전송” 섹션 참조).
결론
이 글에서는 로드 밸런서, 클라이언트, 대상에 대한 Amazon EC2 데이터 전송 요금을 ALB 및 CLB를 사용한 여러 시나리오를 통해 계산하는 방법을 살펴보았습니다. 다른 비용 최적화 기회에 대해서는 비용 최적화 원칙 – AWS Well-Architected Framework를 참조하고, AWS 비용 및 사용량 보고서를 활성화하여 ELB에 대한 자세한 데이터 전송 요금을 확인하고 비용을 최적화하기 위한 아키텍처 결정을 내리는 것이 좋습니다. 이 게시물에 대해 궁금한 점이 있으면 AWS re:Post에서 새 스레드를 시작하거나 AWS 지원팀에 문의하세요.