| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- CKA
- 기록으로 실력을 쌓자
- 코틀린 코루틴의 정석
- Network
- golang
- aws vpc
- AI
- 정보처리기사 실기 기출문제
- AWS Network
- 오블완
- 티스토리챌린지
- SRE
- Rag
- Kubernetes
- 바이브코딩
- kotlin coroutine
- AWS EKS
- Spring
- kotlin
- PETERICA
- docker
- Claude
- LLM
- tucker의 go 언어 프로그래밍
- 공부
- CKA 기출문제
- aws
- MySQL
- Java
- go
- Today
- Total
피터의 개발이야기
[AWS Network] 05. Route Table과 Routing - 패킷을 어디로 보낼 것인가? 본문

목차 : AWS Network를 어떻게 공부할까? - VPC부터 Transit Gateway, PrivateLink까지
ㅁ 들어가며
Security Group과 NACL이 트래픽의 허용 여부를 판단한다면 Route Table은 다른 질문에 답한다.
목적지 IP로 가려면 패킷을 어디로 보내야 할까?
ㅁ Destination과 Target
Route 하나는 Destination과 Target으로 구성된다.
Destination → 목적지 주소 범위
Target → 패킷의 다음 전달 지점
10.0.0.0/16 → local
0.0.0.0/0 → Internet Gateway
10.0.2.20은 VPC CIDR에 포함되므로
local, 8.8.8.8은 Default Route를 따라 Internet Gateway가 선택된다.
Route Table 자체가 패킷을 운반하는 장비는 아니다.
VPC의 암시적 Router가 Route Table을 참고해 다음 Target으로 전달한다.
ㅁ 가장 구체적인 Route를 고른다
여러 Route와 목적지 IP가 일치하면 Longest Prefix Match를 사용한다.
10.0.0.0/16 → local
10.0.3.0/24 → firewall ENI
0.0.0.0/0 → IGW
목적지 10.0.3.15에는 세 Route가 모두 일치하지만 가장 구체적인 /24가 선택된다.
/32 → /24 → /16 → /8 → /0
구체적 포괄적
Longest Prefix Match는 가장 빠르거나 가까운 경로를 계산하지 않는다.
목적지와 가장 구체적으로 일치하는 주소 범위를 고른다.
ㅁ Local Route와 Main Route Table
VPC를 만들면 VPC CIDR을 Destination으로 하는 Local Route가 기본으로 생성된다.
이 경로 덕분에 같은 VPC의 서로 다른 Subnet 사이에 기본적인 네트워크 경로가 생긴다.
각 Subnet은 하나의 Route Table을 사용한다.
Custom Route Table을 명시적으로 연결하지 않으면 VPC의 Main Route Table을 사용한다.
Local Route가 있다는 사실만으로 통신이 자동 허용되지는 않는다.
Security Group, NACL과 Application도 정상이어야 한다.
ㅁ Gateway가 있어도 Route가 필요하다
VPC에 Internet Gateway가 연결되어 있고 EC2에 Public IPv4가 있더라도
Subnet Route Table에 IGW Route가 없으면 인터넷으로 패킷을 보낼 수 없다.
연결 지점 있음
+ 인터넷 주소 있음
+ 그 지점으로 향하는 Route 있음
= 인터넷 방향 패킷 전달 가능
Gateway의 존재와 Gateway를 Target으로 지정한 Route는 별도 조건이다.
ㅁ 응답도 자신의 경로를 찾는다
통신에는 Forward Path와 Return Path가 모두 필요하다.
요청: EC2 A → Route A → Target → EC2 B
응답: EC2 B → Route B → Target → EC2 A
Route Table은 요청 상태를 기억하지 않는다.
응답 패킷도 자신의 목적지 IP를 기준으로 별도의 Route를 선택한다.
요청은 Firewall A, 응답은 Firewall B를 지나면 Firewall B가 요청의 연결 상태를 알지 못해 응답을 차단할 수 있다.
Stateful 네트워크 장비를 지나는 경로에서는 대칭성을 고려해야 한다.
ㅁ Route가 있다고 끝이 아니다
Destination과 일치하는 Route가 보여도 Target이 삭제되거나 연결이 끊기면 blackhole 상태가 될 수 있다.
Destination 일치 확인
→ 실제 선택 Route 확인
→ Target 존재와 연결 확인
→ active/blackhole 상태 확인
→ Return Route 확인
IPv4와 IPv6 Route도 별도다.
0.0.0.0/0은 모든 IPv4 목적지를 뜻하며, IPv6 Default Route는 ::/0이다.
ㅁ 전체 흐름
Application이 목적지 IP로 패킷을 보낸다
→ Subnet Route Table에서 일치하는 Destination을 찾는다
→ Longest Prefix Match로 Route를 선택한다
→ Target으로 패킷을 전달한다
→ 응답도 별도의 Return Route를 따라 돌아온다
통신 장애를 분석할 때는 Route가 보이는지만 확인하지 말고
실제 선택된 Route, Target 상태와 반환 경로까지 함께 살펴봐야 한다.
ㅁ 함께 보면 좋은 사이트
'AWS > Network' 카테고리의 다른 글
| [AWS Network] 04. Security Group과 Network ACL (0) | 2026.08.15 |
|---|---|
| [AWS Network] 03. IP, ENI 그리고 EC2 - 트래픽은 어디에서 시작할까? (0) | 2026.08.14 |
| [AWS Network] 02. VPC와 Subnet - AWS 네트워크의 경계: Account부터 Subnet까지 (0) | 2026.08.13 |
| [AWS Network] 01. AWS VPC 네트워킹을 하나의 이야기로 이해하기 (0) | 2026.08.12 |
| AWS Network를 어떻게 공부할까? - VPC부터 Transit Gateway, PrivateLink까지 (1) | 2026.08.11 |
