다음을 통해 공유


App Service Environment v3로 마이그레이션

참고 항목

App Service Environment v3로 업그레이드하는 데 도움이 되는 두 가지 자동화된 마이그레이션 기능이 있습니다. 이러한 기능에 대해 자세히 알아보려고 하고 적합한 마이그레이션 옵션을 결정하는 데 도움이 필요한 경우, 마이그레이션 경로 의사 결정 트리를 참조하세요. App Service Environment v3로 더 빠르게 마이그레이션하는 경로를 위한 자동화된 옵션 중 하나를 고려합니다.

현재 App Service Environment v1 또는 v2를 사용하는 경우 워크로드를 App Service Environment v3으로 마이그레이션할 수 있습니다. App Service Environment v3에는 워크로드에 대한 향상된 지원을 제공하고 전체 비용을 줄일 수 있는 장점과 기능적 차이가 있습니다. 사용자의 환경이 마이그레이션 경로 의사 결정 트리에 설명된 조건을 충족하는 경우, 자동화된 마이그레이션 기능을 사용하는 것이 좋습니다.

사용자의 App Service Environment가 마이그레이션 기능을 지원하지 않는 경우, 수동 방법 중 하나를 사용하여 App Service Environment v3로 마이그레이션해야 합니다.

필수 조건

시나리오: App Service Environment v1 또는 App Service Environment v2에서 실행되는 앱이 있는데, 이 앱을 App Service Environment v3에서 실행해야 합니다.

자동화된 마이그레이션 기능을 사용하지 않는 마이그레이션 방법의 경우, 사용자가 선택한 방법을 사용하여 App Service Environment v3 리소스 및 새 서브넷을 만들어야 합니다.

App Service Environment v1/v2와 App Service Environment v3의 네트워킹에 차이가 있는데, 여기에는 새로운 (그리고 인터넷 연결 환경의 경우 추가적인) IP 주소가 포함됩니다. 이러한 IP를 사용하는 인프라를 업데이트해야 합니다. Azure Load Balancer 포트와 같은 인바운드 종속성 변화를 고려해야 합니다.

한 서브넷에 여러 App Service Environment가 존재할 수 없습니다. 새 App Service Environment v3 리소스에 기존 서브넷을 사용해야 하는 경우 기존 App Service Environment를 삭제한 후 새 App Service Environment를 만들어야 합니다. 이 시나리오에서는 앱을 백업하고, 새 환경을 만들고 구성한 후 새 환경에서 앱을 복원하는 것입니다. 이 프로세스는 다음 작업을 수행하는 데 걸리는 시간 때문에 애플리케이션 가동 중지 시간이 발생합니다.

  • 이전 환경을 삭제합니다.
  • App Service Environment v3 리소스를 만듭니다.
  • 새 환경에서 작동하도록 인프라 및 연결된 리소스를 구성합니다.
  • 새 환경에 앱을 배포합니다.

앱을 마이그레이션하기 전 검사 목록

  • App Service Environment v3 리소스를 만듭니다.
  • 새 환경과 연결된 IP 주소로 네트워킹 종속성을 업데이트합니다.
  • 가동 중지 시간에 대한 계획을 세웁니다(해당하는 경우).
  • 새 환경에서 앱을 다시 만드는 데 사용할 프로세스를 결정합니다.

환경 크기 조정 및 스케일링

App Service Environment v3는 격리 플랜과 다른 방식으로 가격과 크기가 결정되는 격리 v2 Azure App Service 요금제를 사용합니다. 적절한 용량을 보장하기 위해 새로운 환경의 규모를 어떻게 조정해야 하는지 알아보려면 가격 책정 세부 정보를 검토하세요. App Service Environment v3에 대한 App Service 요금제를 만드는 방법은 이전 버전과 차이가 없습니다.

백업 및 복원 평가

백업 및 복원 기능을 사용하면 새 환경으로 마이그레이션할 때 앱 구성, 파일 콘텐츠 및 데이터베이스를 앱에 연결된 상태로 유지할 수 있습니다.

