본문 바로가기
System Engineering/AWS Concept

[AWS] VPC 개념과 관련 기능 소개 및 요약

by 코딩하는 동현 2026. 1. 29.

ipv6에 관련된 기능이랑 ipv6라우팅 관련 내용은 제외했습니다. 추후에 다른 포스트에서 다룰 예정입니다.

 

1. Network Foundation: 가상 네트워크의 기반

물리적 네트워크 위에 올라가는 Overlay Network 계층입니다.

VPC (Virtual Private Cloud)

  • 개념: Multi-tenant 환경에서 논리적으로 완벽히 격리된 사용자 전용 네트워크입니다.
  • 작동 원리 (Mechanism): AWS의 물리적 스위치는 패킷 전송 시 VNI(Virtual Network Identifier) 태그를 붙여 캡슐화(Encapsulation)합니다. 이 태그가 다르면 물리적으로 같은 선을 써도 통신이 불가능합니다.
  • 핵심 디테일:
    • Region 단위 리소스입니다.
    • 생성 후 Primary CIDR 크기는 변경 불가하므로 초기 설계(Capacity Planning)가 매우 중요합니다.

CIDR (Classless Inter-Domain Routing)

  • 개념: IP 주소 낭비를 막고 유연한 할당을 위한 Prefix 표기법입니다.
  • 핵심 디테일:
    • VPC는 /16 (65,536 IP) ~ /28 (16 IP) 사이의 크기만 허용됩니다.
    • RFC 1918 사설 대역(10.x.x.x, 172.16.x.x, 192.168.x.x) 사용이 권장됩니다.

Subnets

  • 개념: VPC를 더 잘게 쪼갠 단위이자, Broadcast Domain의 경계입니다.
  • 작동 원리: 하나의 Subnet은 하나의 AZ(Availability Zone)에 강하게 결합됩니다. 이는 물리적 재해에 대한 Fault Domain을 분리하기 위함입니다.
  • 핵심 디테일 (Reserved IPs): AWS는 각 서브넷마다 총 5개의 IP를 예약하여 사용자가 못 쓰게 막습니다.
    • .0 (Network), .1 (Router), .2 (DNS), .3 (Reserved), .255 (Broadcast - AWS는 L2 Broadcast 미지원).

Public Subnet

  • 개념: 인터넷과 직접 통신 가능한 서브넷으로, Route Table에 Internet Gateway(IGW)로 가는 0.0.0.0/0 라우트가 설정됩니다.
  • 용도: 웹 서버, 로드밸런서(ALB/NLB), NAT Gateway, Bastion 호스트 등 공개 서비스 배치.
  • 특징: 인스턴스에 Public IP 할당 가능(자동 또는 수동). 인바운드/아웃바운드 인터넷 직접 접근.

Private Subnet

  • 개념: 인터넷과 직접 통신 불가능한 서브넷으로, Route Table에 IGW 라우트가 없습니다.
  • 용도: 데이터베이스(RDS), 내부 앱 서버, 캐시 등 보안 민감 리소스 배치.
  • 특징: Public IP 없음. 아웃바운드 인터넷은 Public Subnet의 NAT Gateway 경유. VPC 내부 통신만 직접.

2. Connectivity: 외부 통신과 주소 변환 (NAT)

Private IP가 외부와 통신하기 위한 게이트웨이 기술들입니다.

Internet Gateway (IGW)

  • 개념: VPC와 인터넷 사이의 관문입니다.
  • 작동 원리: 물리적 라우터 1대가 아니라, 수평 확장된 고가용성 logical 객체입니다. 대역폭 병목이나 SPOF가 없습니다.
  • 핵심 디테일: 내부 인스턴스의 Private IP와 할당된 EIP(Public IP) 간의 1:1 Static NAT를 수행합니다.

VPC 라우터와 라우팅 테이블

