애플리케이션 게이트웨이 프라이빗 링크

현재 중요한 워크로드를 Application Gateway 뒤에 안전하게 배포하여 계층 7 부하 분산 기능을 유연하게 활용할 수 있습니다. 백 엔드 워크로드에 대한 액세스는 다음 두 가지 방법으로 가능합니다.

  • 공용 IP 주소 - 인터넷을 통해 워크로드에 액세스할 수 있습니다.
  • 개인 IP 주소 - 가상 네트워크/연결된 네트워크를 통해 워크로드에 비공개로 액세스할 수 있습니다.

Application Gateway용 Private Link를 사용하면 VNet 및 구독에 걸친 프라이빗 연결을 통해 워크로드를 연결할 수 있습니다. 구성되면 프라이빗 엔드포인트는 정의된 가상 네트워크의 서브넷에 배치되어 게이트웨이와 통신하려는 클라이언트에 개인 IP 주소를 제공합니다. Private Link 기능을 지원하는 PaaS 서비스 목록은 Azure Private Link란을 참조하세요.

Application Gateway Private Link를 보여 주는 다이어그램

특징과 기능

Private Link를 사용하면 다음과 같은 시나리오에서 프라이빗 엔드포인트를 통해 Application Gateway에 대한 프라이빗 연결을 확장할 수 있습니다.

  • Application Gateway와 동일하거나 다른 지역의 VNet
  • Application Gateway와 동일하거나 다른 구독의 VNet
  • 동일하거나 다른 구독의 VNet 및 Application Gateway와 동일하거나 다른 Microsoft Entra 테넌트

Application Gateway에 대한 인바운드 공용(인터넷) 액세스를 차단하고 프라이빗 엔드포인트를 통해서만 액세스를 허용하도록 선택할 수도 있습니다. 인바운드 관리 트래픽은 여전히 애플리케이션 게이트웨이에 허용되어야 합니다. 자세한 내용은 Application Gateway 인프라 구성을 참조하세요.

Application Gateway에서 지원하는 모든 기능은 AGIC에 대한 지원을 포함하여 프라이빗 엔드포인트를 통해 액세스할 때 지원됩니다.

메모

Application Gateway의 Private Link 구성은 유휴 타임아웃이 약 5분(300초)입니다. 비활동으로 인한 연결이 종료되는 것을 방지하기 위해, 프라이빗 엔드포인트를 통해 애플리케이션 게이트웨이에 접속하는 애플리케이션은 TCP 키퍼라이브 간격을 300초 미만으로 사용해야 합니다. 클라이언트가 TCP keepalives를 시작할 수 없다면, Application Gateway에서 필요한 키팔라이브 동작을 활성화하는 지원 티켓을 제출 하세요.

프라이빗 엔드포인트에서 트래픽을 식별합니다

메모

트래픽이 프라이빗 엔드포인트를 통해 애플리케이션 게이트웨이에 도달할 때, Private Link는 클라이언트의 소스 IP 주소와 소스 포트를 보존합니다. 애플리케이션 게이트웨이 액세스 로그는 이러한 값을 clientPortclientIP 필드에 기록합니다. HTTP 및 HTTPS 요청의 경우, Application Gateway가 헤더에 X-Forwarded-For 추가하는 항목은 동일한 값을 IP:port 형식적으로 반영합니다. 다른 프록시가 프라이빗 엔드포인트에 요청을 보내면, 이 값들은 해당 프록시를 즉시 클라이언트로 식별합니다.

소비자 가상 네트워크는 겹치는 IP 주소 공간을 사용할 수 있으므로, 클라이언트 IP 주소만으로는 발신 소비자를 식별하지 못할 수 있습니다. Azure Private Link는 각 프라이빗 엔드포인트 연결에 LINKID(linkIdentifier라고도 함)을 할당합니다. HTTP 및 HTTPS 요청의 경우, 애플리케이션 게이트웨이는 다음 위치에 십진수 식별자를 노출합니다:

위치 이름 Description
백엔드로 요청 전달 X-Azure-PrivateEndpoint-ID Application Gateway는 요청을 전달하기 전에 이 헤더를 추가합니다. 그 값은 십진법 개인 종점 링크 식별자이며, 예를 들어 입니다. 123456
애플리케이션 게이트웨이 접근 로그 LinkId 문자열 값과 동일한 십진수 링크 식별자를 포함합니다. 자세한 내용은 Access log 카테고리를 참조하세요.

예를 들어, 백엔드는 프라이빗 엔드포인트를 통해 도착한 요청에 대해 다음과 같은 헤더를 받습니다:

X-Azure-PrivateEndpoint-ID: 123456

메모

