Azure Resource Manager 템플릿을 사용하여 App Service Environment 만들기

Azure Resource Manager 템플릿을 사용하여 App Service Environment를 만들면 반복 가능한 배포가 가능합니다.

참고 항목

이 문서는 격리된 v2 App Service 요금제와 함께 사용되는 App Service Environment v3에 관한 것입니다.

개요

인터넷에 액세스할 수 있는 엔드포인트나 Azure Virtual Network의 내부 주소에 있는 엔드포인트를 사용하여 Azure App Service Environment를 만들 수 있습니다. 엔드포인트가 내부 엔드포인트를 사용하여 만들어진 경우 ILB(내부 부하 분산 장치)를 호출하는 Azure구성 요소에서 해당 엔드포인트를 제공합니다. 내부 IP 주소의 App Service Environment를 ILB ASE라고 합니다. 공용 엔드포인트가 있는 App Service Environment를 외부 ASE라고 합니다.

Azure Portal 또는 Azure Resource Manager 템플릿을 사용하여 ASE를 만들 수 있습니다. 이 문서에서는 Resource Manager 템플릿으로 외부 ASE 또는 ILB ASE를 만드는 데 필요한 단계와 구문을 안내합니다. Azure Portal에서 App Service Environment를 만드는 방법을 알아봅니다.

Azure Portal에서 App Service Environment를 만들 때 동시에 가상 네트워크를 만들거나 배포할 기존 가상 네트워크를 선택할 수 있습니다.

템플릿에서 App Service Environment를 만드는 경우 다음으로 시작해야 합니다.

  • Azure Virtual Network.
  • 가상 네트워크의 서브넷 향후 성장 및 크기 조정 요구 사항을 수용하려면 주소가 256개인 /24의 서브넷 크기를 권장합니다. App Service Environment가 만들어진 후에는 크기를 변경할 수 없습니다.
  • ASE를 배포할 위치

App Service Environment 구성

App Service Environment를 만드는 기본 Resource Manager 템플릿은 다음과 같습니다.

{
    "type": "Microsoft.Web/hostingEnvironments",
    "apiVersion": "2022-03-01",
    "name": "[parameters('aseName')]",
    "location": "[resourceGroup().location]",
    "kind": "ASEV3",
    "properties": {
        "internalLoadBalancingMode": "Web, Publishing",
        "virtualNetwork": {
            "id": "[parameters('subnetResourceId')]"
        },
        "networkingConfiguration": { },
        "customDnsSuffixConfiguration": { }
    },
    "identity": {
        "type": "SystemAssigned"
    }
}

코어 속성 외에도 App Service Environment를 구성하는 데 사용할 수 있는 다른 구성 옵션이 있습니다.

  • 이름: 필수입니다. 이 매개 변수는 고유한 App Service Environment 이름을 정의합니다. 이름은 36자 이하여야 합니다.
  • virtualNetwork -> id: 필수입니다. 서브넷의 리소스 ID를 지정합니다. 서브넷은 비어 있어야 하며 Microsoft.Web/hostingEnvironments에 위임되어야 합니다.
  • internalLoadBalancingMode: 필수. 대부분의 경우 이 속성을 "웹, 게시"로 설정합니다. 이는 HTTP/HTTPS 트래픽과 FTP 트래픽이 모두 내부 VIP(내부 Load Balancer)에 있음을 의미합니다. 이 속성을 "없음"으로 설정하면 모든 트래픽이 공용 VIP(외부 Load Balancer)에 유지됩니다.
  • zoneRedundant: 선택 사항입니다. App Service Environment가 AZ(가용성 영역)에 배포되는지 여부를 true/false로 정의합니다. 자세한 내용은 지역 및 가용성 영역을 참조하세요.
  • dedicatedHostCount: 선택 사항입니다. 대부분의 경우 이 속성을 0으로 설정하거나 생략합니다. 전용 호스트에 실제 하드웨어 격리를 사용하여 App Service Environment를 배포하려는 경우 2로 설정할 수 있습니다.
  • upgradePreference: 선택 사항입니다. 업그레이드가 자동으로 시작되는지 또는 배포 시작을 위한 15일 기간이 제공되는지 정의합니다. 유효한 값은 "None", "Early", "Late", "Manual"입니다. 업그레이드 기본 설정에 대해 자세히 알아봅니다.
  • clusterSettings: 선택 사항입니다. 자세한 내용은 클러스터 설정을 참조하세요.
  • networkingConfiguration ->allowNewPrivateEndpointConnections: 선택 사항입니다. 자세한 내용은 네트워킹 구성을 참조하세요.
  • networkingConfiguration ->remoteDebugEnabled: 선택 사항입니다. 자세한 내용은 네트워킹 구성을 참조하세요.
  • networkingConfiguration -> ftpEnabled: 선택 사항입니다. 자세한 내용은 네트워킹 구성을 참조하세요.
  • networkingConfiguration -> inboundIpAddressOverride: 선택 사항입니다. 고유한 Azure 공용 IP 주소(리소스 ID 지정)를 사용하여 App Service Environment를 만들거나 ILB 배포를 위한 고정 IP를 정의할 수 있습니다. App Service Environment를 만든 후에는 이 설정을 변경할 수 없습니다.
  • customDnsSuffixConfiguration: 선택 사항입니다. App Service Environment에 대한 사용자 지정 도메인 접미사를 지정할 수 있습니다. Key Vault의 유효한 인증서가 필요하며 관리 ID를 사용하여 액세스해야 합니다. 특정 매개 변수에 대한 자세한 내용은 사용자 지정 도메인 접미사 구성을 참조하세요.

참고 항목

App Service Environment v3을 만들 때 dnsSuffix, multiSize, frontEndScaleFactor, userWhitelistedIpRangesipSslAddressCount 속성은 지원되지 않습니다.

App Service Environment 배포

예를 들어 azuredeploy.json이라는 ARM 템플릿과 선택적으로 azuredeploy.parameters.json이라는 매개변수 파일을 만든 후 Azure CLI 코드 조각을 사용하여 App Service Environment를 만들 수 있습니다. 컴퓨터의 Resource Manager 템플릿 파일 위치와 일치하도록 파일 경로를 변경합니다. 리소스 그룹 이름에 고유한 값을 제공해야 합니다.

templatePath="PATH/azuredeploy.json"
parameterPath="PATH/azuredeploy.parameters.json"

az deployment group create --resource-group "YOUR-RG-NAME-HERE" --template-file $templatePath --parameters $parameterPath

App Service Environment를 만드는 데는 일반적으로 약 1시간이 걸리지만, 영역 중복 App Service Environment이거나 지역에서 예기치 못한 수요가 발생하는 경우 만들기 프로세스를 완료하는 데 몇 시간이 걸릴 수 있습니다.

다음 단계