AWS

AWS 네트워크 연결 방식 완전 비교: VPC Peering vs Transit Gateway vs VPN

Somaz 2025. 9. 22. 00:00
728x90
반응형

Overview

클라우드 환경에서 다중 VPC 간의 네트워크 연결은 현대 인프라 설계의 핵심 요소다.

 

AWS는 VPC Peering, Transit Gateway, VPN 등 다양한 네트워크 연결 옵션을 제공하며, 각각은 고유한 특성과 적용 시나리오를 가지고 있다.

 

본 글에서는 이 세 가지 방식의 기술적 특징을 분석하고, 확장성, 비용, 보안 측면에서 종합적으로 비교해보며, 하이브리드 클라우드 아키텍처 설계 시 고려해야 할 요소들을 살펴본다.

 

 

 

📅 관련 글

2022.02.13 - [AWS] - AWS IAM (Identity and Access Management) 개요 및 설정 방법

2022.02.07 - [AWS] - AWS EC2 인스턴스 생성

2022.02.13 - [AWS] - AWS S3 (Simple Storage Service) 개요 및 활용 방법

2023.03.30 - [AWS] - AWS Secrets Manager란?(OAuth, SSO)

2023.03.29 - [AWS] - AWS CLI 정리

2023.03.28 - [AWS] - AWS IAM이란?

2023.03.28 - [AWS] - AWS S3 권한이란?

2023.03.28 - [AWS] - AWS S3란?(개념, 속성)

2023.03.30 - [AWS] - AWS Cloudfront란? / Canary 및 Blue-Green 배포

2023.04.03 - [AWS] - AWS VPC란?

2023.05.26 - [AWS] - AWS IRSA(IAM Roles for Service Accounts)란?

2024.11.07 - [AWS] - AWS Ingress Annotations 정리

2024.11.04 - [AWS] - AWS Assume Role이란?

2024.11.16 - [AWS] - AWS Network ACL vs Security Group

2024.11.21 - [AWS] - ALB access Log 활성화 → S3 권한 설정 및 로그 저장

2024.11.24 - [AWS] - EKS Pod Identity Addon

2024.11.27 - [AWS] - AWS DynamoDB란?

2025.01.03 - [AWS] - AWS DynamoDB Local 설치

2025.09.05 - [AWS] - AWS CDN 구축 가이드: Kubernetes + AWS CloudFront로 API와 정적 파일 서빙 최적화

2025.09.05 - [AWS] - AWS 네트워크 연결 방식 완전 비교: VPC Peering vs Transit Gateway vs VPN

 

 

 

 


 

 

AWS 네트워크 연결 방식 완전 비교

VPC Peering vs Transit Gateway vs VPN

 

 

 

VPC Peering 심화 분석

 

기술적 특징

VPC Peering은 두 VPC 간에 직접적인 네트워크 연결을 제공하는 가장 간단한 형태의 연결 방식이다. 이는 AWS의 프라이빗 백본 네트워크를 통해 이루어지며, 인터넷을 거치지 않는 안전한 통신을 보장한다.

 

 

 

주요 특성

  • 1:1 연결 구조
  • 전이적 라우팅(Transitive Routing) 미지원
  • 리전 간 연결 지원
  • 대역폭 제한 없음

 

 

제한사항 및 고려사항

VPC Peering의 가장 큰 제약은 전이적 라우팅을 지원하지 않는다는 점이다.

 

VPC A가 VPC B와 피어링되고, VPC B가 VPC C와 피어링되어 있더라도, VPC A에서 VPC C로 직접 통신할 수 없다. 이는 복잡한 네트워크 토폴로지에서 관리 오버헤드를 크게 증가시킨다.

 

또한 CIDR 블록의 중복을 허용하지 않아, 네트워크 설계 시 IP 주소 공간을 사전에 신중히 계획해야 한다.

 

 

 

Terraform 구현

# VPC Peering 연결 생성
resource "aws_vpc_peering_connection" "main" {
  peer_vpc_id = aws_vpc.peer.id
  vpc_id      = aws_vpc.main.id
  
  # 다른 리전과의 피어링인 경우
  peer_region = var.peer_region
  
  tags = {
    Name = "vpc-peering-main-to-peer"
  }
}

