[AWS클라우드] AWS 네트워크 흐름 (NAT Gateway)

우유·2026년 3월 24일

AWS 네트워크 흐름 정리 (IGW, NAT, Public/Private)

오늘은 AWS에서 자주 막히는 부분인 네트워크 흐름에 대해 정리해보려고
한다.
특히 EC2 접속이 안 되거나 인터넷이 안 되는 문제는 대부분 구성 자체보다
흐름을 이해하지 못해서 발생한다.


1. AWS 네트워크 흐름을 이해해야 하는 이유

AWS에서는 다음과 같은 질문이 정말 자주 나온다.

  • EC2에 접속이 안됩니다
  • Public Subnet인데 인터넷이 안됩니다
  • apt update가 안 됩니다

이 문제들은 대부분 다음 원인이다.

  • Route Table 설정 오류
  • Internet Gateway 연결 문제
  • Security Group 설정 문제
  • Public IP 문제

즉 단순히 서비스 이름을 아는 것이 아니라
패킷이 어디서 어디로 어떻게 이동하는지를 이해해야 한다.


2. 외부 사용자 → EC2 접속 흐름

가장 기본적인 상황은 외부에서 EC2로 접속하는 경우다.

구조는 다음과 같다.

User → Internet → Internet Gateway → VPC → Subnet → EC2

실제 흐름을 조금 더 풀어보면 다음과 같다.

User → Internet → Public IP → Internet Gateway → Route Table → Subnet → EC2

여기서 중요한 조건이 4가지 있다.


1) Public IP

EC2는 기본적으로 Private IP만 가진다.

예를 들면

10.0.1.10

이 상태에서는 외부에서 접근할 수 없다.

외부에서 접속하려면 Public IP가 필요하다.

즉 외부 사용자는 항상 Public IP를 기준으로 접속한다.


2) Internet Gateway

VPC는 기본적으로 인터넷과 단절되어 있다.

따라서 Internet Gateway가 있어야 외부와 연결된다.

Internet Gateway는 말 그대로
인터넷과 VPC 사이의 출입구 역할을 한다.


3) Route Table

Route Table에는 반드시 다음 경로가 있어야 한다.

0.0.0.0/0 → Internet Gateway

이 의미는
외부로 가는 모든 트래픽을 IGW로 보내겠다는 것이다.

이 경로가 있어야 해당 서브넷이 Public Subnet이 된다.


4) Security Group

마지막으로 포트가 열려 있어야 한다.

예를 들어

  • 22번 포트 → SSH
  • 80번 포트 → HTTP
  • 443번 포트 → HTTPS

이 중 하나라도 막혀 있으면 접속이 안 된다.


3. EC2 → Internet 흐름

이번에는 EC2에서 외부 인터넷으로 나가는 경우다.

예를 들면 apt update, wget 같은 상황이다.

흐름은 다음과 같다.

EC2 → Subnet → Route Table → Internet Gateway → Internet

여기서 중요한 조건이 하나 더 있다.


Public IP 필요

EC2가 IGW를 통해 외부로 나가려면 Public IP가 필요하다.

즉 구조가 다음과 같아야 한다.

Public Subnet → EC2 (Public IP) → IGW → Internet

Public IP가 없다면 외부로 나갈 수 없다.


4. Private Subnet 구조

실제 운영 환경에서는 대부분의 서버를 Private Subnet에 둔다.

예를 들면

  • Application Server
  • Database
  • Internal Service

구조는 보통 이렇게 된다.

VPC
├ Public Subnet → Load Balancer
└ Private Subnet → Application Server

Private Subnet의 특징은 다음과 같다.

  • Internet Gateway로 직접 나가지 않음
  • 외부에서 직접 접근 불가

즉 보안을 위해 내부 서버는 Private에 둔다.


5. Private EC2 → Internet

하지만 Private EC2도 인터넷이 필요한 경우가 많다.

예를 들면

  • 패키지 업데이트
  • 외부 API 호출

문제는 Private Subnet에는 IGW 경로가 없다는 것이다.

이때 사용하는 것이 NAT Gateway다.


6. NAT Gateway 역할 (중요)

NAT Gateway는 Private 서버 대신 인터넷에 접속해주는 역할을 한다.

구조는 다음과 같다.

Private EC2 → NAT Gateway → Internet Gateway → Internet

흐름을 보면

EC2 → NAT → Internet

응답은

Internet → NAT → EC2

즉 NAT Gateway는
Private IP를 Public IP로 변환해서 통신을 대신 처리한다.


7. NAT Gateway 특징

Outbound Only

외부에서 Private EC2로 직접 들어오는 것은 불가능하다.

Internet → NAT → EC2

이 흐름은 차단된다.

즉 NAT는 나가는 통신만 가능하다.


Public Subnet에 위치

NAT Gateway는 반드시 Public Subnet에 있어야 한다.

그래야 IGW를 통해 인터넷과 연결된다.


Route Table 설정

Private Subnet의 Route Table에 다음 경로를 추가한다.

0.0.0.0/0 → NAT Gateway

이렇게 해야 Private EC2가 외부로 나갈 수 있다.


8. 내부 서버 통신

같은 VPC 내부에서는 Private IP로 통신한다.

예를 들면

Web Server → 10.0.1.10
DB Server → 10.0.2.20

이 경우 통신은 다음처럼 이루어진다.

Web → VPC 내부 네트워크 → DB

이 과정에서는 IGW나 NAT를 전혀 사용하지 않는다.

즉 내부 통신은 AWS 내부 네트워크에서 바로 처리된다.


9. AWS 기본 네트워크 구조

지금까지 내용을 합치면 기본 구조는 다음과 같다.

Internet
→ Internet Gateway
→ Public Subnet
→ Load Balancer
→ Private Subnet
→ Application
→ Database

그리고 Private Subnet은 NAT Gateway를 통해 인터넷과 연결된다.

Private Subnet
→ NAT Gateway
→ Internet Gateway
→ Internet

이 구조가 가장 기본적인 AWS 3-Tier 구조다.


10. 핵심 흐름 정리

외부 → Public EC2

User → Internet → IGW → Route Table → Subnet → EC2


Public EC2 → Internet

EC2 → Route Table → IGW → Internet


Private EC2 → Internet

EC2 → NAT Gateway → IGW → Internet


실습

NAT 게이트웨이 생성

  • VPC -> NAT 게이트웨이 -> 생성

  • Private 라우팅테이블에 ngw 추가

NAT게이트웨이는 비용이 발생하기때문에 사용하지 않을땐 반드시 삭제 해야한다.

마무리

AWS 네트워크는 복잡해 보이지만 핵심은 단순하다.

어디에 있는가
어디로 나가는가

이 두 가지만 정확히 이해하면 대부분의 문제는 해결된다.

profile
Front-end Developer, Cloud Engineer

0개의 댓글