[AWS] VPC

gyeol·2025년 8월 30일

AWS

목록 보기
4/20
post-thumbnail

VPC (Virtual Private Cloud)

VPC는 AWS 클라우드 내 논리적으로 격리된 가상의 네트워크를 말한다. 사용자가 정의한 가상 네트워크를 제공해 리소스를 격리하고 제어할 수 있도록 한다.

서브넷

서브넷은 VPC CIDR을 가용영역(AZ) 단위로 쪼갠 L3 네트워크이다. 각 서브넷은 정확히 하나의 AZ에만 속한다.
공개/비공개 여부는 “서브넷이 연동된 라우트 테이블에 IGW 경로가 있느냐”로 결정된다.

1. Public Subnet

인터넷 게이트웨이를 통해 직접 인터넷에 연결되는 서브넷이다.

  • 라우트 테이블: 0.0.0.0/0 → Internet Gateway(IGW), (IPv6 사용 시 ::/0 → IGW)
  • 퍼블릭 주소: 인스턴스에 Public IPv4(Auto-assign 또는 EIP) 혹은 IPv6가 할당
  • 보안 구성: Security Group/NACL이 허용

2. Private Subnet

인터넷에 직접 노출되지 않는 서브넷이다.

  • IGW로 가는 경로 없음 (기본)
  • 인터넷으로 아웃바운드 필요하면 라우트 테이블에
    • IPv4: 0.0.0.0/0 → NAT Gateway(또는 NAT Instance)
    • IPv6: ::/0 → Egress-Only Internet Gateway(EOIGW)

인터넷 연결성 확보

1. Internet Gateway (IGW)

VPC 리소스가 인터넷과 직접 통신할 수 있도록 하는 게이트웨이이다.

  • IGW는 VPC 단위로 1개 연결
  • Public Subnet의 라우트 테이블에 0.0.0.0/0 → IGW(IPv6 사용 시 ::/0 → IGW) 경로가 있을 때 해당 서브넷은 인터넷으로 직접 나갈 수 있음
  • private Subnet에 IGW를 직접 둘 수는 없음

2. NAT Gateway

  • Private Subnet의 경우 공인 IP가 없기에 직접 인터넷 접근이 불가능
  • NAT Gateway를 통해 간접적으로 아웃바운드(내부->외부) 인터넷 액세스 허용
  • 프라이빗 서브넷의 EC2 인스턴스가 아웃바운드 인터넷 액세스가 필요하지만 인바운드 연결을 허용하지 않을 때 사용
  • 즉, 외부에서 프라이빗 서브넷 내부로 진입은 안되지만 같은 서브넷 내 또는 VPC 내부 인스턴스 간 통신은 VPC 라우팅 테이블을 통해 자유롭게 가능
방법설명
고가용성 및 관리 용이성완전 관리형 서비스로 자동 스케일링, 고가용성 및 내결함성 제공
NAT 인스턴스 대체NAT 인스턴스는 관리 오버헤드가 크고 고가용성이 떨어져 권장되지 않음

NAT Instance vs NAT Gateway

이름설명
Nat InstanceEC2 인스턴스로서 직접 관리해야 하며 고가용성 및 확장성을 위해 추가 구성 필요
NAT GatewayAWS에서 관리하는 완전 관리형 서비스

EIGW (Egress-Only Internet Gateway)

IPv6 전용 게이트웨이로, Private Subnet의 EC2 인스턴스가 아웃바운드 방향으로만 인터넷에 접속할 수 있도록 지원한다. 인바운드 세션(외부 → 내부)은 차단되므로, 외부에서 EC2 인스턴스에 직접 접근하는 것은 불가능하다.
NAT Gateway가 IPv4 트래픽을 위한 아웃바운드 전용 게이트웨이라면, EIGW는 IPv6용 NAT Gateway와 같은 역할을 한다.

동작 방식

  1. Private Subnet에 있는 IPv6 인스턴스가 외부 인터넷으로 아웃바운드 요청을 보냄
  2. 라우트 테이블에서 ::/0 → Egress-Only Internet Gateway 경로를 확인하고 트래픽을 전달
  3. EIGW는 요청을 인터넷으로 전달
  4. 외부에서 역방향 세션 시작은 차단, 따라서 인바운드 보안이 기본적으로 보장됨

