기타

NSX-ALB에서의 "프록시 역할"이란?

ipxy 2025. 3. 26. 16:29
728x90

✅ NSX-ALB에서의 "프록시 역할"이란?

클라이언트(예: 파드)가 NSX-ALB의 IP로 보낸 요청을,
NSX-ALB가 대신 받아서 → 설정된 백엔드(예: 외부 API)로 요청을 다시 보내고,
그 응답을 클라이언트에게 다시 전달하는 것

즉, NSX-ALB가 중간에 끼어서 대신 통신해주는 중계 서버 역할을 합니다.
이것이 프록시(proxy) 역할입니다.


🔁 요청 흐름 (정확한 순서)

  1. 파드가 요청 보냄:
  2. GET http://1.2.3.4/api/data Host: api.example.com
  3. NSX-ALB 수신 (Virtual Service가 1.2.3.4:80 리스닝 중)
  4. NSX-ALB 내부 설정 확인:
    • 이 요청은 Pool external-api 로 보내야 함
  5. ALB가 실제로 백엔드 서버(예: api.example.com:80)에 다시 요청 보냄:
  6. GET /api/data Host: api.example.com
  7. 외부 API가 응답함 → ALB가 응답 받음
  8. ALB가 응답을 파드에게 그대로 전달

🧠 이것이 중요한 이유

  • 파드 입장에선 외부 API의 주소나 구조를 몰라도 됨
  • L4/VIP 하나만 알고 있으면 외부 API와 통신 가능
  • 보안상 L4 공인 IP만 허용된 상황에도 대응 가능
  • 인증/로깅/라우팅 로직을 ALB에서 추가 가능

🔧 NSX-ALB의 동작 모드

NSX-ALB의 Virtual Service는 기본적으로 L7 프록시(HTTP) 방식으로 동작합니다.

모드 설명

HTTP (L7 Proxy) 요청/응답 내용을 보고 수정, 헤더 추가 가능
TCP (L4 Proxy) HTTP 외의 트래픽도 가능, 단 세부제어는 어려움

📌 요약

개념 의미

프록시 역할 ALB가 요청을 받아서 대신 외부 API에 요청하고 응답을 클라이언트에게 전달
ALB는 직접 요청하지 않음 항상 "클라이언트 요청 → ALB → 백엔드" 흐름
파드는 외부 API 직접 몰라도 됨 오직 공인 IP와 경로만 알면 됨

 

728x90