# 피어링 연결 수락
resource "aws_vpc_peering_connection_accepter" "peer" {
  vpc_peering_connection_id = aws_vpc_peering_connection.main.id
  auto_accept               = true

  tags = {
    Name = "vpc-peering-accepter"
  }
}

# 라우트 테이블 업데이트
resource "aws_route" "main_to_peer" {
  route_table_id            = aws_route_table.main.id
  destination_cidr_block    = aws_vpc.peer.cidr_block
  vpc_peering_connection_id = aws_vpc_peering_connection.main.id
}

resource "aws_route" "peer_to_main" {
  route_table_id            = aws_route_table.peer.id
  destination_cidr_block    = aws_vpc.main.cidr_block
  vpc_peering_connection_id = aws_vpc_peering_connection.main.id
}

 

 

 

 

Transit Gateway 종합 분석

 

아키텍처적 우수성

Transit Gateway는 허브-스포크 모델을 구현하여 중앙집중식 네트워크 관리를 가능하게 한다. 이는 복잡한 멀티 VPC 환경에서 네트워크 관리의 복잡성을 대폭 줄여준다.

 

 

 

핵심 기능

  • 다중 VPC 및 온프레미스 연결 지원
  • 라우팅 테이블을 통한 세밀한 트래픽 제어
  • Cross-Region Peering 지원
  • Direct Connect와의 통합

 

 

고급 기능 활용

Transit Gateway는 라우팅 테이블과 어태치먼트를 통해 네트워크 세분화를 구현할 수 있다. 이를 통해 개발, 스테이징, 프로덕션 환경 간의 논리적 분리를 유지하면서도 필요한 경우에만 선택적 통신을 허용할 수 있다.

 

 

Terraform 구현

# Transit Gateway 생성
resource "aws_ec2_transit_gateway" "main" {
  description                     = "Main Transit Gateway"
  default_route_table_association = "enable"
  default_route_table_propagation = "enable"
  dns_support                     = "enable"
  vpn_ecmp_support               = "enable"
  
  tags = {
    Name = "main-tgw"
  }
}

# VPC 어태치먼트
resource "aws_ec2_transit_gateway_vpc_attachment" "vpc1" {
  subnet_ids         = [aws_subnet.vpc1_private.id]
  transit_gateway_id = aws_ec2_transit_gateway.main.id
  vpc_id             = aws_vpc.vpc1.id
  
  tags = {
    Name = "tgw-attachment-vpc1"
  }
}

resource "aws_ec2_transit_gateway_vpc_attachment" "vpc2" {
  subnet_ids         = [aws_subnet.vpc2_private.id]
  transit_gateway_id = aws_ec2_transit_gateway.main.id
  vpc_id             = aws_vpc.vpc2.id
  
  tags = {
    Name = "tgw-attachment-vpc2"
  }
}

# 사용자 정의 라우팅 테이블
resource "aws_ec2_transit_gateway_route_table" "custom" {
  transit_gateway_id = aws_ec2_transit_gateway.main.id
  
  tags = {
    Name = "custom-tgw-route-table"
  }
}

# 라우트 설정
resource "aws_ec2_transit_gateway_route" "specific_route" {
  destination_cidr_block         = "10.2.0.0/16"
  transit_gateway_attachment_id  = aws_ec2_transit_gateway_vpc_attachment.vpc2.id
  transit_gateway_route_table_id = aws_ec2_transit_gateway_route_table.custom.id
}

 

 

 

VPN 연결 방식 상세 분석

 

Site-to-Site VPN의 기술적 구조

AWS Site-to-Site VPN은 IPSec 터널을 통해 온프레미스 네트워크와 AWS VPC 간의 암호화된 연결을 제공한다. 각 VPN 연결은 두 개의 터널로 구성되어 고가용성을 보장한다.

 

 

 

주요 구성요소

  • Virtual Private Gateway (VGW) 또는 Transit Gateway
  • Customer Gateway
  • VPN 연결

 

 

Client VPN을 통한 원격 액세스

AWS Client VPN은 OpenVPN 기반의 관리형 서비스로, 원격 사용자들이 안전하게 AWS 리소스에 접근할 수 있도록 한다.

 

 

 

Terraform 구현

# Customer Gateway 생성
resource "aws_customer_gateway" "main" {
  bgp_asn    = 65000
  ip_address = var.customer_gateway_ip
  type       = "ipsec.1"
  
  tags = {
    Name = "main-customer-gateway"
  }
}