AWS VPC는 가상 라우터(VPC Router)를 통해 서브넷 간 트래픽과 외부 네트워크(인터넷, 온프레미스 등)로의 경로를 관리합니다.

  • VPC 라우터 : 각 VPC에 자동 생성되는 논리적 라우터로, 물리적 하드웨어가 아닌 AWS 관리형 서비스입니다. 서브넷 간 통신과 IGW/NAT Gateway 같은 게이트웨이로 트래픽을 전달하며, 고가용성과 자동 스케일링을 제공합니다.
  • 작동 원리: 라우터는 라우팅 테이블(Route Table)을 참조해 패킷의 목적지 IP 범위(CIDR)에 따라 다음 홉(Next Hop)을 결정합니다. 기본적으로 VPC 내부(local) 경로는 암시적이며, IGW(0.0.0.0/0 → igw-id) 같은 명시적 엔트리를 추가해 인터넷 라우팅을 활성화합니다.
  • 라우팅 테이블은 서브넷별로 연관지어 사용되며, 메인 테이블이 기본값(모든 로컬 트래픽 허용)입니다. 퍼블릭 서브넷은 IGW를 가리키는 테이블을, 프라이빗 서브넷은 로컬만 가리키는 테이블을 할당합니다.
  • 우선순위: 가장 구체적인 CIDR(길이 긴)가 우선 적용되며, IGW는 Private IP → EIP의 1:1 Static NAT를 보완해 인터넷 통신을 완성합니다. (참고로 static NAT은 우리가 컴퓨터 네트워킹에 배우는 NAT와 다릅니다. 네트워크에서 배우는 NAT는 aws PAT이랑 비슷합니다)

NAT Gateway (Managed)

  • 개념: Private Subnet 인스턴스가 "인터넷으로 나갈 수는 있게 하되, 밖에서 들어오지는 못하게" 하는 장비입니다.
  • 작동 원리: Many-to-1 PAT (Port Address Translation)를 수행합니다. 여러 인스턴스의 트래픽을 NAT Gateway의 공인 IP 하나로 변환하고, 포트 번호로 세션을 구분합니다.
  • 핵심 디테일: AZ별로 생성해야 고가용성이 보장됩니다. IPv4 전용입니다.

NAT Instance (Legacy)

  • 개념: 일반 퍼블릭 EC2 인스턴스를 리눅스 설정으로 라우터처럼 쓰는 방식입니다.
  • 핵심 디테일 (Source/Destination Check): AWS 하이퍼바이저는 기본적으로 "목적지가 내가 아닌 패킷"은 버립니다. NAT 역할을 하려면 이 EC2의 ENI 설정에서 Source/Dest Check를 반드시 비활성화(Disable) 해야 합니다.

Bastion Host(퍼블릭 서브넷에 ec2를 이용해서 프라이빗 접속)

  • 개념: 외부에서 Private Subnet 서버로 접근하기 위한 유일한 진입점(Jump Server)입니다.
  • 보안 원리: Public Subnet에 위치하며, SG Chaining을 사용합니다.
    • (Bastion SG: 내 IP의 22번 허용) -> (Private SG: Bastion SG ID로부터 오는 트래픽만 허용).
  • 최신 트렌드: 포트를 열어야 하는 보안 위험 때문에 최근엔 AWS Systems Manager (SSM) Session Manager로 대체합니다.

3. Security: 상태 저장 여부에 따른 이중 방어

Security Groups (SG)

  • 위치: ENI (Network Interface) 레벨, 즉 인스턴스 바로 앞입니다.
  • 작동 원리 (Stateful): 커널 레벨에서 Connection Tracking Table을 유지합니다. 내가 보낸 요청(Outbound)에 대한 응답(Inbound)은 규칙에 없어도 자동 허용됩니다.
  • 핵심 디테일: Allow(허용) 규칙만 존재합니다. (Deny 불가, 기본은 모두 차단).

NACL (Network Access Control List)

  • 위치: Subnet 경계 레벨입니다.
  • 작동 원리 (Stateless): 패킷의 상태를 기억하지 못합니다. 들어오는 것과 나가는 것을 각각 검사합니다.

Ephemeral Ports: 이것 때문에 사고가 많이 납니다.

  • 서버가 응답을 줄 때, 클라이언트는 임시 포트(1024~65535)를 열고 기다립니다. NACL은 Stateless하므로, Inbound 규칙에 이 임시 포트 대역을 명시적으로 허용해 주지 않으면 응답 패킷이 차단되어 통신이 안 됩니다.
  • Deny(거부) 규칙 설정이 가능해 특정 IP 차단(Block) 용도로 씁니다.

4. Advanced Topology: 네트워크 확장과 연결

VPC Peering

  • 개념: 두 VPC 간의 1:1 네트워크 연결입니다.
  • 핵심 디테일 (Non-transitive): 비전이성을 가집니다. A↔B, B↔C 연결 시 A↔C는 통신 불가합니다. 이는 라우팅 루프 방지와 보안 격리를 위함입니다. CIDR이 겹치면 생성 불가합니다.