VPC 간 연결

1. VPC 피어링

동일 또는 다른 AWS 계정 내 두 VPC 간 네트워크 트래픽 라우팅을 말한다. 퍼블릭 인터넷을 통과하지 않아 보아성이 우수하고 동일 리전 내 두 VPC 간 가장 비용 효율적인 연결 솔루션이라고 할 수 있다.
다른 AWS 리전의 VPC 간에도 피어링을 할 수 있지만 보안 그룹 규칙에서 상대 VPC의 CIDR 블록을 사용해야 한다.

제한 사항

  • 피어링하는 두 VPC의 CIDR 블록은 중첩되지 않아야 함
  • 여러 VPC 연결 시, 관리 복잡성 증가
  • 전이적 피어링이 지원되지 않음

2. TGW (AWS Transit Gateway)

Transit Gateway는 AWS에서 제공하는 중앙 집중식 라우팅 허브 서비스이다. VPC, 온프레미스 네트워크, 다른 리전의 VPC까지 일대다 연결을 가능하게 한다. 기존에는 VPC Peering으로 VPC 간 연결을 해야 했으나, Peering은 풀메시 구조라서 연결 수가 많아질수록 관리가 복잡해졌지만 TGW는 허브-스포크 아키텍처로 단순화시켰다.

특징설명
중앙 집중식 연결 허브다수의 VPC와 온프레미스를 TGW 하나에 연결하여 관리
확장성 & 관리 용이성수백 개 이상의 VPC 연결 지원
리전 간 통신TGW 간 피어링 연결(Transit Gateway Peering)을 통해 다른 리전의 VPC까지 연결 가능
멀티 계정 환경 지원AWS Resource Access Manager(RAM)을 통해 다른 AWS 계정과 TGW를 공유 가능

VPC 내 보안

보안 그룹

인스턴스 수준에서 동작하는 상태 저장 가상 방화벽이다.

  • 기본 차단: 규칙에 명시된 트래픽만 허용, 나머지는 모두 거부
  • 상태 저장: 인바운드 허용 시 자동으로 대응되는 아웃바운드도 허용됨
  • 최소 권한 원칙: 필요한 포트·프로토콜만 열어둠
  • 프리픽스 리스트: 자주 사용하는 IP 범위를 중앙 관리 → 여러 SG에서 공통 참조 가능
  • 조직 단위 공유: AWS RAM을 활용해 여러 계정에 동일 SG/프리픽스 리스트를 공유, 관리 오버헤드 감소

NACL (Network Access Control Lists)

서브넷 수준에서 동작하는 상태 비저장 네트워크 방화벽이다.

  • 인바운드·아웃바운드 규칙을 모두 명시해야 함
  • 허용(Allow) + 거부(Deny) 규칙 모두 사용 가능.

트래픽 검사

Gateway Load Balancer를 통해 보안 어플라이언스와 통합 가능하다.

  • 투명 프록시 역할: 트래픽을 가상 방화벽 어플라이언스로 전달 → 검사 후 원래 경로로 복귀
  • 확장성: Auto Scaling 및 Elastic Load Balancing 기능과 결합 가능

온프레미스 환경 연결

AWS Site-to-Site VPN

  • IPsec 기반의 암호화된 터널을 통해 온프레미스 ↔ VPC 연결
  • 인터넷을 경유하기 때문에 네트워크 품질은 인터넷 상황에 따라 달라짐
  • 초기 구축 비용이 저렴, 몇 분 안에 설정 가능
  • 소량 트래픽, 빠른 PoC(파일럿 테스트), DR 환경에 적합
  • 인터넷 기반이라 대역폭이 제한적이고 지연 변동이 발생할 수 있음

AWS Direct Connect(DX)

  • 온프레미스 ↔ AWS를 전용 물리 회선으로 연결 (인터넷 경유 X)
  • 더 낮은 지연 시간, 일관된 성능, 높은 대역폭 보장
  • S3, DynamoDB 같은 AWS 서비스에 Private IP 기반 직접 액세스 가능
  • 물리 회선 구축 필요 → 리드타임(수주~수개월), 초기 비용↑
  • 한 리전에만 직접 연결 → 멀티리전 지원하려면 추가 설정 필요
profile
공부 기록 공간 '◡'

0개의 댓글