home
SAA-C03

[network] 인터넷 게이트웨이 (IGW)

VPC는 기본적으로 바깥과 단절된 섬입니다. 그 섬을 인터넷과 잇는 유일한 다리가 인터넷 게이트웨이예요.

One-Line Summary

Internet Gateway(IGW)VPC와 인터넷 사이의 통신을 가능하게 하는 관문이다. VPC는 기본적으로 외부와 단절된 격리 네트워크인데, VPC에 IGW를 붙이고 서브넷의 라우트 테이블이 IGW를 가리키게 하면 그 서브넷(=public subnet)의 리소스가 인터넷과 주고받을 수 있다. AWS가 관리하는 수평 확장·이중화된 고가용 구성이라 성능·가용성 걱정이 없다.

Why It Exists

VPC는 보안을 위해 태어날 때부터 완전히 격리되어 있다. 그런데 웹 서버처럼 인터넷에서 요청을 받아야 하는 리소스도 있다. 이 "격리된 사설망을 필요한 지점에서만 인터넷에 연결"하는 장치가 필요하다.

IGW가 그 역할을 한다.

IGW 없는 VPC
  -> 외부와 완전 단절. 인터넷에서 접근도, 인터넷으로 나가지도 못함

VPC에 IGW 부착 + 라우트 테이블이 IGW 지정
  -> 해당 서브넷(public)의 리소스가 인터넷과 양방향 통신 가능

시험 감각:

"VPC 리소스를 인터넷과 통신하게 하라" = IGW 부착 + 라우트 테이블에 0.0.0.0/0 → igw 추가.

Abbreviations

약어풀네임의미
IGWInternet GatewayVPC를 인터넷에 연결하는 관문
VPCVirtual Private CloudAWS 안의 격리된 가상 사설 네트워크
NATNetwork Address Translation사설 IP ↔ 공인 IP 변환
EIPElastic IP고정 공인 IPv4 주소
Egress-only IGWEgress-only Internet GatewayIPv6 전용, 아웃바운드만 허용하는 IGW
Route TableRoute Table트래픽 경로 규칙표

IGW란 무엇인가 (상세)

IGW는 VPC 레벨에 붙는 완전관리형 네트워크 관문이다. 사용자가 서버를 띄우거나 크기를 조정할 필요가 없다.

항목내용
역할VPC ↔ 인터넷 양방향 통신의 진입/진출 지점
부착 대상VPC (서브넷이 아님)
관계VPC ↔ IGW는 1:1 (한 VPC에 IGW 하나, 한 IGW는 한 VPC에만)
가용성AWS가 수평 확장·이중화로 관리 → 단일 장애점(SPOF) 없음
대역폭별도 제한/병목 없음(관리형)
비용IGW 자체는 무료. 인터넷으로 나가는 데이터 전송 요금은 별도
지원IPv4, IPv6 모두 지원

어디에 붙나 — 서브넷이 아니라 VPC (중요 정정)

흔히 "서브넷에 IGW를 붙인다"고 오해하지만, 정확히는 다음과 같다.

         Internet
            │
        ┌───┴───┐
        │  IGW  │  attach 1개/VPC
        └───┬───┘
┌─ VPC ────────────────────────────────────────────────────────┐
│ ┌─────────────────────────┐   ┌────────────────────────────┐ │
│ │ public subnet           │   │ private subnet             │ │
│ │ Route: 0.0.0.0/0 ─► IGW │   │ Route: 0.0.0.0/0 ─► (none) │ │
│ │ EC2 (public IP)         │   │ EC2 (no public IP)         │ │
│ └─────────────────────────┘   └────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘

              ▲ IGW 경로가 있는 서브넷만 public이 된다(이름이 아니라 라우트가 결정)
오해사실
"IGW를 특정 서브넷에 붙인다"IGW는 VPC에 부착된다. 서브넷엔 직접 붙지 않는다
"IGW만 붙이면 모든 서브넷이 인터넷 연결"IGW 부착만으론 부족. 각 서브넷의 라우트 테이블이 IGW를 가리켜야 함
"public subnet은 태그/설정 스위치로 정해진다"라우트 테이블에 0.0.0.0/0 → igw 경로가 있으면 public, 없으면 private

Public Subnet의 정의 = 연결된 라우트 테이블이 IGW로 가는 기본 경로(0.0.0.0/0 → igw)를 가진 서브넷. IGW는 VPC 전체에 한 번 붙이고, 어떤 서브넷을 public으로 만들지는 라우트 테이블로 고른다.

인터넷 통신이 되려면 — 4가지 조건 (빈출)

인스턴스가 인터넷과 통신하려면 아래 네 가지가 모두 충족돼야 한다. 시험에서 "인터넷이 안 된다" 문제는 대개 이 중 하나가 빠진 경우다.