# Virtual Private Gateway 생성
resource "aws_vpn_gateway" "main" {
  vpc_id = aws_vpc.main.id
  
  tags = {
    Name = "main-vpn-gateway"
  }
}

# VPN 연결 생성
resource "aws_vpn_connection" "main" {
  customer_gateway_id = aws_customer_gateway.main.id
  type                = "ipsec.1"
  vpn_gateway_id      = aws_vpn_gateway.main.id
  static_routes_only  = true
  
  tags = {
    Name = "main-vpn-connection"
  }
}

# 정적 라우트 추가
resource "aws_vpn_connection_route" "office" {
  vpn_connection_id      = aws_vpn_connection.main.id
  destination_cidr_block = "192.168.0.0/16"
}

# Transit Gateway를 사용한 VPN (고급 설정)
resource "aws_ec2_transit_gateway_vpn_attachment" "tgw_vpn" {
  customer_gateway_id = aws_customer_gateway.main.id
  transit_gateway_id  = aws_ec2_transit_gateway.main.id
  
  tags = {
    Name = "tgw-vpn-attachment"
  }
}

 

 

 


 

 

 

확장성 관점에서의 비교 분석

 

VPC Peering의 확장성 제약

VPC Peering은 n개의 VPC를 연결하기 위해 n(n-1)/2개의 피어링 연결이 필요하다. 이는 VPC 수가 증가할수록 기하급수적으로 관리 복잡성이 증가함을 의미한다. 예를 들어, 10개의 VPC를 모두 연결하려면 45개의 피어링 연결이 필요하며, 각각에 대해 개별적인 라우팅 설정을 관리해야 한다.

 

 

Transit Gateway의 스케일링 우수성

Transit Gateway는 허브-스포크 모델을 통해 선형적 확장성을 제공한다. n개의 VPC를 연결하기 위해서는 n개의 어태치먼트만 있으면 되며, 중앙집중식 라우팅 관리를 통해 복잡성을 크게 줄인다.

 

 

Transit Gateway 제한 사항

  • 리전당 최대 5,000개의 어태치먼트
  • 라우팅 테이블당 최대 10,000개의 라우트
  • 어태치먼트당 최대 50Gbps 대역폭

 

VPN의 확장성 고려사항

VPN 연결은 온프레미스 인프라의 확장에 따라 추가 터널이나 더 높은 대역폭이 필요할 수 있다. AWS는 최대 1.25Gbps의 VPN 터널을 지원하며, 더 높은 대역폭이 필요한 경우 여러 터널을 사용하거나 Direct Connect를 고려해야 한다.

 

 

 

 

 

비용 구조 심층 분석

 

VPC Peering 비용 모델

VPC Peering은 피어링 연결 자체에 대한 시간당 요금이 없으며, 데이터 전송에 대해서만 비용이 발생한다. 같은 AZ 내에서의 데이터 전송은 무료이고, 다른 AZ나 리전 간 전송에 대해서는 표준 데이터 전송 요금이 적용된다.

 

 

비용 구조

  • 피어링 연결 자체: 무료
  • 같은 AZ 내 데이터 전송: $0.00/GB
  • 다른 AZ 간 데이터 전송: $0.01/GB
  • 다른 리전 간 데이터 전송: 리전별 상이

 

 

Transit Gateway 비용 모델

Transit Gateway는 어태치먼트 수와 처리되는 데이터양에 따라 비용이 발생한다.

 

비용 구조 (미국 동부 기준)

  • 시간당 어태치먼트 비용: $0.05
  • 데이터 처리 비용: $0.02/GB

 

 

VPN 비용 모델

VPN 연결은 연결 시간과 데이터 전송량에 따라 비용이 산정된다.

 

비용 구조

  • VPN 연결 시간당: $0.05
  • 데이터 전송 비용: 표준 요금 적용

 

 

 

 

보안 측면 종합 평가

 

VPC Peering 보안 특성

VPC Peering은 AWS 백본 네트워크를 통한 프라이빗 연결을 제공하여 인터넷 노출 없이 안전한 통신을 보장한다. 각 VPC의 보안 그룹과 NACL이 독립적으로 작동하여 세밀한 액세스 제어가 가능하다.

 

 

Transit Gateway 보안 고도화

