내부 Load Balancer App Service Environment 만들기 및 사용

Important

이 문서는 격리된 App Service 요금제와 함께 사용되는 App Service Environment v2에 대해 설명합니다. App Service Environment v2는 2024년 8월 31일에 사용 중지됩니다. 사용하기 더 쉽고 더 강력한 인프라에서 실행되는 새로운 버전의 App Service Environment가 있습니다. 새 버전에 대한 자세한 내용은 App Service Environment 소개를 참조하세요. 현재 App Service Environment v2를 사용 중인 경우 이 문서의 단계에 따라 새 버전으로 마이그레이션합니다.

2024년 1월 29일부터 ARM/Bicep 템플릿, Azure Portal, Azure CLI 또는 REST API를 포함하여 사용 가능한 방법을 사용하여 더 이상 새로운 App Service Environment v2 리소스를 만들 수 없습니다. 리소스 삭제 및 데이터 손실을 방지하려면 2024년 8월 31일 마이그레이션에 App Service Environment v3으로 마이그레이션해야 합니다.

Azure App Service Environment는 Azure App Service를 Azure VNet(가상 네트워크)의 서브넷에 배포한 것입니다. ASE(App Service Environment)에는 두 가지 배포 방법이 있습니다.

  • 외부 ASE라고도 하는 외부 IP 주소의 VIP 사용
  • 내부 엔드포인트가 ILB(내부 부하 분산 장치)이기 때문에 ILB ASE라고도 하는 내부 IP 주소의 VIP 사용

이 문서에서는 ILB ASE를 만드는 방법을 보여 줍니다. ASE의 개요는 App Service Environment에 대한 소개를 참조하세요. 외부 ASE를 만드는 방법을 알아보려면 [외부 ASE 만들기][MakeExternalASE]를 참조하세요.

개요

VNet의 인터넷 액세스 가능 엔드포인트 또는 IP 주소를 사용하여 ASE를 배포할 수 있습니다. IP 주소를 VNet 주소로 설정하려면 ASE는 ILB를 사용하여 배포되어야 합니다. ILB를 사용하여 ASE를 배포하는 경우 ASE 이름을 제공해야 합니다. ASE 이름은 ASE의 앱에 대한 도메인 접미사에 사용됩니다. ILB ASE의 도메인 접미사는 <ASE 이름>.appserviceenvironment.net입니다. ILB ASE에서 만든 앱은 공용 DNS에 포함되지 않습니다.

이전 버전의 ILB ASE에서는 도메인 접미사와 HTTPS 연결에 대한 기본 인증서를 제공해야 했습니다. 도메인 접미사는 ILB ASE를 만들 때 더 이상 수집되지 않으며, 기본 인증서도 더 이상 수집되지 않습니다. 지금 ILB ASE를 만들면 기본 인증서가 Microsoft에서 제공되며 브라우저에서 신뢰할 수 있습니다. 여전히 ASE의 앱에서 사용자 지정 도메인 이름을 설정하고 인증서를 해당 사용자 지정 도메인 이름으로 설정할 수 있습니다.

ILB ASE를 사용하는 경우 수행할 수 있는 작업은 다음과 같습니다.

  • 사이트 간 또는 ExpressRoute를 통해 액세스하는 클라우드에서 인트라넷 애플리케이션을 안전하게 호스팅
  • WAF 디바이스를 사용하여 앱 보호
  • 공용 DNS 서버에 나열되지 않은 클라우드에 앱 호스트
  • 프런트 엔드 앱이 안전하게 통합될 수 있는 인터넷 격리 백 엔드 앱 만들기

사용되지 않도록 설정된 기능

ILB ASE를 사용하는 경우 수행할 수 없는 작업도 있습니다.

  • IP 기반 TLS/SSL 바인딩을 사용합니다.
  • 특정 앱에 IP 주소 할당
  • Azure Portal을 통해 앱에서 인증서 구매 및 사용 직접 인증 기관에서 직접 인증서를 가져와서 앱에서 사용할 수 있습니다. Azure Portal을 통해 가져올 수 없습니다.

ILB ASE 만들기

ILB ASE를 만들려면 Azure Resource Manager 템플릿을 사용하여 ASE 만들기를 참조하세요.

참고 항목

App Service Environment 이름은 36자 이하여야 합니다.

ILB ASE에 앱 만들기