이름 X-Azure-PrivateEndpoint-ID 과 달리 프라이빗 엔드포인트의 Azure 리소스 ID는 포함되어 있지 않습니다. 이 값은 사설 엔드포인트 연결의 linkIdentifier 속성의 소수점 값을 포함합니다.

HTTP 헤더는 X-Azure-PrivateEndpoint-ID 7계층 HTTP 및 HTTPS 트래픽에 적용됩니다. 4계층 TCP/TLS 프록시 트래픽에는 추가되지 않습니다.

Azure Resource Manager의 해당 프라이빗 엔드포인트 연결 속성과 linkIdentifier 두 값을 비교하세요. 이 비교를 통해 백엔드 요청과 접근 로그 레코드를 감사 또는 접근 제어 결정을 위해 특정 개인 엔드포인트 연결과 연관시킬 수 있습니다.

Application Gateway는 프라이빗 엔드포인트를 통해 수신된 요청에만 헤더와 접근 로그 속성을 채웁니다. 애플리케이션 게이트웨이의 공용 또는 프라이빗 프런트엔드 IP 주소로 직접 전송된 요청의 경우, Application Gateway는 X-Azure-PrivateEndpoint-ID 또는 LinkId를 채우지 않습니다. 이 동작은 Private Link 구성이 퍼블릭 또는 프라이빗 애플리케이션 게이트웨이 프론트엔드와 연관되어 있을 때 적용됩니다.

Azure Private Link의 정의 LINKID 와 그와 linkIdentifier관련된 내용은 TCP 프록시 v2를 이용해 연결 정보를 얻기 문서를 참조하세요.

Application Gateway를 사용하여 Private Link를 구현하려면 네 가지 구성 요소가 필요합니다.

  • Application Gateway Private Link 구성

    프라이빗 링크 구성은 Application Gateway 프런트 엔드 IP 주소와 연결할 수 있습니다. 그러면 프라이빗 엔드포인트를 사용하여 연결을 설정하는 데 사용됩니다. Application Gateway 프런트 엔드 IP 주소에 연결되지 않은 경우 Private Link 기능이 사용하도록 설정되지 않습니다.

  • Application Gateway 프런트 엔드 IP 주소

    Private Link 기능을 사용하도록 설정하기 위해 Application Gateway Private Link 구성을 연결해야 하는 공용 또는 개인 IP 주소입니다.

  • 프라이빗 엔드포인트

    VNet 주소 공간에 개인 IP 주소를 할당하는 Azure 네트워크 리소스입니다. 프라이빗 링크 액세스를 제공하는 다른 많은 Azure 서비스(예: Storage, KeyVault)와 유사한 개인 IP 주소를 통해 Application Gateway에 연결하는 데 사용됩니다.

  • 프라이빗 엔드포인트 연결

    프라이빗 엔드포인트에서 시작된 Application Gateway의 연결입니다. 연결을 자동 또는 수동으로 승인하거나 거부하여 액세스 권한을 부여하거나 거부할 수 있습니다.

Pricing

구성 요소 서비스 공급자/프라이빗 링크(Application Gateway 리소스 소유자) 소비자/프라이빗 엔드포인트
프라이빗 링크 서비스 요금 없음 해당 없음
프라이빗 엔드포인트 해당 없음 Private Link에 따라 청구됨
데이터 처리(양방향) 요금 없음 Private Link에 따라 청구됨
데이터 전송 대역폭당 청구 대역폭당 청구

제한 사항

  • API 버전 2020-03-01 이상을 사용하여 Private Link 구성을 구성해야 합니다.
  • Private Link 구성 개체의 고정 IP 할당 메서드는 지원되지 않습니다.
  • PrivateLinkConfiguration에 사용되는 서브넷은 Application Gateway 서브넷과 동일할 수 없습니다.
  • Application Gateway에 대한 프라이빗 링크 구성은 "별칭" 속성을 노출하지 않으며 리소스 URI를 통해 참조되어야 합니다.
  • 프라이빗 엔드포인트 만들기는 *.privatelink DNS 레코드 또는 영역을 만들지 않습니다. 모든 DNS 레코드는 Application Gateway에 사용되는 기존 영역에 입력해야 합니다.
  • Application Gateway의 Private Link 구성은 유휴 타임아웃이 약 5분(300초)입니다. 비활동으로 인한 연결이 종료되는 것을 방지하기 위해, 프라이빗 엔드포인트를 통해 애플리케이션 게이트웨이에 접속하는 애플리케이션은 TCP 키팔라이브 간격을 300초 미만으로 사용해야 합니다. 클라이언트가 TCP keepalives를 시작할 수 없다면, Application Gateway에서 필요한 키팔라이브 동작을 활성화하는 지원 티켓을 제출 하세요.

다음 단계