1. Proxy 인스턴스

1.1 Proxy 통신

Proxy 는 일종의 대리자로 클라이언트와 서버 중간에 통신을 대신 처리해주는 역할을 합니다.

Proxy 가 클라이언트의 통신을 대신 처리하기 때문에 서버의 입장에서는 Proxy 와 통신을 하는 것으로 보입니다.

클라이언트가 기존 어플리케이션 통신을 Proxy 로 보내기 위한 설정이 필요합니다. (예. HTTP 통신은 Proxy로 보내는 설정)

Proxy 는 OSI 7계층까지 관여를 합니다. 예를 들면 HTTP 헤더 정보를 보고 URL 필터링 동작이 가능합니다.

참고로 NAT Device 의 경우 OSI 3~4계층에서 관여를 하기 때문에 HTTP URL 필터링 기능 동작이 불가능합니다.

1.2 Proxy 인스턴스를 통한 외부 통신 과정

[그림 1-4] Proxy 인스턴스를 통한 외부(인터넷) 통신

[그림 1-4] Proxy 인스턴스를 통한 외부(인터넷) 통신

① EC2 인스턴스에 HTTP 경우 Proxy 인스턴스(10.1.1.10)으로 보낼 수 있게 설정이 필요합니다. EC2에서 외부 HTTP 통신 시도 시 목적지IP는 Proxy 인스턴스로 보내게 됩니다.

② EC2 인스턴스에서 요청한 패킷을 Proxy 인스턴스가 대신하여 웹서버와 연결을 만듭니다. 이때 출발지IP는 Proxy 인스턴스의 IP 입니다. 프라이빗 IP(10.1.1.10)이지만 인터넷 게이트웨이에서 탄력적IP(54.1.1.1)로 변환됩니다. 그리고 목적지IP는 해당 웹서버의 DNS 질의의 응답값인 60.1.1.1 로 보내게 됩니다.

③ TCP 연결을 새로 만들기 때문에 Source 포트는 임시 포트(Ephemeral Port)중 선택하고 목적지 포트는 웹서버이므로 80 입니다.

④ HTTP 헤더는 EC2 인스턴스가 요청한 내용을 포함하여 전달합니다.