App Service 네트워킹 기능 발견

완료됨

기본적으로 App Service에서 호스트된 앱은 인터넷을 통해 직접 액세스할 수 있으며 인터넷 호스트 엔드포인트만 연결할 수 있습니다. 그러나 많은 애플리케이션의 경우 인바운드 및 아웃바운드 네트워크 트래픽을 제어해 합니다.

Azure App Service에는 두 가지 주요 배포 유형이 있습니다. 다중 테넌트 공용 서비스는 무료, 공유, 기본, 표준, 프리미엄, 프리미엄V2 및 프리미엄V3 가격 책정 SKU로 App Service 요금제를 호스트합니다. 단일 테넌트 ASE(App Service Environment)는 Azure 가상 네트워크에서 격리된 SKU App Service 플랜을 직접 호스트합니다.

다중 테넌트 App Service 네트워킹 기능

Azure App Service는 분산 시스템입니다. 들어오는 HTTP 또는 HTTPS 요청을 처리하는 역할을 프런트 엔드라고 합니다. 고객 워크로드를 호스트하는 역할을 작업자라고 합니다. App Service 배포의 모든 역할은 다중 테넌트 네트워크에 있습니다. 동일한 App Service 배율 단위에 여러 고객이 있으므로 App Service 네트워크를 사용자의 네트워크에 직접 연결할 수 없습니다.

네트워크를 연결하는 대신 애플리케이션 통신의 다양한 측면을 처리하는 기능이 필요합니다. 앱에 대한 요청을 처리하는 기능은 앱에서 호출하는 경우 문제를 해결하는 데 사용할 수 없습니다. 마찬가지로 앱에서의 호출에 대한 문제를 해결하는 기능은 앱에 대한 문제를 해결하는 데 사용할 수 없습니다.

인바운드 기능 아웃바운드 기능
앱 할당 주소 하이브리드 연결
액세스 제한 게이트웨이 필요 가상 네트워크 통합
서비스 엔드포인트 가상 네트워크 통합
프라이빗 엔드포인트

기능을 조합하여 문제를 해결할 수 있으며, 몇 가지 예외가 있습니다. 다음 인바운드 사용 사례는 App Service 네트워킹 기능을 사용하여 앱에 대한 인바운드 트래픽을 제어하는 방법의 예입니다.

인바운드 사용 사례 기능
앱에 대한 IP 기반 SSL 요구 사항 지원 앱 할당 주소
앱에 대한 공유되지 않은 전용 인바운드 주소 지원 앱 할당 주소
잘 정의된 주소 집합에서 앱으로의 액세스 제한 액세스 제한

기본 네트워킹 동작

Azure App Service 배율 단위는 각 배포에서 많은 고객을 지원합니다. 무료 및 공유 SKU 요금제는 다중 테넌트 작업자의 고객 워크로드를 호스트합니다. 기본 이상의 요금제는 단 하나의 App Service 요금제만 적용되는 고객 워크로드를 호스트합니다. 표준 App Service 플랜인 경우 해당 플랜의 모든 앱이 동일한 작업자에서 실행됩니다. 작업자를 확장하는 경우 해당 App Service 플랜의 모든 앱은 App Service 플랜의 각 인스턴스에 대해 새 작업자에서 복제됩니다.

아웃바운드 주소

작업자 VM은 App Service 요금제로 크게 구분됩니다. 무료, 공유, 기본, 표준 및 프리미엄 요금제는 모두 동일한 작업자 VM 유형을 사용합니다. 프리미엄V2 요금제는 다른 VM 유형을 사용합니다. PremiumV3도 다른 VM 유형을 사용합니다. VM 제품군을 변경하면 다른 아웃바운드 주소 집합을 얻습니다.

아웃바운드 호출에 사용되는 주소는 여러 가지입니다. 아웃바운드 호출을 수행하기 위해 앱에서 사용하는 아웃바운드 주소는 앱의 속성에 나열됩니다. 이러한 주소는 App Service 배포의 동일한 작업자 VM 제품군에서 실행되는 모든 앱에서 공유됩니다. 앱이 배율 단위에서 사용할 수 있는 모든 주소를 확인하려는 경우 해당 주소를 나열하는 possibleOutboundIpAddresses라는 속성이 있습니다.

아웃바운드 IP 찾기

Azure Portal의 앱에서 현재 사용하는 아웃바운드 IP 주소를 찾으려면 앱의 왼쪽 탐색 창에서 속성을 선택합니다.

Cloud Shell에서 다음 Azure CLI 명령을 실행하면 동일한 정보를 찾을 수 있습니다. 이러한 필드는 추가 아웃바운드 IP 주소 필드에 나열됩니다.

az webapp show \
    --resource-group <group_name> \
    --name <app_name> \ 
    --query outboundIpAddresses \
    --output tsv

가격 책정 계층에 관계 없이 앱에 대해 사용 가능한 모든 아웃바운드 IP 주소를 찾으려면 Cloud Shell에서 다음 명령을 실행합니다.

az webapp show \
    --resource-group <group_name> \ 
    --name <app_name> \ 
    --query possibleOutboundIpAddresses \
    --output tsv