일반적으로 ASE에서 앱을 만드는 것과 동일한 방식으로 ILB ASE에서 앱을 만듭니다.

  1. Azure Portal에서 리소스 만들기>>웹앱을 차례로 선택합니다.

  2. 앱의 이름을 입력합니다.

  3. 구독을 선택합니다.

  4. 리소스 그룹을 선택하거나 만듭니다.

  5. 게시, 런타임 스택 및 운영 체제를 선택합니다.

  6. 위치가 기존 ILB ASE인 위치를 선택합니다.

  7. App Service 계획을 선택하거나 만듭니다.

  8. 검토 및 만들기를 선택한 다음, 준비되면 만들기를 선택합니다.

웹 작업, 함수 및 ILB ASE

함수 및 웹 작업 모두 ILB ASE에서 지원되지만 포털에서 작동되려면 네트워크를 통해 SCM 사이트에 액세스할 수 있어야 합니다. 즉, 가상 네트워크에 있거나 가상 네트워크에 연결된 호스트에 브라우저가 있어야 합니다. ILB ASE의 도메인 이름이 appserviceenvironment.net으로 끝나지 않으면 경우 scm 사이트에서 사용되는 HTTPS 인증서를 브라우저에서 신뢰할 수 있도록 해야 합니다.

DNS 구성

External ASE를 사용하는 경우 ASE에서 만든 앱이 Azure DNS로 등록됩니다. External ASE에는 앱을 공개적으로 사용할 수 있는 추가 단계가 없습니다. ILB ASE를 사용하여 자체 DNS를 관리해야 합니다. 사용자의 DNS 서버에서 또는 Azure DNS 프라이빗 영역을 사용하여 이 작업을 수행할 수 있습니다.

ILB ASE를 사용하여 자체 DNS 서버에서 DNS를 구성하려면 다음을 수행합니다.

  1. <ASE 이름>.appserviceenvironment.net 영역 만들기
  2. 해당 영역에 *로 ILB IP 주소를 가리키는 A 레코드 만들기
  3. 해당 영역에 @로 ILB IP 주소를 가리키는 A 레코드 만들기
  4. <ASE 이름>.appserviceenvironment.net에 scm이라는 영역 만들기
  5. scm 영역에 *로 ILB IP 주소를 가리키는 A 레코드 만들기

Azure DNS 프라이빗 영역에서 DNS를 구성하려면 다음을 수행합니다.

  1. <ASE 이름>.appserviceenvironment.net이라는 Azure DNS 프라이빗 영역 만들기
  2. 해당 영역에 *로 ILB IP 주소를 가리키는 A 레코드 만들기
  3. 해당 영역에 @로 ILB IP 주소를 가리키는 A 레코드 만들기
  4. 해당 영역에 *.scm으로 ILB IP 주소를 가리키는 A 레코드 만들기

ASE 기본 도메인 접미사에 대한 DNS 설정은 해당 이름으로만 액세스할 수 있도록 앱을 제한하지 않습니다. ILB ASE의 앱에 대한 유효성 검사 없이 사용자 지정 도메인 이름을 설정할 수 있습니다. 그런 다음 contoso.net이라는 영역을 만들려는 경우 해당 작업을 수행하고 ILB IP 주소를 가리킬 수 있습니다. 사용자 지정 도메인 이름은 앱 요청에 대해서는 작동하지만 scm 사이트의 경우에는 작동하지 않습니다. scm 사이트는 <appname>.scm.<asename>.appserviceenvironment.net에서만 사용할 수 있습니다.

.<asename>.appserviceenvironment.net이라는 영역은 전역적으로 고유합니다. 2019년 5월 이전에는 고객이 ILB ASE의 도메인 접미사를 지정할 수 있었습니다. 도메인 접미사에 대해 .contoso.com을 사용하려는 경우 해당 작업을 수행할 수 있었으며 scm 사이트를 포함하였습니다. 이 모델에는 기본 TLS/SSL 인증서 관리, scm 사이트에 Single Sign-On 부족 및 와일드카드 인증서를 사용하기 위한 요구 사항을 비롯한 과제가 있었습니다. ILB ASE 기본 인증서 업그레이드 프로세스도 중단되어 애플리케이션을 다시 시작했습니다. 이러한 문제를 해결하기 위해 ILB ASE 동작은 ASE 이름 및 Microsoft 소유의 접미사에 따라 도메인 접미사를 사용하도록 변경되었습니다. ILB ASE 동작에 대한 변경 사항은 2019년 5월 이후 만들어진 ILB ASE에 적용됩니다. 기존 ILB ASE는 여전히 ASE의 기본 인증서와 해당 DNS 구성을 관리해야 합니다.

