관련 글 확인
App Service Networking
Internet Access
기본적으로 App Service 에 호스트 된 앱은 전 세계 어디에서도 인터넷을 통해서 접근할 수 있다.
Tip. 참고로 인터넷 호스트 엔드포인트(Internet Host Endpoint)만 1연결 할 수 있다.
배포 유형: SKU
Multi-tenant 의 경우
- 무료(Free)
- 공유(Shared)
- 기본(Basic)
- 표준(Standard)
- 프리미엄 V2 및 프리미엄 V3(Premium)
Single-tenant 의 경우
단일 테넌트 ASE(App Service Environment)의 경우, Azure 가상 네트워크에서 격리된 SKU App Service Plan을 직접 호스팅 한다.
단일 고객에만 독점적으로 서비스를 제공하는 경우, 가상 네트워크에서 완전히 격리된 환경에서 실행할 수 있도록 지원한다. 이는 ASE의 모든 자원(Resource)을 한 고객에게만 제공하고, 보안을 강화하며, 유연한 대응 등의 이점이 존재한다.
Multi-tenant Networking features
시스템이 다중 테넌트 네트워크에 있을 경우, 하나의 App Service 환경에서 여러 고객의 앱이 실행 될 수 있다. 그렇기 때문에 App Service 네트워크를 이용자의 개인 네트워크에 ‘직접’ 연결하면 곤란하다.
네트워크 직접 연결을 대체하기 위해서 Azure App Service는 여러 네트워크 기능을 제공한다.
인바운드(Inbound) 기능
- 앱 할당 주소: 각 앱에 고유한(Unique) 주소를 할당 가능
- 액세스 제한: 지정된 환경(주소 집합)에서만 앱에 접근할 수 있도록 제한 가능
- 프라이빗 엔드포인트: 전용 접근 경로를 구축 가능
아웃바운드(Outbound) 기능
- 하이브리드 연결: 외부 리소스에 접근할 수 있도록 설정 가능
- 가상 네트워크 통합: 가상 네트워크에 존재하는 리소스에 대한 안전한 접근 가능
- 서비스 엔드포인트: 특정 Azure 서비스에 대한 안전한 접근이 가능
네트워킹 워크로드 및 Sclae units 개념
배율 단위(Scale units)는 앱을 실행하는 데 필요한 서버와 리소스의 양을 의미한다.
Tip. App Service 요금제(SKU)에 따라 호스팅 환경이 다르다.
무료 및 공유 SKU의 경우
여러 고객의 앱을 동일한 서버(Multi-tenant workers)에서 실행한다. 즉, 한 서버가 여러 고객의 앱을 동시에 호스팅한다.
Basic 이상의 SKU의 경우
각 App Service Plan의 특정 고객의 앱만을 실행한다. 해당 Plan에 속한 모든 앱은 동일한 작업자(Worker=Server)에서 실행된다.
Tip. App Service Plan을 확장할 경우, Plan에 속한 모든 앱은 새로운 작업자 인스턴스에 복제된다. 복제된 앱의 인스턴스로 트래픽이 분산되고 이로 인해, 더 많은 트래픽을 처리할 수 있고 서비스의 안정성과 가용성을 높일 수 있다.
아웃바운드 주소
작업자 VM은 App Service의 SKU에 따라 다르다. Premium V2 및 V3 SKU의 경우 다른 유형의 작업자 VM이 사용된다.
Warning. VM 유형을 변경하는 경우, 즉 SKU를 변경하는 경우에는 다른 아웃바운드 주소 집합2으로 변경된다.
아웃바운드 주소(IP Address) 확인 명령어
az webapp show \
--resource-group <group_name> \
--name <app_name> \
--query outboundIpAddresses \
--output tsv
az webapp show \
--resource-group <group_name> \
--name <app_name> \
--query possibleOutboundIpAddresses \
--output tsv
Learning Note
- 인터넷 호스트 엔드포인트란?
인터넷 호스트 엔드포인트(Internet Host Endpoint)는 인터넷에서 접근할 수 있는 끝점(알기 쉽게 표현하자면, 서비스의 입구)을 말한다. 즉, 인터넷을 통해 연결되는 어떤 서버 또는 서비스의 주소 및 위치를 의미한다.
예) 어떤 웹사이트 혹으 서비스를 운용하는 서버에는 고유한 인터넷 주소(Public 혹은 Global IP: xxx.xxx.xxx.xxx), 도메인 이름(ex: www.google.com)이 존재한다. 이 주소나 이름이 인터넷 호스트 엔드포인트이다. ↩︎ - 아웃바운드 주소 집합이란?
앱 서비스가 사용하는 아웃바운드(외부로 향하는) 인터넷 주소 집합을 의미한다. 조금 더 쉽게 설명하자면, 앱이 인터넷에 데이터를 보낼 때 사용하는 IP Address의 모음을 뜻한다. 이러한 주소는 앱이 외부 서버나 서비스와 통신이 필요한 경우 사용된다.
예) 외부 데이터베이스에 데이터 전송 및 API 호출(Call) ↩︎