카테고리 없음

AWS 네트워크 흐름 이해 테스트

코딩연습중 2026. 3. 13. 22:20

 

문제 1 — Public Subnet EC2 → Internet

다음 상황에서 패킷이 어떤 경로로 이동하는지 설명하시오.

조건

  • EC2는 Public Subnet
  • Public IP 있음
  • Route table에
0.0.0.0/0 → Internet Gateway

설정되어 있음.

EC2에서 curl google.com을 실행했을 때
패킷은 어떤 네트워크 구성 요소들을 거쳐 인터넷으로 나가는가?

 

A.

우선 라우팅 테이블에서 0.0.0.0/0(외부로 나가는 요청)에 대한 규칙을 찾음.

-> ec2의 private IP -> public IP로 변환 후, IGW를 거쳐서 나감

-> 응답은 Public IP -> private IP로 받아와짐?

 

모범답안

EC2가 외부로 요청을 보낼 때 먼저 라우팅 테이블에서 0.0.0.0/0 규칙을 확인하고, 대상이 Internet Gateway임을 확인한다. Public subnet의 EC2는 퍼블릭 IP가 연결되어 있으므로 IGW를 통해 인터넷과 통신할 수 있다. 외부 응답은 해당 퍼블릭 IP로 돌아오고, 인스턴스와 연결된 네트워크 인터페이스로 전달된다.


문제 2 — Private Subnet EC2 → Internet

조건

  • EC2는 Private Subnet
  • Public IP 없음
  • Route table
0.0.0.0/0 → NAT Gateway

질문

EC2에서 curl google.com 실행 시
패킷은 어떤 경로로 인터넷에 도달하는가?

 

A.

private ec2는 IGW를 사용하기 위한 public ip가 할당되지 않았기 때문에, 외부에서 인식할 수 없음.

따라서 NAT Gateway를 통해, private ip를 public ip로 변환해야 함. 이 때 NAT Gateway에 할당된 public ip로 변환되며,

NAT Gateway table에 private -> 외부로 데이터가 나가고 들어오는 과정이 기록됨.

stateful한 성질임.

 

모범답안

Private subnet의 EC2는 퍼블릭 IP가 없기 때문에 인터넷과 직접 통신할 수 없다. 그래서 라우팅 테이블에서 0.0.0.0/0 -> NAT Gateway 경로를 타고 NAT Gateway로 패킷을 보낸다. NAT Gateway는 EC2의 private IP를 자신의 public IP로 변환해 인터넷으로 내보낸다. 이후 응답이 NAT Gateway의 public IP로 돌아오면, NAT Gateway가 이를 원래의 private EC2로 전달한다. 이 과정에서 NAT Gateway는 연결 상태를 기억하므로 stateful하게 동작한다.

 


문제 3 — Private EC2 → S3 (Endpoint 없음)

조건

  • EC2는 Private Subnet
  • NAT Gateway 존재
  • VPC Endpoint 없음

질문

EC2에서 aws s3 ls 실행 시
패킷은 어떤 경로로 S3에 도달하는가?

 

A.

private ec2 -> nat gateway에서 ip 변환 -> 외부 인터넷 -> S3.

vpc endpoint가 없으면 내부 aws 서비스가 아닌 인터넷으로 통신하게 됨

 

모범답안

VPC Endpoint가 없으면 Private EC2가 S3에 접근할 때도 일반 외부 트래픽과 비슷하게 NAT Gateway와 Internet Gateway를 거쳐 인터넷 경로를 사용하게 된다. 즉 대상은 AWS의 S3 서비스이지만, 네트워크 관점에서는 내부 전용 경로가 아니라 인터넷 경로를 따라간다.


문제 4 — Private EC2 → S3 (Endpoint 있음)

조건

  • S3 Gateway Endpoint 생성
  • Route table에 prefix list 추가

질문

EC2에서 aws s3 ls 실행 시
패킷 경로는 어떻게 바뀌는가?

 

모범답안

S3 Gateway Endpoint를 만들면 라우팅 테이블에 S3 Prefix List로 향하는 경로가 추가되고, 그 결과 S3 트래픽이 NAT가 아니라 Endpoint로 향하게 된다.

 


문제 5 — User → EC2

조건

  • EC2는 Public Subnet
  • Public IP 있음

질문

사용자가 브라우저에서 EC2 서버에 접속할 때
패킷은 어떤 경로로 서버에 도달하는가?

 

A.

외부 브라우저 -> IGW

 -> NACL

-> SG?

 

모범답안

외부 사용자의 요청이 Internet Gateway를 통해 VPC로 들어오고,
먼저 Subnet 단위의 NACL 검사를 거친 뒤,
인스턴스에 연결된 Security Group 검사를 거쳐 EC2에 도달한다.

다만 실무적으로는 “라우팅도 같이 고려”해야 함


문제 6 — VPC Peering 통신

조건

VPC-A 10.0.0.0/16
VPC-B 10.1.0.0/16

Peering 연결 있음.

질문

EC2-A에서 EC2-B로 ping을 보낼 때
패킷은 어떤 네트워크 경로를 따라 이동하는가?

 

A.

IGW 사용되지 않고, vpc peering을 통해 vpc 간의 통신(1홉?)

 

모범답안

VPC Peering이 설정되어 있으면 EC2-A가 EC2-B의 private IP로 패킷을 보낼 때 라우팅 테이블에서 상대 VPC 대역을 확인하고, 대상이 peering connection임을 확인한다. 이후 패킷은 인터넷을 거치지 않고 peering connection을 통해 상대 VPC로 전달된다. 따라서 이 통신에는 Internet Gateway가 사용되지 않는다.

 


문제 7 — Security Group vs NACL

다음 상황을 설명하시오.

조건

  • EC2 Security Group
Inbound: 80 허용
  • NACL
Inbound: 80 허용
Outbound: 전체 허용

질문

외부 사용자가 EC2에 HTTP 요청을 보낼 때
패킷은 어떤 순서로 필터링을 통과하는가?

 

A. 

SG는 인스턴스 단위이기 때문에 SG 먼저. 이는 stateful한 특성.

그 다음이 NACL. 이건 서브넷 단위. 이는 stateless함.

(아 외부에서 들어온 요청이라 반대여야 함!)

 

모범답안

외부 요청은 먼저 서브넷 경계에서 NACL 검사를 거친 뒤, 인스턴스에 연결된 Security Group 검사를 거쳐 EC2에 도달한다. NACL은 stateless이므로 요청과 응답 각각에 대해 규칙이 필요하고, Security Group은 stateful이므로 허용된 요청의 응답은 별도 규칙 없이 통과할 수 있다.