본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

DevOps

AWS VPC 네트워크 구성

작성 2026. 10. 21.추가
목차6개 항목
출처와 참고

ByteByteGo의 System Design 101 가이드 「Typical AWS Network Architecture」를 바탕으로, Amazon VPC·PrivateLink 공식 문서로 확인해 재구성한 노트다.

VPC란

VPC(Virtual Private Cloud) 는 AWS 클라우드 안에 논리적으로 격리된 나만의 가상 네트워크다. IP 대역(CIDR)을 정하고, 그 안을 서브넷으로 나누고, 라우팅 테이블로 트래픽이 어디로 갈지 정한다. EC2·RDS 같은 자원은 모두 어떤 VPC의 어떤 서브넷 안에 놓인다.

구성 요소뜻
리전VPC 하나는 한 리전에 속한다
가용 영역(AZ)전원·네트워크가 독립된 하나 이상의 데이터센터. 서브넷 하나는 AZ 하나에 속한다
서브넷VPC 대역을 쪼갠 구간. 인터넷 게이트웨이로 가는 경로가 있으면 퍼블릭, 없으면 프라이빗이다
라우팅 테이블목적지 대역별로 다음 홉(게이트웨이, 엔드포인트, 피어링)을 정한다
보안 그룹인스턴스(네트워크 인터페이스) 단위의 상태 기반(stateful) 방화벽. 허용 규칙만 있다
네트워크 ACL서브넷 단위의 상태 없는(stateless) 방화벽. 허용·거부 규칙이 있다

서비스를 견고하게 하려면 서브넷을 여러 AZ에 하나씩 만들어 자원을 나눠 둔다. 보안 그룹으로 RDS 접속을 여는 실습은 AWS 클라우드 기초에 있다.

한 장의 구성도

flowchart TB
  inet["인터넷"] --- igw["① 인터넷 게이트웨이"]
  remote["원격 근무자"] --- cvpn["② Client VPN 엔드포인트"]
  onprem["사내 데이터센터"] --- vgw["③ 가상 프라이빗 게이트웨이<br/>(Site-to-Site VPN / Direct Connect)"]
  subgraph vpca["VPC A (리전)"]
    subgraph aza["AZ-a"]
      puba["퍼블릭 서브넷<br/>ALB, NAT GW"]
      priva["프라이빗 서브넷<br/>앱 서버, DB"]
    end
    subgraph azb["AZ-b"]
      pubb["퍼블릭 서브넷<br/>ALB, NAT GW"]
      privb["프라이빗 서브넷<br/>앱 서버, DB"]
    end
  end
  igw --- vpca
  cvpn --- vpca
  vgw --- vpca
  vpca -->|"⑥ 게이트웨이 엔드포인트"| s3["S3·DynamoDB"]
  vpca -->|"⑦ 인터페이스 엔드포인트"| awssvc["다른 AWS 서비스"]
  vpca -->|"⑧ PrivateLink"| saas["SaaS·다른 계정의 서비스"]
  vpca ---|"④ VPC 피어링"| vpcb["VPC B"]
  vpca ---|"⑤ Transit Gateway"| tgw["VPC C, VPC D, VPN, 다른 계정 …"]

연결 방법

#연결 대상수단핵심
①인터넷인터넷 게이트웨이(IGW)VPC와 인터넷 사이의 양방향 관문. 퍼블릭 서브넷의 라우팅 테이블이 0.0.0.0/0 → IGW를 가진다. 프라이빗 서브넷이 밖으로 나가기만 할 때는 퍼블릭 서브넷의 NAT 게이트웨이를 거친다
②원격 근무자Client VPN 엔드포인트개인 기기에서 인터넷을 거쳐 VPC·사내망에 안전하게 접속하는 관리형 VPN
③사내 데이터센터가상 프라이빗 게이트웨이(VGW) + Site-to-Site VPN, 또는 Direct ConnectVGW는 VPN 연결의 AWS 쪽 끝이다. 인터넷 위의 암호화 터널(VPN) 대신 전용 회선(Direct Connect)을 쓰면 대역폭과 지연이 안정적이다
④다른 VPC 하나VPC 피어링두 VPC를 사설 IP로 직접 잇는다. 전이되지 않는다(A–B, B–C가 이어져도 A–C는 안 된다). 대역이 겹치면 못 잇는다
⑤여러 VPC·VPN·계정Transit Gateway허브 하나에 모두 붙이는 중앙 라우터. VPC가 많아지면 피어링을 N×(N−1)/2개 만드는 대신 이것을 쓴다
⑥S3, DynamoDB게이트웨이 엔드포인트라우팅 테이블에 항목을 추가해 인터넷·NAT 없이 사설 경로로 간다. 추가 요금이 없다
⑦그 밖의 AWS 서비스인터페이스 엔드포인트(PrivateLink 기반)서브넷 안에 사설 IP를 가진 네트워크 인터페이스가 생기고, 서비스 호출이 그리로 간다. IGW·NAT·VGW가 필요 없다
⑧SaaS, 다른 계정의 서비스PrivateLink서비스 제공자가 NLB 뒤에 엔드포인트 서비스를 만들고, 소비자는 인터페이스 엔드포인트로 붙는다. 트래픽이 인터넷에 나가지 않고, VPC 전체가 아니라 서비스 하나만 노출된다
상황고를 것
VPC 두세 개를 서로 통째로 잇는다VPC 피어링
VPC가 많고, VPN·Direct Connect까지 한 곳에서 라우팅한다Transit Gateway
특정 서비스 하나만 다른 VPC·계정에 공개한다. 대역이 겹쳐도 된다PrivateLink

비용과 보안에서 볼 것

  • NAT 게이트웨이는 시간당 요금과 처리 데이터량 요금이 붙는다. 프라이빗 서브넷이 S3를 많이 읽으면 게이트웨이 엔드포인트로 NAT를 우회해 비용을 줄인다. 클라우드 비용 최적화와 숨은 비용
  • AZ를 넘는 트래픽, 리전을 넘는 트래픽은 과금된다. 자주 통신하는 자원은 같은 AZ에 둘지 가용성과 비용을 견줘 정한다.
  • DB와 앱 서버는 프라이빗 서브넷에 두고, 인터넷에서 들어오는 길은 ALB 하나로 좁힌다.
  • NAT의 동작 원리는 네트워크 계층 프로토콜에 있다.

정리

  • VPC는 격리된 가상 네트워크다. 서브넷은 AZ에 묶이고, 퍼블릭·프라이빗은 IGW로 가는 경로가 있느냐로 갈린다.
  • 인터넷은 IGW, 밖으로만 나갈 때는 NAT, 사내망은 VPN·Direct Connect로 잇는다.
  • VPC끼리는 적으면 피어링, 많으면 Transit Gateway, 서비스 하나만 공개하면 PrivateLink.
  • AWS 서비스는 VPC 엔드포인트로 인터넷을 거치지 않고 부른다.

관련 노트: AWS 클라우드 기초, 네트워크 계층 프로토콜, 클라우드 서비스 지도: AWS·Azure·GCP 대응표, 쿠버네티스 위 웹 서비스의 요청 경로

원본 기록3

댓글

GitHub 계정으로 댓글을 남길 수 있어요.