App Service Environment v3로 복원하려면 앱에 대한 사용자 지정 백업을 구성해야 합니다. 자동 백업은 다른 App Service Environment 버전에서는 복원을 지원하지 않습니다. 사용자 지정 백업에 대한 자세한 내용은 자동 백업과 사용자 지정 백업을 참조하세요. App Service 앱에 대한 사용자 지정 백업을 구성하는 옵션을 보여 주는 스크린샷.

사용자 지정 백업을 선택하고 App Service Environment v3 리소스의 App Service에 복원할 수 있습니다. 앱을 복원하기 전에, 먼저 앱을 복원할 App Service 플랜부터 만들어야 합니다. 프로덕션 슬롯, 기존 슬롯 또는 복원 프로세스 중에 만드는 새 슬롯에 백업을 복원하도록 선택할 수 있습니다.

App Service Environment v3에서 백업을 사용하여 App Service 앱을 복원하는 방법을 보여 주는 스크린샷.

이점 제한 사항
빠름 - 앱당 5~10분이 소요됩니다. 지원은 특정 데이터베이스 형식으로 제한됩니다.
동시에 여러 앱을 복원할 수 있습니다. (앱마다 개별적으로 복원을 구성해야 합니다.) 이전 환경, 새 환경 및 지원 리소스(예: 앱, 데이터베이스, 스토리지 계정 및 컨테이너)가 모두 동일한 구독에 있어야 합니다.
인앱 MySQL 데이터베이스는 구성 없이도 자동으로 백업됩니다. 최대 10GB의 앱 및 데이터베이스 콘텐츠를 백업할 수 있습니다. 그 중에서 데이터베이스 백업은 최대 4GB까지만 가능합니다. 백업 크기가 이 제한을 초과하면 오류가 발생합니다.
이전 상태의 스냅샷으로 앱을 복원할 수 있습니다. 방화벽 사용 스토리지 계정을 백업 대상으로 사용하는 기능이 지원되지 않습니다.
Azure Traffic ManagerAzure Application Gateway와 통합하여 이전 환경과 새 환경에 트래픽을 분산할 수 있습니다. 프라이빗 엔드포인트를 사용하는 스토리지 계정은 백업 및 복원에 사용할 수 없습니다.
복원을 시작하기 전에 새 환경에서 복원할 빈 웹앱을 만들면 프로세스 속도를 높일 수 있습니다. 사용자 지정 백업만 지원됩니다.

App Service Environment v3에 앱 복제

앱 복제Windows 앱을 App Service Environment v3로 가져오는 데 사용할 수 있는 또 다른 기능입니다. 앱 복제와 관련된 제한은 App Service 백업 기능의 제한과 동일합니다. 자세한 내용은 Azure App Service에서 앱 백업을 참조하세요.

참고 항목

앱 복제는 Windows의 App Service 플랜에서만 지원됩니다.

이 솔루션은 Windows에서 App Service를 사용하며 마이그레이션 기능을 사용하여 마이그레이션할 수 없는 사용자에게 권장합니다. 앱을 복제하기 전에 새 App Service Environment v3 리소스부터 설정해야 합니다. 앱 복제를 완료하려면 최대 30분이 걸릴 수 있습니다.

PowerShell을 사용하여 앱을 복제하려면 지침을 참조하세요.

