Application Gateway TCP/TLS 프록시 개요(미리 보기)
기존 계층 7 기능(HTTP, HTTPS, WebSocket 및 HTTP/2) 외에도 Azure Application Gateway는 이제 계층 4(TCP 프로토콜) 및 TLS(전송 계층 보안) 프록시도 지원합니다. 이 기능은 현재 공개 미리 보기로 제공됩니다. 이 기능을 미리 보려면 미리 보기에 등록을 참조하세요.
Application Gateway의 TLS/TCP 프록시 기능
역방향 프록시 서비스로서 Application Gateway의 계층 4 작업은 계층 7 프록시 작업과 유사하게 작동합니다. 클라이언트는 Application Gateway와의 TCP 연결을 설정하고 Application Gateway 자체는 백 엔드 풀에서 백 엔드 서버에 대한 새 TCP 연결을 시작합니다. 다음 그림은 일반적인 작동을 보여 줍니다.
프로세스 흐름:
- 클라이언트는 프런트 엔드 수신기의 IP 주소와 포트 번호를 사용하여 애플리케이션 게이트웨이와의 TCP 또는 TLS 연결을 시작합니다. 그러면 프런트 엔드 연결이 설정됩니다. 연결이 설정되면 클라이언트는 필요한 애플리케이션 계층 프로토콜을 사용하여 요청을 보냅니다.
- 애플리케이션 게이트웨이는 연결된 백 엔드 풀의 백 엔드 대상 중 하나와 새 연결을 설정하고(백 엔드 연결 형성) 해당 백 엔드 서버에 클라이언트 요청을 보냅니다.
- 백 엔드 서버의 응답은 애플리케이션 게이트웨이를 통해 클라이언트로 다시 전송됩니다.
- TCP 유휴 시간 제한으로 인해 해당 연결이 닫히지 않는 한 클라이언트의 후속 요청에는 동일한 프런트 엔드 TCP 연결이 사용됩니다.
Azure Load Balancer와 Azure Application Gateway 비교:
Product | Type |
---|---|
Azure Load Balancer | Load Balancer의 분산 알고리즘에 의해 선택된 백 엔드 서버와 클라이언트가 직접 연결을 설정하는 통과 부하 분산 장치입니다. |
Azure Application Gateway | 클라이언트가 직접 Application Gateway와 연결을 설정하고, Application Gateway의 분산 알고리즘에 의해 선택된 백 엔드 서버와 별도의 연결이 시작되는 종료 부하 분산 장치입니다. |
기능
- 단일 엔드포인트(프런트 엔드 IP)를 사용하여 HTTP 및 비HTTP 워크로드를 처리합니다. 동일한 애플리케이션 게이트웨이 배포는 계층 7 및 계층 4 프로토콜(HTTP(S), TCP 또는 TLS)을 지원할 수 있습니다. 모든 클라이언트는 동일한 엔드포인트에 연결하고 다양한 백 엔드 애플리케이션에 액세스할 수 있습니다.
- 사용자 지정 도메인을 사용하여 백 엔드 서비스를 전면에 배치합니다. Application Gateway V2 SKU에 대한 프런트 엔드를 공용 및 개인 IP 주소로 사용하면 주소(A) 레코드를 사용하여 해당 IP 주소를 가리키도록 사용자 지정 도메인 이름을 구성할 수 있습니다. 또한 TLS 종료 및 프라이빗 CA(인증 기관)의 인증서 지원을 통해 선택한 도메인에서 보안 연결을 보장할 수 있습니다.
- 모든 위치(Azure 또는 온-프레미스)에서 백 엔드 서버를 사용합니다. 애플리케이션 게이트웨이의 백 엔드는 다음과 같을 수 있습니다.
- IaaS 가상 머신, 가상 머신 확장 집합 또는 PaaS(App Services, Event Hubs, SQL) 등의 Azure 리소스
- FQDN 또는 IP 주소를 통해 액세스할 수 있는 온-프레미스 서버와 같은 원격 리소스
- 프라이빗 전용 게이트웨이에 지원됩니다. 프라이빗 Application Gateway 배포에 대한 TLS 및 TCP 프록시 지원을 통해 보안 강화를 위해 격리된 환경에서 HTTP 및 비 HTTP 클라이언트를 지원할 수 있습니다.
제한 사항
- WAF v2 SKU 게이트웨이를 사용하면 TLS 또는 TCP 수신기와 백 엔드를 만들어 동일한 리소스를 통해 HTTP 및 비 HTTP 트래픽을 지원할 수 있습니다. 그러나 TLS 및 TCP 수신기의 트래픽에서 익스플로잇 및 취약성은 검사하지 않습니다.
- 백 엔드 서버의 기본 드레이닝 제한 시간 값은 30초입니다. 현재 사용자 정의 드레이닝 값은 지원되지 않습니다.
- 클라이언트 IP 보존은 현재 지원되지 않습니다.
- AGIC(Application Gateway Ingress Controller)는 지원되지 않으며 HTTP(S) 수신기를 통한 L7 프록시에서만 작동합니다.