VPC Endpoints (PrivateLink)

보통 EC2에서 S3나 SNS로 데이터를 보낼 때, 기본 경로는 다음과 같습니다:

EC2 -> NAT Gateway -> IGW -> Public Internet -> AWS S3 Public Endpoint

이 경로의 문제점은 보안(데이터가 인터넷망을 스침)비용(NAT Gateway 데이터 처리 비용)입니다.

VPC Endpoint는 이 경로를 단축시켜, AWS 백본 네트워크(Backbone Network) 안에서 트래픽이 목적지 서비스로 직행하게 만드는 "비공개 터널" 기술입니다.

두 가지 Endpoint 타입: 구현 계층(Layer)의 차이

두 방식은 단순히 이름만 다른 게 아니라, OSI 모델의 동작 계층구현 방식이 완전히 다릅니다.

A. Gateway Endpoints (L3 Routing 방식)

  • 대상: S3, DynamoDB (단 2개 서비스만 지원. AWS 초창기 서비스들이라 아키텍처가 다름)
  • 작동 원리 (Mechanism):
    • 네트워크 인터페이스를 만드는 게 아니라, Route Table(라우팅 테이블)을 조작하는 방식입니다.
    • 라우팅 테이블에 "목적지가 S3의 Public IP 대역(Prefix List)이면, IGW가 아니라 vpce-gateway-id로 보내라"는 규칙을 심습니다.
  • 특징:
    • 리소스가 아님: ENI가 생성되지 않으므로 IP 주소가 없습니다.
    • Security Group 사용 불가: IP가 없으니 SG를 붙일 수 없습니다. 대신 VPC Endpoint Policy(JSON 정책)로 제어합니다.
    • 무료: 물리적 리소스를 점유하지 않는 논리적 라우팅 규칙이라 공짜입니다.

B. Interface Endpoints (L2/L3 Network Interface 방식)

  • 대상: 대부분의 최신 AWS 서비스 (SNS, SQS, CloudWatch, EC2 API 등) + S3도 지원.
  • 기술 기반: AWS PrivateLink.
  • 작동 원리 (Mechanism):
    • 내 VPC의 Subnet 안에 ENI (Elastic Network Interface)를 실제로 생성(Provisioning)합니다.
    • 이 ENI는 Private IP를 할당받습니다. (예: 10.0.1.50)
    • DNS Hijacking: AWS 내부 DNS가 서비스 도메인(예: sns.ap-northeast-2.amazonaws.com)을 쿼리할 때, 공인 IP 대신 이 Private IP를 반환하도록 가로챕니다.
  • 특징:
    • Security Group 사용 가능: ENI이므로 보안 그룹을 붙여서 포트 제어가 가능합니다.
    • 유료: ENI라는 리소스를 점유하고 데이터 처리를 수행하므로 시간당 비용 + 데이터 처리 비용이 듭니다.

Gateway vs Interface: S3 접속 딜레마 (심화)

결정적인 차이: "On-premise(온프레미스)에서의 접근성"

  1. Gateway Endpoint의 한계 (라우팅 테이블의 지역성):
    • Gateway 방식은 VPC 내부의 Route Table에 의존합니다.
    • 만약 온프레미스(IDC)에서 VPN이나 Direct Connect(DX)를 타고 들어온 트래픽은, VPC의 Route Table 규칙을 따르지 않습니다.
    • 따라서 온프레미스 서버는 Gateway Endpoint를 통해 S3에 접근할 수 없습니다.
  2. Interface Endpoint의 해결책 (IP 도달성):
    • Interface Endpoint는 VPC 내부에 존재하는 "IP 주소(ENI)"입니다.
    • 온프레미스 서버 입장에서는 VPN 터널을 통해 10.0.1.50이라는 사설 IP로 패킷을 보내는 것은 일반적인 라우팅으로 가능합니다.
    • 즉, "온프레미스 -> VPN/DX -> VPC 내부의 Interface Endpoint -> S3" 경로가 성립됩니다.

Transit Gateway (TGW)

  • 개념: Peering의 복잡한 Mesh 구조 N(N-1)/2 를 해결하는 Hub-and-Spoke 라우터입니다.
  • 작동 원리: Transitive Routing을 지원합니다. 중앙 허브(TGW)를 거쳐 VPC-VPN-DX 간의 모든 통신을 중계합니다.