Azure Portal을 사용하여 앱을 복제하려면 다음을 수행합니다.

  1. Azure Portal에서 기존 App Service 요금제로 이동합니다. 개발 도구에서 앱 복제를 선택합니다.

  2. 새 App Service Environment v3 리소스에 대한 세부 정보를 사용하여 필수 필드를 입력합니다.

    1. 리소스 그룹에서는 기존 리소스 그룹을 선택하거나 새 리소스 그룹을 만듭니다.
    2. 이름에서는 앱 이름을 지정합니다. 이 이름은 이전 앱과 같아도 되지만, 새 환경에 대한 사이트의 기본 URL은 다릅니다. 사용자 지정 DNS 또는 연결된 리소스가 새 URL을 가리키도록 업데이트해야 합니다.
    3. 지역에서는 App Service Environment v3 이름을 사용합니다.
    4. 배포 원본을 복제하려면 배포 원본 복제 확인란을 선택합니다.
    5. Windows 플랜의 경우 새 환경(이미 만든 경우)에서 기존 App Service 요금제를 사용해도 되고 새 플랜을 만들어도 됩니다. 새 App Service Environment v3에서 사용 가능한 App Service 요금제는 드롭다운 목록에 표시됩니다.
    6. SKU 및 크기에서는 새 App Service 요금제를 만드는 경우 격리 v2 옵션 중 하나를 사용하여 메모리 및 CPU를 필요한 대로 수정합니다. App Service Environment v3는 격리 플랜에 비해 해당 인스턴스 크기당 메모리 및 CPU가 더 많은 격리 v2 플랜을 사용합니다. 자세한 내용은 App Service Environment v3 가격 책정 세부 정보를 참조하세요.

해당 포털을 사용하여 App Service Environment v3에 앱을 복제하는 옵션을 보여 주는 스크린샷.

이점 제한 사항
PowerShell을 사용하여 복제를 자동화할 수 있습니다. Windows의 App Service 플랜에서만 지원됩니다.
동시에 여러 앱을 복제할 수 있습니다. (앱마다 개별적으로 또는 스크립트를 통해 복제를 구성해야 합니다.) 지원은 특정 데이터베이스 형식으로 제한됩니다.
Azure Traffic ManagerAzure Application Gateway와 통합하여 이전 환경과 새 환경에 트래픽을 분산할 수 있습니다. 이전 환경, 새 환경 및 지원 리소스(예: 앱, 데이터베이스, 스토리지 계정 및 컨테이너)가 모두 동일한 구독에 있어야 합니다.

App Service Environment v3에서 수동으로 앱 만들기

마이그레이션 기능이 앱을 지원하지 않거나 좀 더 수동 경로를 원하는 경우 기존 App Service Environment에 사용한 것과 동일한 프로세스에 따라 앱을 배포하면 됩니다.

기존 앱, App Service 요금제 및 기타 지원되는 리소스의 ARM(Azure Resource Manager) 템플릿을 내보내고 새 환경에 또는 새 환경을 사용하여 배포할 수 있습니다. 앱에 대한 템플릿만 내보내려면 App Service 요금제로 이동합니다. 자동화에서 템플릿 내보내기를 선택합니다.

Azure Portal의 왼쪽 창에서 템플릿을 내보내는 옵션의 스크린샷.

리소스 그룹에서 직접 여러 리소스에 대한 템플릿을 내보낼 수도 있습니다. 리소스 그룹으로 이동하여 템플릿을 사용할 리소스를 선택한 다음, 템플릿 내보내기를 선택합니다.

리소스 그룹에서 리소스용 템플릿을 내보내는 옵션의 스크린샷.

App Service Environment v3에 앱을 받으려면 처음에 다음과 같이 ARM 템플릿을 변경해야 합니다.

  • 다음과 같이 App Service 요금제에 대한 sku 매개 변수를 격리 v2 플랜으로 업데이트합니다.

    "type": "Microsoft.Web/serverfarms",
    "apiVersion": "2021-02-01",
    "name": "[parameters('serverfarm_name')]",
    "location": "East US",
    "sku": {
        "name": "I1v2",
        "tier": "IsolatedV2",
        "size": "I1v2",
        "family": "Iv2",
        "capacity": 1
    },
    
  • App Service Environment v3와 연결된 플랜에 앱이 배포될 App Service 요금제(serverfarm) 매개 변수를 업데이트합니다.

  • 호스팅 환경 프로필(hostingEnvironmentProfile) 매개 변수를 새 App Service Environment v3 리소스 ID로 업데이트합니다.

  • 리소스 공급자가 리소스에 대해 노출하는 모든 속성이 ARM 템플릿 내보내기에 포함됩니다. 이전 앱의 도메인을 가리키는 속성과 같은 비필수 속성을 모두 제거합니다. 예를 들어 sites 리소스를 다음 샘플로 간소화할 수 있습니다.

    "type": "Microsoft.Web/sites",
    "apiVersion": "2021-02-01",
    "name": "[parameters('site_name')]",
    "location": "East US",
    "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', parameters('serverfarm_name'))]"
    ],
    "properties": {
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('serverfarm_name'))]",
        "siteConfig": {
            "linuxFxVersion": "NODE|14-lts"
         },
        "hostingEnvironmentProfile": {
            "id": "[parameters('hostingEnvironments_externalid')]"
        }
    }
    