Transit Gateway는 라우팅 테이블을 통한 네트워크 세분화로 마이크로 세그멘테이션을 구현할 수 있다. 이를 통해 제로 트러스트 아키텍처의 기반을 마련할 수 있다.

 

 

VPN 암호화 및 인증

Site-to-Site VPN은 IPSec을 통한 end-to-end 암호화를 제공하며, 사전 공유 키(PSK) 또는 인증서 기반 인증을 지원한다. Client VPN은 OpenVPN과 함께 Active Directory, SAML 2.0, 또는 인증서 기반 인증을 지원한다.

 

 

 

 

 

 

하이브리드 클라우드 아키텍처 설계 전략

 

 

다층 네트워크 아키텍처

현대적인 하이브리드 클라우드 환경에서는 여러 연결 방식을 조합하여 최적의 네트워크 아키텍처를 구성한다.

 

 

권장 설계 패턴:

  1. Core Network: Transit Gateway를 중심으로 한 허브-스포크 구조
  2. Edge Connectivity: Direct Connect 또는 VPN을 통한 온프레미스 연결
  3. Workload Isolation: VPC Peering을 통한 특수 목적 연결

 

 

네트워크 토폴로지 시각화

다음 다이어그램은 하이브리드 클라우드 환경에서의 네트워크 연결 패턴을 보여준다.

 

 

 

성능 최적화 고려사항

네트워크 성능 최적화를 위해서는 지연시간, 대역폭, 가용성을 종합적으로 고려해야 한다. Transit Gateway는 리전 내에서 최대 50Gbps의 대역폭을 제공하지만, 크로스 리전 연결에서는 추가적인 지연시간이 발생할 수 있다.

 

 

재해복구 및 비즈니스 연속성

하이브리드 클라우드 아키텍처에서는 네트워크 연결의 이중화가 필수적이다. 주 연결이 Transit Gateway라면 VPN을 백업 경로로 구성하거나, Direct Connect와 VPN을 동시에 사용하는 하이브리드 접근법을 고려할 수 있다.

 

 

 

 

 

 

 

각 방식별 최적 사용 사례

 

VPC Peering 최적 시나리오

  • 소수의 VPC 간 간단한 연결이 필요한 경우
  • 높은 대역폭과 낮은 지연시간이 요구되는 경우
  • 비용 최적화가 주요 목표인 경우
  • 네트워크 토폴로지가 단순하고 변경이 적은 경우

 

Transit Gateway 최적 시나리오

  • 다수의 VPC와 온프레미스 네트워크를 연결해야 하는 경우
  • 복잡한 라우팅 정책이 필요한 경우
  • 네트워크 세분화와 보안이 중요한 경우
  • 미래의 확장성을 고려해야 하는 경우

 

VPN 최적 시나리오

  • 온프레미스와 클라우드 간 연결이 필요한 경우
  • 원격 사용자 접근이 필요한 경우
  • 임시적이거나 테스트 목적의 연결이 필요한 경우
  • Direct Connect를 구축하기 전 임시 연결이 필요한 경우

 

 

 

 

 


 

 

 

 

 

마무리

AWS의 네트워크 연결 옵션인 VPC Peering, Transit Gateway, VPN은 각각 고유한 특성과 장점을 가지고 있다.

 

VPC Peering은 간단한 1:1 연결에서 뛰어난 성능과 비용 효율성을 제공하며, Transit Gateway는 복잡한 멀티 VPC 환경에서 중앙집중식 관리와 확장성의 우수함을 보여준다. VPN은 하이브리드 클라우드 구축의 핵심 요소로서 온프레미스 연결성을 제공한다.

 

성공적인 클라우드 네트워크 설계를 위해서는 현재의 요구사항뿐만 아니라 미래의 확장 계획, 보안 요구사항, 비용 최적화 목표를 종합적으로 고려해야 한다.

 

대부분의 엔터프라이즈 환경에서는 단일 솔루션보다는 여러 방식을 조합한 하이브리드 접근법이 최적의 결과를 제공한다.

 

적절한 네트워크 아키텍처 선택을 통해 성능, 보안, 비용 효율성을 동시에 달성할 수 있으며, 이는 궁극적으로 비즈니스 목표 달성에 크게 기여할 것이다.

 

 

 

 

 

 

 

 

 

 

 

 


Reference

728x90
반응형