5. Hybrid & Physical Connectivity: 온프레미스 연동

Site-to-Site VPN

  • 개념: AWS Site-to-Site VPN은 온프레미스 네트워크와 VPC를 IPSec 터널로 연결하는 관리형 서비스입니다.
  • 구성 요소:
    • VGW (Virtual Private Gateway): AWS VPC 쪽의 VPN 종단점.
    • CGW (Customer Gateway): 온프레미스 쪽 라우터 장비의 정보를 담은 AWS 객체.
  • 특징: 공용 인터넷망 위에서 IPsec 암호화 터널을 씁니다.

Direct Connect (DX)

  • 개념: 인터넷망이 아닌 전용 물리 회선(Dedicated Fiber)으로 AWS와 직결합니다.
  • 특징: 일정한 지연시간(Low Latency)과 대역폭 보장, 높은 보안성.

Direct Connect Gateway

  • 목적: 물리 회선은 서울에 있는데, 미국 리전 VPC에도 접속하고 싶을 때 씁니다.
  • 기능: 하나의 DX 연결로 전 세계 모든 리전의 VPC에 접근하게 해주는 글로벌 게이트웨이입니다.

6. Observability: 가시성과 분석

VPC Flow Logs

  • 메커니즘 (Mechanism): 하이퍼바이저 레벨에서 ENI 트래픽을 Out-of-Band로 수집하는 Agentless 텔레메트리입니다. 인스턴스 리소스(CPU/Throughput)에 전혀 영향을 주지 않습니다.
  • 데이터 구조: Payload(데이터 내용)는 없으며, L4 메타데이터(5-tuple)와 Action(ACCEPT/REJECT) 필드를 기록합니다.
  • 보안 분석 (Troubleshooting): Stateful(SG)과 Stateless(NACL)의 차단 지점을 식별합니다.
    • Inbound REJECT: 방화벽(SG/NACL)에 의해 유입 차단.
    • Inbound ACCEPT but No Response: 요청은 들어왔으나, NACL Outbound 규칙(Ephemeral Ports 등)에 의해 응답이 차단됨.
  • 분석 파이프라인: 목적에 따라 Hot Path(CloudWatch Logs → 실시간 경보)와 Cold Path(S3 → Athena SQL 감사)로 구성합니다.

Traffic Mirroring

  • 실제 트래픽을 1:1 복제해 분석 장비로 보내는 네트워크 TAP(Terminal Access Point) 기능입니다.
  • 개념: 스위치 포트 미러링처럼 ENI의 모든 패킷을 복사해 타겟으로 전송. 원본 트래픽은 그대로 흐름
  • 용도: 실제 패킷의 Payload 전체를 복제합니다. 보안 장비(IDS/IPS)로 보내서 DPI (Deep Packet Inspection), 즉 패킷 내용을 뜯어볼 때 사용합니다.

7. Network Protection: 네트워크 보안 계층

AWS Network Firewall

  • 개념: VPC 전체 트래픽을 L3(네트워크)부터 L7(애플리케이션) 계층까지 정밀 검사하는 관리형 방화벽 서비스입니다.
  • 메커니즘 (Mechanism): 내부적으로 Gateway Load Balancer (GWLB) 엔드포인트를 사용하여, 라우팅 경로상의 트래픽을 투명하게 가로채고(Inspection) 검사합니다.
  • 핵심 기능 (Fine Grained Controls):
    • FQDN Filtering (L7): .google.com처럼 도메인 이름 기반으로 Outbound 트래픽을 화이트리스팅할 수 있습니다. (기존 NAT Gateway나 SG로는 불가능한 기능).
    • IPS (Intrusion Prevention): 단순 차단이 아니라, 서명(Signature) 기반으로 악성 패킷 패턴을 능동적으로 탐지하고 차단합니다.
  • 보호 범위: 인터넷(In/Out), VPC Peering, 온프레미스(VPN/DX) 등 모든 경로의 트래픽을 커버합니다.

Standard Protection Layers (기존 방어 도구)

  • WAF & Shield: 웹 트래픽(HTTP/S) 보호 및 DDoS 공격 방어.
  • Firewall Manager: 여러 계정/VPC에 흩어진 방화벽 규칙(WAF, SG, Network Firewall 등)을 중앙에서 통합 관리합니다.
반응형

댓글