앱을 구성한 방식에 따라 그 외에도 변경이 필요할 수 있습니다. 예를 들어, 이전 환경과 새 환경에 대해 시스템 할당 관리 ID 및 동일한 애플리케이션 이름을 사용하는 경우 충돌이 발생할 수 있습니다. 이 충돌을 해결하고 가동 중지 시간을 방지하려면, 사용자 할당 관리 ID를 사용할 수 있습니다.

Azure Portal, Azure CLI 또는 PowerShell을 사용하여 ARM 템플릿을 배포할 수 있습니다.

수동으로 마이그레이션

현재 위치 마이그레이션 기능은 App Service Environment v3로의 마이그레이션을 자동화하고 모든 앱을 새 환경으로 이전합니다. 이 마이그레이션 중에는 약 1시간의 가동 중지 시간이 있습니다. 앱에 가동 중지 시간을 허용할 수 없는 경우, 새 환경이 다른 서브넷에 만들어지므로 가동 중지 시간이 없는 마이그레이션 옵션인 병렬 마이그레이션 기능을 사용하는 것이 좋습니다. 또한 병렬 마이그레이션 기능을 사용하지 않도록 선택하는 경우, 수동 옵션 중 하나를 사용하여 App Service Environment v3에서 앱을 다시 만들 수 있습니다.

Application Gateway를 사용하여 이전 환경과 새 환경 간에 트래픽을 분산할 수 있습니다. ILB(내부 부하 분산 장치) App Service Environment를 사용하는 경우 추가 백 엔드 풀을 사용하여 Azure Application Gateway 인스턴스를 만들어 환경 간에 트래픽을 분산합니다. ILB App Service Environment 및 인터넷 연결 App Service Environment에 대한 자세한 내용은 Application Gateway 통합을 참조하세요.

Azure Front Door, Azure Content Delivery Network, Azure Traffic Manager 같은 서비스를 사용하여 환경 간에 트래픽을 분산할 수도 있습니다. 이러한 서비스를 사용하면 제어된 방식으로 새 환경을 테스트할 수 있으며 각자 상황에 맞는 속도로 새 환경으로 이동할 수 있습니다.

마이그레이션 및 새 환경을 사용한 테스트가 완료되면 이전 App Service Environment, 포함된 앱 및 더 이상 필요 없는 지원 리소스를 삭제합니다. 삭제하지 않은 리소스에 대한 요금이 계속 청구됩니다.