#조건확인 포인트
1VPC에 IGW 부착IGW가 생성·attach 되어 있는가
2서브넷 라우트 테이블에 0.0.0.0/0 → igw해당 서브넷이 이 라우트를 가진 테이블에 연결됐는가
3인스턴스에 공인 IP(또는 EIP)퍼블릭 IPv4나 Elastic IP가 있는가
4보안 그룹 + NACL이 트래픽 허용SG(인바운드/아웃바운드), NACL(양방향)이 막지 않는가
안 되는 흔한 원인
  - IGW는 붙였는데 라우트 테이블에 0.0.0.0/0 -> igw 가 없음   (2번 누락)
  - 라우트는 있는데 인스턴스에 공인 IP가 없음                (3번 누락)
  - 다 됐는데 보안 그룹/NACL이 차단                          (4번 누락)

IGW의 숨은 역할 — 1:1 NAT

인스턴스 OS 내부는 사설 IP만 알고 있다. 공인 IP는 실제로 인터페이스에 설정되지 않는다. IGW가 나갈 때 사설→공인, 들어올 때 공인→사설로 주소를 바꿔준다(1:1 NAT).

인스턴스(사설 10.0.1.10) --나감--> IGW가 출발지를 공인 IP로 치환 --> 인터넷
인터넷 --들어옴--> IGW가 목적지 공인 IP를 사설 10.0.1.10으로 치환 --> 인스턴스

그래서 인스턴스 안에서 ifconfig/ip addr를 봐도 사설 IP만 보이고, 외부에서는 공인 IP로 보인다. 이 매핑을 IGW가 담당한다.

IGW vs NAT Gateway (헷갈리기 쉬움)

구분Internet GatewayNAT Gateway
목적public 서브넷의 양방향 인터넷 통신private 서브넷의 아웃바운드 전용 인터넷
인바운드(외부→내부)가능(공인 IP 있으면)불가(응답 트래픽만 돌아옴)
붙는 위치VPCpublic 서브넷 안에 배치
대상public 서브넷 리소스private 서브넷 리소스가 나갈 때 경유
비용무료(데이터 전송료만)시간당 + 데이터 처리 요금 발생

"private 서버가 외부에서 접근은 막되 패치 등으로 나가야 한다" = NAT Gateway. "인터넷에서 직접 받아야 한다" = IGW + public 서브넷.

IPv6와 Egress-only IGW

상황장치
IPv4/IPv6 양방향 인터넷 통신(public)IGW
IPv6 리소스가 아웃바운드만 하고 인바운드는 막고 싶을 때Egress-only Internet Gateway

IPv6에는 사설/공인 개념이 없어 NAT Gateway 대신 Egress-only IGW가 "아웃바운드 전용" 역할을 한다. (IPv4의 NAT Gateway에 대응)

Common Wrong Directions

오답 방향왜 부족한가
IGW를 서브넷에 붙인다고 이해IGW는 VPC에 부착, public 여부는 라우트 테이블이 결정
IGW만 붙이면 인터넷 된다고 생각라우트(0.0.0.0/0→igw) + 공인 IP + SG/NACL 허용까지 필요
private 서브넷 아웃바운드에 IGW 라우트 추가그러면 public이 됨. 아웃바운드 전용은 NAT Gateway
인스턴스에 공인 IP 없이 인터넷 기대public IP 또는 EIP가 있어야 IGW가 NAT 매핑
IGW가 이중화 필요하다고 직접 여러 개 구성AWS가 이미 고가용·수평 확장 관리 → 하나로 충분
IPv6 아웃바운드 전용에 NAT GatewayIPv6는 Egress-only IGW 사용

Exam Triggers

문제에서 이런 표현이 나오면떠올릴 것
"allow VPC resources to communicate with the internet"IGW 부착 + 라우트
"instance in public subnet can't reach internet"라우트/공인 IP/SG·NACL 점검(4조건)
"web/ALB must receive inbound internet traffic"IGW + public subnet
"private instances need outbound only"NAT Gateway (IGW 아님)
"IPv6 outbound-only, block inbound"Egress-only Internet Gateway
"make IGW highly available"이미 AWS 관리형 HA, 추가 구성 불필요

Memory Sentence

IGW는 VPC에 1개 붙는 관리형 인터넷 관문(고가용·무료, 데이터 전송료만). 서브넷이 아니라 VPC에 부착되고, 라우트 테이블에 0.0.0.0/0 → igw가 있는 서브넷이 public이 된다. 인터넷 통신엔 IGW+라우트+공인 IP+SG/NACL 4박자가 모두 필요. 아웃바운드 전용은 NAT Gateway(IPv6는 Egress-only IGW).

References

댓글

아직 댓글이 없습니다.