ILB ASE로 게시

만든 모든 앱에는 두 개의 엔드포인트가 있습니다. ILB ASE에는 <앱 이름>.<ILB ASE 도메인><앱 이름>.scm.<ILB ASE 도메인>이 있습니다.

SCM 사이트 이름은 Azure Portal 내에서 고급 포털이라고 하는 Kudu 콘솔로 이동합니다. Kudu 콘솔을 통해 환경 변수를 확인하고, 디스크를 탐색하고, 콘솔을 사용할 수 있습니다. 자세한 내용은 Azure App Service의 Kudu 콘솔을 참조하세요.

GitHub 및 Azure DevOps와 같은 인터넷 기반 CI 시스템은 빌드 에이전트가 인터넷에 액세스할 수 있고 ILB ASE와 동일한 네트워크에 있는 경우 ILB ASE와 함께 작동합니다. 따라서 Azure DevOps의 경우 빌드 에이전트가 ILB ASE와 동일한 VNET에서 만들어지면(다른 서브넷은 문제 없음) Azure DevOps git에서 코드를 끌어오고 ILB ASE에 배포할 수 있습니다. 사용자 고유의 빌드 에이전트를 만들지 않으려면 Dropbox 등의 끌어오기 모델을 사용하는 CI 시스템을 사용해야 합니다.

ILB ASE의 앱에 대한 게시 엔드포인트에서는 ILB ASE가 만들어진 도메인을 사용합니다. 이 도메인은 앱의 게시 프로필과 앱의 포털 블레이드(개요>Essentials속성)에서 표시됩니다. <ASE 이름>.appserviceenvironment.net 도메인 접미사가 있는 ILB ASE 및 mytest라는 앱이 있는 경우 FTP에는 mytest.<ASE 이름>.appserviceenvironment.net을 사용하고, MSDeploy 배포에는 mytest.scm.contoso.net을 사용합니다.

WAF 디바이스를 사용하여 ILB ASE 구성

원하는 앱만 인터넷에 공개하고 나머지 앱은 VNet에서만 액세스할 수 있도록 WAF(웹 애플리케이션 방화벽) 디바이스를 ILB ASE와 결합할 수 있습니다. 이렇게 하면 다른 무엇보다도 안전한 다중 계층 애플리케이션을 빌드할 수 있습니다.

WAF 디바이스를 사용하여 ILB ASE를 구성하는 방법에 대한 자세한 내용은 App Service Environment를 사용하여 웹 애플리케이션 방화벽 구성을 참조하세요. 이 문서에서는 ASE를 사용하여 Barracuda 가상 어플라이언스를 사용하는 방법을 보여줍니다. 다른 방법은 Azure Application Gateway를 사용하는 것입니다. Application Gateway는 이후에 배치할 모든 애플리케이션을 보호하기 위해 OWASP 핵심 규칙을 사용합니다. Application Gateway에 대한 자세한 내용은 Azure 웹 애플리케이션 방화벽 소개를 참조하세요.

2019년 5월 이전에 만든 ILB ASE

2019년 5월 이전에 만든 ILB ASE를 사용하기 위해서는 ASE를 만드는 중에 도메인 접미사를 설정해야 했습니다. 해당 도메인 접미사를 기반으로 하는 기본 인증서도 업로드해야 했습니다. 또한 이전 ILB ASE를 사용하면 해당 ILB ASE의 앱을 사용하여 Kudu 콘솔에 대한 Single Sign-On을 수행할 수 없습니다. 이전 ILB ASE에 대한 DNS를 구성하는 경우 와일드카드 A 레코드를 도메인 접미사와 일치하는 영역에 설정해야 합니다. 사용자 지정 도메인 접미사를 사용하여 ILB ASE를 만들거나 변경하려면 2019년 이전의 Azure Resource Manager 템플릿 및 api 버전을 사용해야 합니다. 마지막 지원 api 버전은 2018-11-01입니다.

시작하기