자주 묻는 질문

  • 수동 옵션 중 하나를 사용하여 App Service Environment v3로 마이그레이션해야 하는지 어떻게 알 수 있나요?
    적합한 마이그레이션 옵션을 결정하는 데 도움이 필요한 경우 마이그레이션 경로 의사 결정 트리를 참조하세요. 사용자의 환경이 마이그레이션 경로 의사 결정 트리에 설명된 조건을 충족하는 경우, App Service Environment v3로 더 빠르게 마이그레이션하는 경로를 위한 자동화된 마이그레이션 기능 중 하나를 사용하는 것이 좋습니다. 앱을 새 환경으로 천천히 이동하고 전체 프로세스 동안 계속 유효성을 검사해야 하는 경우, 수동 마이그레이션을 사용하는 것이 좋습니다.

  • 마이그레이션하는 동안 가동 중지 시간이 발생되나요?
    가동 중지 시간은 마이그레이션 프로세스에 따라 달라집니다. 마이그레이션하는 동안 트래픽을 가리킬 수 있는 다른 App Service Environment가 있거나 다른 서브넷을 사용하여 새 환경을 만들 수 있는 경우 가동 중지 시간이 발생하지 않습니다. 동일한 서브넷을 사용해야 하는 경우 이전 환경을 삭제하고, App Service Environment v3를 만들고, 새 App Service 요금제를 만들고, 앱을 다시 만들고, 새 IP 주소를 사용하는 리소스를 업데이트하는 데 걸리는 시간 때문에 가동 중지 시간이 발생합니다.

  • 앱이 App Service Environment v3에서 실행되도록 앱을 변경해야 하나요?
    아니요. App Service Environment v1 및 v2에서 실행되는 앱은 App Service Environment v3에서 실행하기 위해 수정할 필요가 없습니다. IP SSL을 사용하는 경우 마이그레이션하기 전에 IP SSL 바인딩을 제거해야 합니다.

  • 내 앱 서비스 환경에 사용자 지정 도메인 접미사가 있는 경우 어떻게 해야 할까요?
    마이그레이션 기능은 이 마이그레이션 시나리오를 지원합니다. 마이그레이션 기능을 사용하지 않으려면 수동 방법을 사용하여 마이그레이션하면 됩니다. App Service Environment v3 리소스를 만들 때 또는 만든 후 언제든지 사용자 지정 도메인 접미사를 구성할 수 있습니다.

  • 내 App Service Environment v2 리소스가 영역 고정된 경우 어떻게 해야 하나요?
    영역 고정은 App Service Environment v3에서 지원되는 기능이 아닙니다. App Service Environment v3 리소스를 만들 때 영역 중복을 사용하도록 선택하면 됩니다.

  • 내 App Service Environment의 어떤 속성이 변경될까요?
    App Service Environment v3와 이전 버전 간의 기능 차이를 검토하세요. ILB App Service Environment의 경우 동일한 ILB IP 주소를 유지합니다. 인터넷 연결 App Service Environment의 경우 공용 IP 주소와 아웃바운드 IP 주소가 변경됩니다.

    인터넷 연결 App Service Environment의 경우 이전에는 인바운드와 아웃바운드 모두에 단일 IP가 사용되었습니다. 앱 서비스 환경 v3의 경우에는 별개입니다. 더 상세한 정보는 앱 서비스 환경 v3 네트워킹을 참고하세요.

  • App Service Environment v2에서 v3으로 앱을 이동하기 위한 백업 및 복원이 지원됩니까? 백업 및 복원 기능은 복원에 사용자 지정 백업을 사용하는 한 App Service Environment 버전 간 앱 복원을 지원합니다. 자동 백업은 다른 App Service Environment 버전에서는 복원을 지원하지 않습니다.

  • 2024년 8월 31일 이후에 App Service Environment v1 및 v2 리소스는 어떻게 되나요?
    2024년 8월 31일까지 App Service Environment v3로 마이그레이션하지 않은 App Service Environment v1 및 v2 리소스와 이러한 리소스에 배포된 앱은 더 이상 사용할 수 없습니다.

    App Service Environment v1 및 v2는 Azure Cloud Services(클래식) 아키텍처에서 실행되는 App Service 배율 단위에 호스트됩니다. 이 아키텍처는 2024년 8월 31일에 사용 중지되므로, 이 날짜 이후에는 App Service Environment v1 및 v2를 사용할 수 없습니다. App Service Environment v3로 마이그레이션하여 앱을 계속 실행하거나 유지 관리해야 하는 리소스 또는 데이터를 저장하거나 백업하세요.

다음 단계