다음을 통해 공유


병렬 마이그레이션 기능을 사용하여 App Service Environment v3으로 마이그레이션

참고 항목

이 문서에 설명된 마이그레이션 기능은 App Service Environment v2에서 App Service Environment v3으로의 병렬(다른 서브넷) 자동 마이그레이션에 사용됩니다. 30일 유예 기간을 요청하지 않은 경우 유예 기간 개요를 검토한 다음, Azure Portal로 이동하여 각 App Service Environment의 마이그레이션 블레이드를 방문하여 유예 기간을 요청하세요.

현재 위치 마이그레이션 기능에 관한 정보를 찾고 있는 경우 현재 위치 마이그레이션 기능을 사용하여 App Service Environment v3으로 마이그레이션을 참조하세요. 수동 마이그레이션 옵션에 관한 자세한 내용은 수동 마이그레이션 옵션을 참조하세요. 적합한 마이그레이션 옵션을 결정하는 데 도움이 필요한 경우 마이그레이션 경로 의사 결정 트리를 참조하세요. App Service Environment v3에 관한 자세한 내용은 App Service Environment v3 개요를 참조하세요.

병렬 마이그레이션은 기존 마이그레이션에 비해 추가적인 과제를 안고 있습니다. 두 가지 옵션 중 하나를 선택해야 하는 고객의 경우, 단계가 적고 복잡성이 덜한 현재 위치 마이그레이션을 사용하는 것이 좋습니다. 병렬 마이그레이션을 사용하기로 결정한 경우, 옆으로 마이그레이션 기능을 사용하여 마이그레이션할 때 발생하는 일반적인 문제 원본 섹션을 검토하여 일반적인 문제를 방지합니다.

App Service는 App Service Environment v1과 v2를 App Service Environment v3으로 자동 마이그레이션할 수 있습니다. 다양한 가격 책정 옵션이 있습니다. 마이그레이션 경로 의사 결정 트리를 검토하여 사용 사례에 가장 적합한 옵션을 결정하세요. App Service Environment v3는 이전 버전 대비 장점과 기능의 차이가 있습니다. 예기치 않은 애플리케이션 문제의 위험을 줄이기 위해 마이그레이션하기 전에 App Service Environment v3의 지원되는 기능을 검토해야 합니다.

병렬 마이그레이션 기능은 App Service Environment v3으로의 마이그레이션을 자동화합니다. 병렬 마이그레이션 기능은 모든 앱을 서로 다른 서브넷에 사용하여 새 App Service Environment v3을 만듭니다. 기존 App Service Environment는 마이그레이션 프로세스 완료 시 사용자가 삭제를 시작할 때까지 삭제되지 않습니다. 이 마이그레이션 옵션은 가동 중지 시간이 없는 App Service Environment v3으로 마이그레이션하고 새 환경에 다른 서브넷 사용을 지원할 수 있는 고객에게 가장 적합합니다. 동일한 서브넷을 사용해야 하고 약 1시간의 애플리케이션 가동 중지 시간을 지원할 수 있는 경우 현재 위치 마이그레이션 기능을 참조하세요. 사용자 고유의 속도로 마이그레이션할 수 있는 수동 마이그레이션 옵션은 수동 마이그레이션 옵션을 참조하세요.

Important

이 자습서에 설명된 모든 단계를 완료하지 못하면 가동 중지 시간이 발생합니다. 예를 들어 모든 종속 리소스를 새 IP 주소로 업데이트하지 않거나 사용자 지정 도메인 접미사 키 자격 증명 모음의 경우와 같이 새 서브넷에 대한 액세스를 허용하지 않는 경우 해당 주소가 처리될 때까지 가동 중지 시간이 발생합니다.

프로덕션 환경을 마이그레이션하기 전에 먼저 개발 환경에 이 기능을 사용하여 프로세스를 예행연습하고 예기치 않은 문제가 없는지 확인하는 것이 좋습니다. 페이지 하단에 있는 단추를 사용하여 이 문서 또는 기능과 관련된 피드백을 제공합니다.

지원되는 시나리오

현재 병렬 마이그레이션 기능은 다음 지역에서 App Service Environment v3으로의 마이그레이션을 지원하지 않습니다.

Azure 공용

  • 아랍에미리트 중부

Azure Government

  • US DoD 중부
  • US DoD 동부
  • US Gov 애리조나
  • US Gov 텍사스
  • US Gov 버지니아

21Vianet에서 운영하는 Microsoft Azure

  • 중국 동부 2
  • 중국 북부 2

병렬 마이그레이션 기능을 사용하여 다음 App Service Environment 구성을 마이그레이션할 수 있습니다. 이 표에서는 기존 App Service Environment에 따라 병렬 마이그레이션 기능을 사용할 때 App Service Environment v3 구성을 보여줍니다.

구성 App Service Environment v3 구성
ILB(내부 부하 분산 장치) App Service Environment v2 ILB App Service Environment v3
외부(ELB/공용 IP로 인터넷 연결) App Service Environment v2 ELB App Service Environment v3
사용자 지정 도메인 접미사가 있는 ILB App Service Environment v2 사용자 지정 도메인 접미사가 있는 ILB App Service Environment v3

App Service Environment v3은 영역 중복으로 배포할 수 있습니다. App Service Environment v3이 영역 중복성을 지원하는 지역에 있는 한 영역 중복을 사용하도록 설정할 수 있습니다.

새 App Service Environment v3에서 사용자 지정 도메인 접미사를 사용하려고 하지만 현재 사용하지 않는 경우 마이그레이션이 완료되면 언제든지 사용자 지정 도메인 접미사를 구성할 수 있습니다. 자세한 내용은 App Service Environment의 사용자 지정 도메인 접미사 구성을 참조하세요. 기존 환경에 사용자 지정 도메인 접미사가 있고, 이를 더 이상 사용하지 않으려면 마이그레이션에 대한 사용자 지정 도메인 접미사를 구성해야 합니다. 마이그레이션이 완료된 후 사용자 지정 도메인 접미사를 제거할 수 있습니다.

병렬 마이그레이션 기능 제한 사항

다음은 병렬 마이그레이션 기능을 사용할 때의 제한 사항입니다.

  • 새 App Service Environment v3은 서로 다른 서브넷에 있지만, 기존 환경과 동일한 가상 네트워크에 있습니다.
  • App Service Environment가 있는 지역을 변경할 수 없습니다.
  • ELB App Service Environment를 ILB App Service Environment v3으로 마이그레이션할 수 없으며 그 반대의 경우도 마찬가지입니다.
  • 기존 App Service Environment에서 사용자 지정 도메인 접미사를 사용한다면, 마이그레이션 프로세스 중에 App Service Environment v3의 사용자 지정 도메인 접미사를 구성해야 합니다.
    • 사용자 지정 도메인 접미사를 더 이상 사용하지 않으려면 마이그레이션이 완료된 후에 제거하면 됩니다.
  • 병렬 마이그레이션 기능은 CLI를 사용하거나 REST API를 통해서만 사용할 수 있습니다. 이 기능은 Azure Portal에서 사용할 수 없습니다.

App Service Environment v3은 현재 App Service Environment v2에서 사용할 수 있는 다음 기능을 지원하지 않습니다.

  • 앱을 사용하여 IP 기반 TLS/SSL 바인딩 구성.
  • 가상 네트워크에서 구성된 사용자 지정 DNS 서버가 지정된 이름을 확인할 수 없다면, App Service Environment v3는 Azure DNS로 대체되지 않습니다. 이 동작이 필요하다면, 공용 DNS에 대한 전달자가 있는지 확인하거나 사용자 지정 DNS 서버 목록에 Azure DNS를 포함하세요.

병렬 마이그레이션 기능은 다음 시나리오를 지원하지 않습니다. App Service Environment가 이 범주 중 하나에 속하는 경우 수동 마이그레이션 옵션을 참조하세요.

  • App Service 환경 v1
  • IP SSL 주소가 있는 ELB App Service Environment v2
  • 영역 고정 App Service Environment v2
  • 이름이 문자 제한을 충족하지 않는 App Service Environment입니다. 도메인 접미사를 포함한 전체 이름은 64자 이하여야 합니다. 예를 들어,: ILB의 my-ase-name.appserviceenvironment.net 및 ELB의 my-ase-name.p.azurewebsites.net은 64자 이하여야 합니다. 문자 제한을 충족하지 못하는 경우 수동으로 마이그레이션해야 합니다. 특히 App Service Environment 이름에 대한 문자 제한은 다음과 같습니다.
    • ILB App Service Environment 이름 문자 제한: 36자
    • ELB App Service Environment 이름 문자 제한: 42자

App Service 플랫폼은 App Service Environment를 검토하여 병렬 마이그레이션 지원을 확인합니다. 시나리오가 모든 유효성 검사를 통과하지 못하는 경우 지금은 병렬 마이그레이션 기능을 사용하여 마이그레이션할 수 없습니다. 환경이 비정상이거나 일시 중단된 상태인 경우 필요한 업데이트를 수행할 때까지 마이그레이션할 수 없습니다.

참고 항목

App Service Environment v3은 IP SSL을 지원하지 않습니다. IP SSL을 사용하는 경우 App Service Environment v3으로 마이그레이션하기 전에 모든 IP SSL 바인딩을 제거해야 합니다. 마이그레이션 기능은 모든 IP SSL 바인딩이 제거되면 환경을 지원합니다.

문제 해결

App Service Environment가 유효성 검사를 통과하지 못하거나 잘못된 순서로 마이그레이션 단계를 수행하려고 하면 다음 오류 메시지 중 하나가 표시됩니다.

오류 메시지 설명 권장
마이그레이션은 ARM VNET의 ASE에서만 호출할 수 있으며 이 ASE는 클래식 VNET에 있습니다. 클래식 가상 네트워크의 App Service Environment는 병렬 마이그레이션 기능을 사용하여 마이그레이션할 수 없습니다. 수동 마이그레이션 옵션 중 하나를 사용하여 마이그레이션합니다.
ASEv3 마이그레이션은 아직 준비되지 않았습니다. 기본 인프라는 App Service Environment v3을 지원할 준비가 되지 않았습니다. 즉시 마이그레이션하려는 경우 수동 마이그레이션 옵션 중 하나를 사용하여 마이그레이션합니다. 그렇지 않은 경우 해당 지역에서 병렬 마이그레이션 기능을 사용할 수 있을 때까지 기다리세요.
이 ASE에 대해 영역 중복을 사용하도록 설정할 수 없습니다. App Service Environment가 있는 지역이 영역 중복을 지원하지 않습니다. 영역 중복을 사용하도록 설정해야 하는 경우 수동 마이그레이션 옵션 중 하나를 사용하여 영역 중복을 지원하는 지역으로 마이그레이션하세요.
현재 이 사용자 지정 DNS 접미사 ASE에서는 마이그레이션을 호출할 수 없습니다. 사용자 지정 도메인 접미사 마이그레이션이 차단됩니다. 지원 사례를 열어 지원을 통해 이슈를 해결합니다.
현재 영역 중복 ASE 마이그레이션을 호출할 수 없습니다. 영역 중복 App Service Environment 마이그레이션이 차단됩니다. 지원 사례를 열어 지원을 통해 이슈를 해결합니다.
영역 고정된 ASEv2에서는 마이그레이션을 호출할 수 없습니다. 현재 병렬 마이그레이션 기능을 사용하여 영역이 고정된 App Service Environment v2를 마이그레이션할 수 없습니다. 즉시 마이그레이션하려는 경우 수동 마이그레이션 옵션 중 하나를 사용하여 마이그레이션합니다.
기존 되돌리기 마이그레이션 작업을 진행 중입니다. 나중에 다시 시도하세요. 이전 마이그레이션 시도를 되돌리고 있습니다. 마이그레이션을 다시 시작하려면 진행 중인 되돌리기가 완료될 때까지 기다리세요.
Properties.VirtualNetwork.Id는 서브넷 리소스 ID를 포함해야 합니다. App Service Environment v3 배치를 위한 새 서브넷을 제공하지 않고 마이그레이션을 시도할 경우 이 오류가 발생합니다. 지침을 따르고 단계를 완료하여 App Service Environment v3에 사용할 서브넷을 식별하세요.
가동 중지 시간이 없는 마이그레이션의 현재 <previous phase> 단계를 <requested phase>(으)로 이동할 수 없습니다. 이 오류는 잘못된 순서로 마이그레이션 단계를 수행하려고 할 경우 표시됩니다. 마이그레이션 단계를 순서대로 수행해야 합니다.
하이브리드 상태에서 ASE에서 되돌리기 작업을 시작하지 못했습니다. 나중에 다시 시도하세요. 마이그레이션을 되돌리려 시도했으나 문제가 발생할 경우 이 오류가 발생합니다. 이 오류는 이전 환경이나 새 환경에 영향을 주지 않습니다. 지원 사례를 열어 지원을 통해 이슈를 해결합니다.
이 ASE는 가동 중지 시간 없이 마이그레이션할 수 없습니다. App Service Environment v1에서 병렬 마이그레이션 기능을 사용하려고 할 경우 이 오류가 발생합니다. 병렬 마이그레이션 기능은 App Service Environment v1을 지원하지 않습니다. 현재 위치 마이그레이션 기능 또는 수동 마이그레이션 옵션 중 하나를 사용하여 마이그레이션하세요.
마이그레이션을 이 구독에 사용할 수 없습니다. 이 App Service Environment를 마이그레이션하려면 고객 지원팀이 필요합니다. 지원 사례를 열어 지원을 통해 이슈를 해결합니다.
사전 마이그레이션하는 동안 만든 IP 주소가 영역 중복이 아니므로 영역 중복 마이그레이션을 호출할 수 없습니다. 이 오류는 영역 중복 마이그레이션을 시도하지만 IP 생성 단계에서 생성된 IP가 영역 중복으로 만들어지지 않은 경우에 나타납니다. 플랫폼은 백 엔드 복원력을 보장하기 위해 모든 IP 영역을 중복하려고 합니다. 영역 중복을 사용하도록 설정해야 하는 경우 지원 사례를 열어 지원을 받으세요. 엔지니어는 마이그레이션을 되돌리고 IP를 만드는 또 다른 시도를 허용합니다. 그렇지 않으면 영역 중복을 사용하지 않고 마이그레이션할 수 있습니다.
사이트에서 IP SSL을 사용하면 마이그레이션을 호출할 수 없습니다. IP SSL을 사용하는 사이트가 있는 App Service Environment는 병렬 마이그레이션 기능을 사용하여 마이그레이션할 수 없습니다. App Service Environment의 모든 앱에서 IP SSL을 제거하여 마이그레이션 기능을 사용하도록 설정하세요.
동일한 서브넷 내에서 마이그레이션할 수 없습니다. App Service Environment v3 배치에 현재 환경과 동일한 서브넷을 지정하면 이 오류가 발생합니다. App Service Environment v3에 대해 다른 서브넷을 지정해야 합니다. 동일한 서브넷을 사용해야 하는 경우 현재 위치 마이그레이션 기능을 사용하여 마이그레이션하세요.
구독에 App Service Environment가 너무 많습니다. 더 만들기 전에 일부를 제거하세요. 구독에 대한 App Service Environment 할당량이 충족됩니다. 불필요한 환경을 제거하거나 고객 지원팀에 문의하여 옵션을 검토합니다.
액티브 업그레이드가 완료될 때까지 이 ASE에서 마이그레이션을 호출할 수 없습니다. 플랫폼 업그레이드 중에는 App Service Environment를 마이그레이션할 수 없습니다. Azure 포털에서 업그레이드 기본 설정을 지정할 수 있습니다. 업그레이드는 App Service Environment의 크기(인스턴스/코어 수)에 따라 8~12시간 이상 걸립니다. 업그레이드가 완료될 때까지 기다렸다가 마이그레이션합니다.
App Service Environment 관리 작업이 진행 중입니다. App Service Environment에서 관리 작업을 진행하고 있습니다. 이러한 작업에는 배포 또는 업그레이드와 같은 활동이 포함될 수 있습니다. 마이그레이션은 이러한 작업이 완료될 때까지 차단됩니다. 이러한 작업이 완료되면 마이그레이션할 수 있습니다.
현재 InteralLoadBalancingMode는 지원되지 않습니다. 현재 InternalLoadBalancingMode를 특정 값으로 설정한 App Service Environment를 마이그레이션 기능으로 마이그레이션할 수 없습니다. Microsoft 팀은 InternalLoadBalancingMode를 수동으로 변경해야 합니다. 지원 사례를 열어 지원을 통해 이슈를 해결합니다. InternalLoadBalancingMode에 대한 업데이트를 요청합니다.
IP 주소가 생성되기 전에 전체 마이그레이션을 호출할 수 없습니다. 이 오류는 마이그레이션 전 단계를 완료하기 전에 마이그레이션을 시도한 경우에 표시됩니다. 마이그레이션을 시도하기 전에 모든 마이그레이션 전 단계를 완료해야 합니다. 마이그레이션에 대한 단계별 가이드를 참조하세요.
AseV3 사용자 지정 Dns 접미사 구성이 구성되지 않은 상태에서는 사용자 지정 dns 접미사가 설정된 Ase에서 전체 마이그레이션을 호출할 수 없습니다. 기존 App Service Environment에서 사용자 지정 도메인 접미사를 사용합니다. 마이그레이션 프로세스 중에 App Service Environment v3에 대한 사용자 지정 도메인 접미사를 구성해야 합니다. 사용자 지정 도메인 접미사를 구성하세요. 사용자 지정 도메인 접미사를 더 이상 사용하지 않으려면 마이그레이션이 완료된 후에 제거하면 됩니다.

병렬 마이그레이션 기능을 사용하는 마이그레이션 프로세스 개요

병렬 마이그레이션은 순서대로 따라야 하는 일련의 단계로 구성됩니다. 단계의 하위 집합에 관한 핵심 요소가 제공됩니다. 이러한 단계 중에 무엇이 발생하는 지와 환경 및 앱에 관해 어떤 영향이 있는지를 이해하는 것이 중요합니다. 다음의 내용을 검토하고 마이그레이션할 준비가 되면 단계별 가이드를 따릅니다.

App Service Environment에 병렬 마이그레이션 기능을 사용하여 마이그레이션이 지원되는지 확인

플랫폼에서 병렬 마이그레이션 기능을 사용하여 App Service Environment를 마이그레이션할 수 있는지 확인합니다. App Service Environment가 모든 유효성 검사를 통과하지 못하는 경우 현재 병렬 마이그레이션 기능을 사용하여 마이그레이션할 수 없습니다. 유효성 검사 실패의 가능한 원인에 관한 자세한 내용은 문제 해결 섹션을 참조하세요. 환경이 비정상이거나 일시 중단된 상태인 경우 필요한 업데이트를 수행할 때까지 마이그레이션할 수 없습니다. 병렬 마이그레이션 기능을 사용하여 마이그레이션할 수 없는 경우 수동 마이그레이션 옵션을 참조하세요.

또한 유효성 검사는 App Service Environment가 마이그레이션에 필요한 최소 빌드를 사용하는지 확인합니다. 이 빌드는 루틴 플랫폼 업그레이드/유지 관리 주기를 통해 배포되는 표준 빌드에 비해 새 것일 수 있습니다. 최소 빌드는 최신 버그 수정과 개선 사항을 사용할 수 있도록 주기적으로 업데이트됩니다. App Service Environment가 최소 빌드를 사용하지 않는 경우 직접 업그레이드를 시작해야 합니다. 이 업그레이드는 App Service Environment에 영향을 주지 않는 표준 프로세스이지만, 업그레이드가 진행되는 동안에는 App Service Environment의 크기를 조정하거나 변경할 수 없습니다. 업그레이드가 완료될 때까지 마이그레이션할 수 없습니다. 업그레이드를 완료하는 데 8~12시간이 소요되거나 환경 크기에 따라 더 오래 걸릴 수 있습니다. 특정 기간에 마이그레이션을 계획하는 경우 계획된 마이그레이션 시간 24~48시간 전에 유효성 검사를 실행하여 필요한 경우 업그레이드할 시간이 있는지 확인해야 합니다.

새 App Service Environment v3에 대한 서브넷 선택 및 준비

플랫폼에서 기존 App Service Environment와 다른 서브넷에 새 App Service Environment v3을 만듭니다. 다음 요구 사항을 충족하는 서브넷을 선택해야 합니다.

  • 서브넷은 기존 App Service Environment와 동일한 가상 네트워크와 지역에 있어야 합니다.
    • 가상 네트워크에 사용 가능한 서브넷이 없는 경우 만들어야 합니다. 새 서브넷을 만들려면 가상 네트워크의 주소 공간을 늘려야 할 수도 있습니다. 자세한 내용은 가상 네트워크 만들기를 참조하세요.
  • 서브넷은 기존 App Service Environment가 있는 서브넷과 양방향으로 통신할 수 있어야 합니다. 서브넷 간의 통신을 방해하는 네트워크 보안 그룹 또는 기타 네트워크 구성이 없는지 확인하세요.
  • 서브넷에는 Microsoft.Web/hostingEnvironments의 단일 위임이 있어야 합니다.
  • 서브넷에는 새 App Service Environment v3을 지원하기에 충분한 IP 주소가 있어야 합니다. 필요한 IP 주소 수는 새 App Service Environment v3에 사용하려는 인스턴스 수에 따라 달라집니다. 더 상세한 정보는 앱 서비스 환경 v3 네트워킹을 참고하세요.
  • 서브넷에는 잠금이 적용되지 않아야 합니다. 잠금이 있는 경우 마이그레이션 전에 제거해야 합니다. 마이그레이션이 완료되면 필요한 경우 잠금을 읽을 수 있습니다. 잠금 및 잠금 상속에 대한 자세한 내용은 인프라 보호를 위한 리소스 잠금을 참조하세요.
  • 마이그레이션 또는 관련 작업을 차단하는 Azure 정책이 없어야 합니다. App Service Environment 만들기 또는 서브넷 수정을 차단하는 정책이 있는 경우 마이그레이션 전에 제거해야 합니다. 마이그레이션이 완료되면 필요한 경우 정책을 다시 추가할 수 있습니다. Azure Policy에 대한 자세한 내용은 Azure Policy 개요를 참조하세요.

새 App Service Environment v3에 대한 아웃바운드 IP 주소 생성

플랫폼에서 새 아웃바운드 IP 주소를 만듭니다. 이 IP가 생성되는 동안에는 기존의 앱 서비스 환경을 사용한 활동이 중단되지 않지만, 기존 환경을 확장하거나 변경할 수는 없습니다. 해당 프로세스는 완료되기까지 대략 15분 정도 소요됩니다.

완료되면 향후 App Service Environment v3에서 사용할 새 아웃바운드 IP가 생성됩니다. 이러한 새 IP는 기존 환경에 영향을 주지 않습니다.

마이그레이션이 완료되면 새 인바운드 IP 주소가 제공되지만, DNS를 변경하기 전에 고객 트래픽을 새 App Service Environment v3으로 리디렉션하세요. 마이그레이션 단계 중에 생성되는 App Service Environment v3 리소스에 대한 종속성이 있으므로 프로세스의 이 시점에서는 인바운드 IP를 받지 못합니다. 트래픽을 새 App Service Environment v3으로 리디렉션하기 전에 새 인바운드 IP에 종속된 리소스를 업데이트할 수 있습니다.

새 아웃바운드 IP로 종속 리소스 업데이트

실제 마이그레이션을 시작하기 전에 새 아웃바운드 IP가 생성되고 제공됩니다. 인터넷 공용 주소에 대한 새로운 기본 아웃바운드가 제공되므로 마이그레이션을 완료하기 전에 외부 방화벽, DNS 라우팅, 네트워크 보안 그룹 및 이러한 IP를 사용하는 기타 리소스를 조정할 수 있습니다. 새 App Service Environment v3와 연결된 IP 주소 변경의 영향을 받는 모든 리소스를 업데이트하는 것은 사용자의 책임입니다. 필요한 모든 업데이트를 수행할 때까지 다음 단계로 이동하지 마세요. 아웃바운드 IP에 대한 종속성이 있고 필요한 모든 업데이트를 수행하지 못한 경우 마이그레이션 단계 도중 및 이후에 가동 중지 시간이 발생할 수 있습니다. 마이그레이션이 시작되면 트래픽이 여전히 App Service Environment v2 프런트 엔드로 이동하더라도 기본 컴퓨팅은 새 서브넷의 새 App Service Environment v3이기 때문입니다.

또한 이 단계는 현재 포트 80을 사용하는 Azure Load Balancer 상태 프로브의 포트 변경을 포함하여 App Service Environment v3으로 이동할 때 인바운드 및 아웃바운드 네트워크 종속성 변경을 검토하는 데 적합합니다.

App Service Environment 서브넷 위임

App Service Environment v3에는 Microsoft.Web/hostingEnvironments의 단일 위임이 있는 서브넷이 필요합니다. App Service Environment의 서브넷을 위임하지 않았거나 다른 리소스에 위임할 경우 마이그레이션이 성공할 수 없습니다. 새 App Service Environment v3에 대해 선택한 서브넷에 Microsoft.Web/hostingEnvironments의 단일 위임이 있는지 확인하세요.

인스턴스 크기 변경 승인

App Service 요금제는 마이그레이션의 일부로 해당 격리 v2 SKU를 사용하여 생성됩니다. 예를 들어 I2 요금제는 I2v2에 해당합니다. 격리 v2 계층에는 해당 인스턴스 크기당 더 많은 메모리와 CPU가 있으므로 마이그레이션 후에 앱이 과도하게 프로비전될 수 있습니다. 마이그레이션이 완료되면 필요에 따라 환경 크기를 조정할 수 있습니다. 자세한 내용은 SKU 세부 정보를 검토하세요.

리소스에 잠금이 없는지 확인

가상 네트워크 잠금은 마이그레이션 중에 플랫폼 작업을 차단합니다. 가상 네트워크에 잠금이 있는 경우 마이그레이션하기 전에 잠금을 제거해야 합니다. 마이그레이션이 완료되면 필요한 경우 잠금을 읽을 수 있습니다. 잠금은 구독, 리소스 그룹 및 리소스의 세 가지 다른 범위에 존재할 수 있습니다. 부모 범위에서 잠금을 적용하면 해당 범위 내 모든 리소스가 동일한 잠금을 상속합니다. 구독, 리소스 그룹 또는 리소스 범위에 적용된 잠금이 있는 경우 마이그레이션 전에 제거해야 합니다. 잠금 및 잠금 상속에 대한 자세한 내용은 인프라 보호를 위한 리소스 잠금을 참조하세요.

마이그레이션을 차단하는 Azure 정책이 없는지 확인

Azure Policy를 사용하여 특정 보안 주체에 대한 리소스 만들기와 수정을 거부할 수 있습니다. App Service Environment 만들기 또는 서브넷 수정을 차단하는 정책이 있으면 마이그레이션하기 전에 정책을 제거해야 합니다. 마이그레이션이 완료되면 필요한 경우 정책을 읽을 수 있습니다. Azure Policy에 대한 자세한 내용은 Azure Policy 개요를 참조하세요.

사용자 지정 도메인 접미사 추가(선택 사항)

기존 App Service Environment에서 사용자 지정 도메인 접미사를 사용하는 경우 새 App Service Environment v3에 대한 사용자 지정 도메인 접미사를 구성해야 합니다. App Service Environment v3의 사용자 지정 도메인 접미사는 App Service Environment v2와 다르게 구현됩니다. Azure Key Vault에 저장해야 하는 사용자 지정 도메인 이름과 관리 ID, 인증서를 제공해야 합니다. 요구 사항, 단계별 지침 및 모범 사례를 포함하여 App Service Environment v3의 사용자 지정 도메인 접미사에 대한 자세한 내용은 App Service Environment의 사용자 지정 도메인 접미사 구성을 참조하세요. App Service Environment v2에 사용자 지정 도메인 접미사가 있는 경우 더 이상 사용하지 않으려는 경우에도 새 환경에 대한 사용자 지정 도메인 접미사를 구성해야 합니다. 마이그레이션이 완료되면 필요한 경우 사용자 지정 도메인 접미사 구성을 제거할 수 있습니다.

마이그레이션에 사용자 지정 도메인 접미사가 포함되어 있으면 App Service Environment v3의 경우 App Service Environment v1/v2용 포털 개요 페이지의 Essentials 섹션에 사용자 지정 도메인이 표시되지 않습니다. 대신 App Service Environment v3의 경우 사용자 지정 도메인 접미사가 올바르게 구성되어 있는지 확인할 수 있는 사용자 지정 도메인 접미사 페이지로 이동합니다. 또한 App Service Environment v2에서 사용자 지정 도메인 접미사가 있는 경우 기본 호스트 이름에는 사용자 지정 도메인 접미사가 포함되며 형식은 APP-NAME.internal.contoso.com입니다. App Service Environment v3에서 기본 호스트 이름은 항상 기본 도메인 접미사를 사용하며 APP-NAME.ASE-NAME.appserviceenvironment.net 형식입니다. 이러한 차이점은 사용자 지정 도메인 접미사를 추가할 때 App Service Environment v3에서 기본 도메인 접미사를 유지하기 때문입니다. App Service Environment v2에는 도메인 접미사가 하나만 있습니다.

App Service Environment v3로 마이그레이션

이전 단계를 완료한 뒤, 최대한 빨리 마이그레이션을 계속해야 합니다.

마이그레이션 중에는 애플리케이션 가동 중지 시간이 없지만, IP 생성 단계에서와 같이 이 프로세스 중에는 기존 App Service Environment의 크기를 조정하거나 수정하거나 앱을 배포할 수 없습니다.

Important

마이그레이션 중에는 크기 조정이 차단되므로 마이그레이션을 시작하기 전에 환경을 원하는 크기로 확장해야 합니다. 자동 크기 조정을 사용하도록 설정한 경우 마이그레이션이 시작되기 전에 크기 조정 이벤트가 발생하면 마이그레이션을 시작하기 전에 크기 조정 이벤트가 완료될 때까지 기다려야 합니다. 이 문제를 방지하려면 마이그레이션을 시작하기 전에 자동 크기 조정을 사용하지 않도록 설정해야 합니다. 마이그레이션 후 환경을 확장해야 하는 경우 마이그레이션이 완료되면 이 작업을 수행할 수 있습니다.

또한 이 단계에서는 새 App Service Environment v3에 영역 중복을 사용하도록 설정할지 여부를 결정합니다. App Service Environment v3이 영역 중복성을 지원하는 지역에 있는 한 영역 중복을 사용하도록 설정할 수 있습니다.

App Service Environment v2에서 v3으로 병렬 마이그레이션하려면 최대 3~6시간의 서비스 기간이 필요합니다. 마이그레이션하는 동안 크기 조정 및 환경 구성이 차단되고 다음의 이벤트가 발생합니다.

  • 선택한 서브넷에 새 App Service Environment v3이 생성됩니다.
  • 새 App Service 요금제가 해당 격리된 v2 계층을 사용하여 새 App Service Environment v3에 생성됩니다.
  • 앱이 새 App Service Environment v3에 생성됩니다.
  • 앱의 기본 컴퓨팅/작업자는 새로운 App Service Environment v3으로 이동되었습니다. 즉, 이제 앱이 App Service Environment v3에서 실행되고 있음을 의미합니다. 그러나 App Service Environment v2 프런트 엔드는 기본적으로 계속 실행되고 트래픽을 제공합니다. 이전 인바운드 IP 주소는 계속 사용되지만 새 아웃바운드 IP는 사용 중입니다. 또한 새로운 App Service Environment v3 프런트 엔드가 만들어져 트래픽을 처리할 준비가 되었습니다.
    • ILB App Service Environment의 경우 새 인바운드 IP 주소로 프라이빗 DNS 영역을 업데이트할 때까지 App Service Environment v3 프런트 엔드가 사용되지 않습니다.
    • ELB App Service Environment의 경우 마이그레이션 프로세스는 마이그레이션의 마지막 단계를 완료할 때까지 App Service Environment v3 프런트 엔드로 트래픽을 리디렉션하지 않습니다.

이 단계가 완료되어도 애플리케이션 트래픽이 계속 이전 App Service Environment v2 프런트 엔드와 할당된 인바운드 IP로 이동합니다. 그러나 앱은 실제로 새로운 App Service Environment v3의 작업자에서 실행되고 있습니다.

참고 항목

알려진 버그로 인해 하이브리드 배포 단계 중에 웹 작업이 시작되지 않을 수 있습니다. 웹 작업을 사용하는 경우 이 버그로 인해 앱 문제/가동 중지 시간이 발생할 수 있습니다. 이 문제에 대해 질문이나 우려 사항이 있는 경우 지원 사례를 개설합니다.

새 App Service Environment v3의 인바운드 IP 주소를 받아 종속 리소스 업데이트

새 인바운드 IP 주소가 제공되므로 Traffic Manager 또는 Azure Front Door와 같은 서비스를 사용하여 새 엔드포인트를 설정하고 프라이빗 DNS 영역을 업데이트할 수 있습니다. 이러한 변경을 수행할 때까지 다음 단계로 이동하지 마세요. 종속 리소스를 새 인바운드 IP로 업데이트하지 않으면 가동 중지 시간이 생깁니다. 새 App Service Environment v3과 연결된 IP 주소 변경의 영향을 받는 모든 리소스를 업데이트하는 것은 사용자의 책임입니다. 필요한 모든 업데이트를 수행할 때까지 다음 단계로 이동하지 마세요.

고객 트래픽 리디렉션, App Service Environment v3 유효성 검사 및 마이그레이션 완료

마지막 단계는 트래픽을 새로운 App Service Environment v3 프런트 엔드로 리디렉션하고 마이그레이션을 완료하는 것입니다. 이 단계를 수행하기 전에 새 App Service Environment v3을 검토하고 필요한 테스트를 수행하여 의도한 대로 작동하는지 확인해야 합니다. 기본적으로 트래픽은 App Service Environment v2 프런트 엔드로 이동합니다. ILB App Service Environment v3을 사용하는 경우 새 인바운드 IP 주소로 프라이빗 DNS 영역을 업데이트하여 App Service Environment v3 프런트 엔드를 테스트할 수 있습니다. ELB App Service Environment v3을 사용하는 경우 테스트 프로세스는 특정 네트워크 구성에 따라 다릅니다. ELB 환경을 테스트하는 간단한 방법 중 하나는 새 App Service Environment v3 인바운드 IP 주소를 사용하도록 호스트 파일을 업데이트하는 것입니다. 개별 앱에 사용자 지정 도메인이 할당되어 있는 경우 새 인바운드 IP를 가리키도록 DNS를 업데이트할 수도 있습니다. 이 변경 내용을 테스트하면 이전 App Service Environment가 삭제된 마이그레이션의 마지막 단계를 시작하기 전에 App Service Environment v3의 유효성을 완전히 검사할 수 있습니다.

트래픽을 리디렉션할 준비가 되면 마이그레이션의 마지막 단계를 완료할 수 있습니다. 이 단계에서는 새 App Service Environment v3의 부하 분산 장치 IP 주소와 마이그레이션 중에 생성된 프런트 엔드를 가리키도록 내부/플랫폼 DNS 레코드를 업데이트합니다. 변경 내용은 몇 분 내에 적용됩니다. 새 인바운드 IP 주소를 가리키도록 DNS 레코드를 업데이트하는 것은 사용자의 책임입니다. 문제가 발생하거나 애플리케이션 가동 중지 시간이 발생하는 경우 캐시 및 TTL 설정을 확인합니다. 또한 이 단계에서는 이전 App Service Environment를 종료하고 삭제합니다. 이제 새 App Service Environment v3이 프로덕션 환경이 되었습니다.

Important

이 플랫폼은 가동 중지 시간 없는 마이그레이션 환경을 보장합니다. 그러나 DNS 설정으로 인해 DNS 변경 단계 중에 가동 중지 시간이 발생할 수 있습니다. 이는 DNS 변경 후에도 트래픽이 이전 App Service Environment로 계속 전달될 수 있으므로 TTL 및 캐시 설정과 관련된 문제로 인해 발생할 수 있습니다. DNS 설정을 검토하고 TTL이 낮은지, DNS 공급자가 빠른 전파를 지원하는지 확인해야 합니다. TTL이 높으면 DNS 변경 단계 중에 가동 중지 시간이 발생할 수 있습니다.

참고 항목

이 단계를 가능한 한 빨리 완료해야 합니다. App Service Environment가 하이브리드 상태에 있으면 플랫폼 업그레이드 및 보안 패치를 받을 수 없으므로 불안정성과 보안 위협에 더 취약해집니다.

14일 이내에 이 단계를 완료해야 합니다. 14일이 지나면 플랫폼이 자동으로 마이그레이션을 완료하고 이전 환경을 삭제합니다. 더 많은 시간이 필요한 경우 지원 사례를 열어 옵션에 대해 논의할 수 있습니다..

새 App Service Environment v3에서 문제가 발견되면 명령을 실행하여 고객 트래픽을 리디렉션하지 마세요. 또한 이 명령은 App Service Environment v2 삭제를 시작합니다. 문제가 발견되면 지원팀에 문의하세요.

병렬 마이그레이션 기능 사용

필수 조건

App Service Environment v3으로 마이그레이션하면 애플리케이션에 어떤 영향을 미치는지 이해해야 합니다. 마이그레이션 프로세스 전체를 검토하여 프로세스 타임라인과 참여가 필요한 위치와 시기를 파악합니다. 또한 몇 가지 질문에 대답할 수 있는 FAQ를 검토합니다.

가상 네트워크, 리소스 그룹, 리소스 또는 구독에 잠금이 없는지 확인합니다. 잠금은 마이그레이션 중에 플랫폼 작업을 차단합니다.

서브넷 수정 및 Azure App Service 리소스 생성을 포함하여 마이그레이션에 필요한 작업을 차단하는 Azure 정책이 없는지 확인합니다. 리소스 수정 및 생성을 차단하는 정책으로 인해 마이그레이션이 중단되거나 실패할 수 있습니다.

App Service Environment v3는 가상 네트워크의 다른 서브넷에 있으므로 App Service Environment v3 대한 서브넷 요구 사항을 충족하는 사용 가능한 서브넷이 가상 네트워크에 있는지 확인해야 합니다. 선택한 서브넷은 기존 App Service Environment가 있는 서브넷과 통신할 수도 있어야 합니다. 두 서브넷 간의 통신을 차단하는 것이 없는지 확인합니다. 사용 가능한 서브넷이 없는 경우 마이그레이션하기 전에 만들어야 합니다. 새 서브넷을 만들려면 가상 네트워크 주소 공간을 늘리는 작업이 포함될 수 있습니다. 자세한 내용은 가상 네트워크 및 서브넷 만들기를 참조하세요.

마이그레이션 중에는 크기 조정이 차단되므로 마이그레이션을 시작하기 전에 환경을 원하는 크기로 확장해야 합니다. 마이그레이션 후 환경을 확장해야 하는 경우 마이그레이션이 완료되면 이 작업을 수행할 수 있습니다. 자동 크기 조정을 사용하도록 설정한 경우 마이그레이션이 시작되기 전에 크기 조정 이벤트가 발생하면 크기 조정 이벤트가 완료될 때까지 마이그레이션이 차단됩니다. 이 문제를 방지하려면 마이그레이션을 시작하기 전에 자동 크기 조정을 사용하지 않도록 설정해야 합니다.

Azure REST API 호출을 수행하므로 여기에 설명된 단계를 순서대로 그리고 기록된 대로 수행합니다. Azure CLI를 사용하여 이러한 API 호출을 수행하는 것이 좋습니다. 다른 방법에 대한 자세한 내용은 Azure REST API 참조를 참조하세요.

이 가이드에서는 Azure CLI를 설치하거나 Azure Cloud Shell을 사용하고 Bash 셸을 사용할 수 있습니다.

참고 항목

Bash 셸을 사용하여 이 가이드에 제공된 명령을 실행하는 것이 좋습니다. 명령은 PowerShell 규칙 및 이스케이프 문자와 호환되지 않을 수 있습니다.

Important

마이그레이션하는 동안 Azure Portal은 App Service Environment 및 앱에 대한 잘못된 정보를 표시할 수 있습니다. 병렬 마이그레이션 기능을 사용할 수 없으므로 Azure Portal에서 마이그레이션 환경으로 이동하지 마세요. Azure CLI를 사용하여 마이그레이션 상태를 확인하는 것이 좋습니다. 마이그레이션 상태 또는 앱에 대한 질문이 있는 경우 지원에 문의하세요.

1. 새 App Service Environment v3에 대한 서브넷 선택

App Service Environment v3 대한 서브넷 요구 사항을 충족하는 App Service Environment v3에서 서브넷을 선택합니다. 선택한 서브넷의 이름을 확인합니다. 이 서브넷은 기존 App Service Environment의 서브넷과 달라야 합니다.

2. App Service Environment ID 가져오기

다음 명령을 실행하여 App Service Environment ID를 가져와 환경 변수로 저장합니다. 이름과 리소스 그룹의 자리 표시자를 마이그레이션할 App Service Environment의 값으로 바꿉니다. 가상 네트워크와 App Service Environment가 같은 리소스 그룹에 있으면 ASE_RGVNET_RG는 동일합니다.

ASE_NAME=<Your-App-Service-Environment-name>
ASE_RG=<Your-ASE-Resource-Group>
VNET_RG=<Your-VNet-Resource-Group>
ASE_ID=$(az appservice ase show --name $ASE_NAME --resource-group $ASE_RG --query id --output tsv)

3. 마이그레이션이 지원되는지 확인

다음 명령은 App Service Environment가 마이그레이션을 지원하는지 여부를 확인합니다. 또한 이 명령은 App Service Environment가 마이그레이션을 위해 지원되는 빌드 버전에 있는지 확인합니다. App Service Environment가 지원되는 빌드 버전에 없는 경우 직접 업그레이드를 시작해야 합니다. 사전 업그레이드에 대한 자세한 내용은 App Service Environment에 대한 병렬 마이그레이션 기능을 사용하여 마이그레이션이 지원되는지 유효성 검사를 참조하세요.

az rest --method post --uri "${ASE_ID}/NoDowntimeMigrate?phase=Validation&api-version=2022-03-01"

오류가 없으면 마이그레이션이 지원되며 다음 단계를 계속할 수 있습니다.

App Service Environment를 지원되는 빌드 버전으로 업그레이드하기 위해 사용 중인 환경 규모에 따라 8~12시간 이상 걸릴 수 있는 업그레이드를 시작해야 하는 경우 다음 명령을 실행합니다. 유효성 검사 단계에 실패하고 App Service Environment를 업그레이드하라는 지시가 있는 경우에만 이 명령을 실행합니다.

az rest --method post --uri "${ASE_ID}/NoDowntimeMigrate?phase=PreMigrationUpgrade&api-version=2022-03-01"

4. 새 App Service Environment v3에 대한 아웃바운드 IP 주소 생성

다음 명령을 실행하여 새 아웃바운드 IP 주소를 만듭니다. 이 단계는 완료하는 데 15분 정도 걸립니다. 이 시간 동안 기존 App Service Environment를 확장하거나 변경하지 마세요.

az rest --method post --uri "${ASE_ID}/NoDowntimeMigrate?phase=PreMigration&api-version=2022-03-01"

다음 명령을 실행하여 이 단계의 상태를 확인합니다.

az rest --method get --uri "${ASE_ID}?api-version=2022-03-01" --query properties.status

단계가 진행 중인 경우 Migrating 상태가 표시됩니다. Ready 상태가 표시되면 다음 명령을 실행하여 새 아웃바운드 IP를 봅니다. 새 IP가 즉시 표시되지 않으면 몇 분 정도 기다렸다가 다시 시도합니다.

az rest --method get --uri "${ASE_ID}/configurations/networking?api-version=2022-03-01" --query properties.windowsOutboundIpAddresses

5. 새 아웃바운드 IP로 종속 리소스 업데이트

새 아웃바운드 IP를 사용하여 마이그레이션이 시작된 후 새 환경이 의도한 대로 작동하도록 리소스 또는 네트워킹 구성 요소를 업데이트합니다. 필요한 업데이트를 수행하는 것은 사용자의 책임입니다. 마이그레이션 단계 중에 App Service Environment v3이 만들어지면 새 아웃바운드 IP가 사용됩니다. 예를 들어, 사용자 지정 도메인 접미사와 Azure Key Vault가 있고 방화벽으로 액세스 제한을 관리하는 경우 새 아웃바운드 IP만 허용하거나 새 서브넷 전체를 허용하도록 Azure Key Vault의 방화벽을 업데이트해야 합니다.

6. App Service Environment 서브넷 위임

App Service Environment v3에는 Microsoft.Web/hostingEnvironments의 단일 위임이 있는 서브넷이 필요합니다. 이전 버전에서는 이 위임이 필요하지 않았습니다. 마이그레이션하기 전에 서브넷이 올바르게 위임되었는지 확인하고 위임을 업데이트해야 합니다(필요한 경우). 다음 명령을 실행하거나 Azure Portal의 서브넷으로 이동하여 위임을 업데이트할 수 있습니다.

az network vnet subnet update --resource-group $VNET_RG --name <subnet-name> --vnet-name <vnet-name> --delegations Microsoft.Web/hostingEnvironments

7. 가상 네트워크에 잠금이 없는지 확인

가상 네트워크 잠금은 마이그레이션 중에 플랫폼 작업을 차단합니다. 가상 네트워크에 잠금이 있는 경우 마이그레이션하기 전에 잠금을 제거해야 합니다. 필요한 경우 마이그레이션이 완료된 후 잠금을 다시 추가할 수 있습니다.

가상 네트워크에 잠금이 있는지 확인하려면 다음 명령을 사용합니다.

az lock list --resource-group $VNET_RG --resource <vnet-name> --resource-type Microsoft.Network/virtualNetworks

다음 명령을 사용하여 기존 잠금을 삭제합니다.

az lock delete --resource-group $VNET_RG --name <lock-name> --resource <vnet-name> --resource-type Microsoft.Network/virtualNetworks

구독 또는 리소스 그룹에 잠금이 있는지 확인하는 관련 명령은 잠금에 대한 Azure CLI 참조를 참조하세요.

8. 구성 준비

기존 App Service Environment에서 사용자 지정 도메인 접미사를 사용하는 경우 마이그레이션 프로세스 중에 새 App Service Environment v3 리소스의 사용자 지정 도메인 접미사를 구성해야 합니다. 사용자 지정 도메인 접미사를 구성하지 않고 현재의 사용자 지정 도메인 접미사를 사용하면 마이그레이션이 실패합니다. 요구 사항, 단계별 지침 및 모범 사례를 포함하여 App Service Environment v3의 사용자 지정 도메인 접미사에 대한 자세한 내용은 App Service Environment에 대한 사용자 지정 도메인 접미사를 참조하세요.

참고 항목

사용자 지정 도메인 접미사를 구성하는 경우 Azure Key Vault에 대한 네트워크 권한을 추가할 때 키 자격 증명 모음이 App Service Environment v3의 새 서브넷에서 액세스할 수 있도록 허용해야 합니다. 프라이빗 엔드포인트를 사용하여 키 자격 증명 모음에 액세스하는 경우 새 서브넷을 사용하여 프라이빗 액세스를 올바르게 구성했는지 확인합니다. 마이그레이션 전에 이 액세스를 올바르게 설정하지 못하면 가동 중지 시간이 발생합니다.

기존 환경이 영역 중복을 지원하는 지역에 있으면 새 App Service Environment v3 영역을 중복으로 만들 수 있습니다. zoneRedundant 속성을 true(으)로 설정하여 영역 중복성을 구성할 수 있습니다. 영역 중복은 선택적 구성입니다. 새 App Service Environment v3을 만드는 동안에만 이 구성을 설정할 수 있으며 나중에 제거할 수 없습니다.

앞에서 선택한 서브넷을 식별하는 등 이러한 구성을 설정하려면 시나리오에 따라 다음 세부 정보를 사용하여 parameters.json이라는 파일을 만듭니다. 새 App Service Environment v3에 대해 선택한 새 서브넷을 사용해야 합니다. 이 기능이 마이그레이션에 적용되지 않으면 사용자 지정 도메인 접미사 속성을 포함하지 마세요. zoneRedundant 속성의 값에 주의를 기울이고 복원력 요구 사항에 따라 설정합니다.

사용자 지정 도메인 접미사 없이 마이그레이션하는 경우 다음 코드를 사용합니다.

{
    "Properties": {
        "VirtualNetwork": {
            "Id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>"
        },
        "zoneRedundant": "<true/false>"
    }
}

사용자 지정 도메인 접미사 구성에 사용자 할당 관리 ID를 사용하는 경우 다음 코드를 사용합니다.

{
    "Properties": {
        "VirtualNetwork": {
            "Id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>"
        },
        "zoneRedundant": "<true/false>",
        "customDnsSuffixConfiguration": {
            "dnsSuffix": "internal.contoso.com",
            "certificateUrl": "https://contoso.vault.azure.net/secrets/myCertificate",
            "keyVaultReferenceIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asev3-migration/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ase-managed-identity"
        }
    }
}

사용자 지정 도메인 접미사 구성에 시스템 할당 관리 ID를 사용하는 경우 다음 코드를 사용합니다.

{
    "properties": {
        "VirtualNetwork": {
            "Id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>"
        },
        "zoneRedundant": "<true/false>",
        "customDnsSuffixConfiguration": {
            "dnsSuffix": "internal.contoso.com",
            "certificateUrl": "https://contoso.vault.azure.net/secrets/myCertificate",
            "keyVaultReferenceIdentity": "SystemAssigned"
        }
    }
}

9. App Service Environment v3으로 마이그레이션 및 상태 확인

이전 단계를 모두 완료한 후 마이그레이션을 시작할 수 있습니다. 마이그레이션의 의미를 이해하고 있는지 확인합니다.

이 단계를 완료하는 데 3~6시간이 걸립니다. 이전 단계를 수행했다면 해당 시간 동안 애플리케이션 가동 중지 시간이 발생하지 않습니다. 이 단계에서는 기존 App Service Environment에 대한 크기 조정, 배포 및 수정이 차단됩니다.

참고 항목

알려진 버그로 인해 하이브리드 배포 단계 중에 웹 작업이 시작되지 않을 수 있습니다. 웹 작업을 사용하는 경우 이 버그로 인해 앱 문제/가동 중지 시간이 발생할 수 있습니다. 이 문제에 대해 질문이나 우려 사항이 있는 경우 지원 사례를 개설합니다.

다음 명령을 실행하여 마이그레이션을 시작합니다.

az rest --method post --uri "${ASE_ID}/NoDowntimeMigrate?phase=HybridDeployment&api-version=2022-03-01" --body @parameters.json

다음 명령을 실행하여 마이그레이션 상태를 확인합니다.

az rest --method get --uri "${ASE_ID}?api-version=2022-03-01" --query properties.subStatus

MigrationPendingDnsChange 상태가 되면 마이그레이션이 완료되고 App Service Environment v3 리소스가 확보됩니다. 이제 앱이 새 환경과 이전 환경에서 실행됩니다.

다음 명령을 실행하여 새 환경의 세부 정보를 가져옵니다.

az appservice ase show --name $ASE_NAME --resource-group $ASE_RG

Important

마이그레이션 도중 및 MigrationPendingDnsChange 단계 동안 Azure Portal은 App Service Environment 및 앱에 대한 잘못된 정보를 표시합니다. Azure CLI를 사용하여 마이그레이션 상태를 확인합니다. 마이그레이션 상태 또는 앱에 대한 질문이 있는 경우 지원에 문의하세요.

참고 항목

마이그레이션에 사용자 지정 도메인 접미사가 포함된 경우 알려진 버그로 인해 마이그레이션이 완료되면 사용자 지정 도메인 접미사 구성이 저하된 것으로 표시될 수 있습니다. App Service Environment는 예상대로 계속 작동해야 합니다. 저하된 상태는 6~8시간 내에 자체적으로 해결됩니다. 8시간 후에 구성 성능이 저하되거나 사용자 지정 도메인 접미사가 작동하지 않는 경우 지원에 문의하세요.

성능이 저하된 사용자 지정 도메인 접미사 구성 샘플의 스크린샷.

10. 새 App Service Environment v3의 인바운드 IP 주소 가져오기 및 종속 리소스 업데이트

마이그레이션 프로세스의 이 단계에는 두 개의 App Service Environment 프런트 엔드 집합이 있으며 두 집합 모두 애플리케이션 트래픽을 처리할 수 있습니다. DNS는 변경되지 않으므로 기본적으로 트래픽은 이전 App Service Environment 프런트 엔드로 전송됩니다. 새 App Service Environment v3에 대한 새 IP 인바운드 주소를 사용하려면 종속 리소스를 업데이트해야 합니다. ILB(내부 연결) App Service Environment의 경우 새 인바운드 IP 주소를 가리키도록 프라이빗 DNS 영역을 업데이트해야 합니다.

App Service Environment 부하 분산 장치 유형에 해당하는 다음 명령을 실행하여 새 App Service Environment v3에 대한 새 인바운드 IP 주소를 가져올 수 있습니다. 필요한 업데이트를 수행하는 것은 사용자의 책임입니다.

ILB App Service Environment의 경우 다음 명령을 실행하여 프라이빗 인바운드 IP 주소를 가져옵니다.

az rest --method get --uri "${ASE_ID}?api-version=2022-03-01" --query properties.networkingConfiguration.internalInboundIpAddresses

ELB App Service Environment의 경우 다음 명령을 실행하여 공용 인바운드 IP 주소를 가져옵니다.

az rest --method get --uri "${ASE_ID}?api-version=2022-03-01" --query properties.networkingConfiguration.externalInboundIpAddresses

Important

마이그레이션에 사용자 지정 도메인 접미사가 포함된 경우, App Service Environment v3의 기본 호스트 이름 동작은 App Service Environment v2와 다릅니다. App Service Environment v3의 경우, 기본 호스트 이름은 항상 기본 도메인 접미사를 사용하며 APP-NAME.ASE-NAME.appserviceenvironment.net의 형식입니다. 앱의 호스트 이름을 사용하는 모든 종속 리소스(예: App Gateway)를 검토하여 이 동작을 고려하도록 업데이트되었는지 확인합니다. 서로 다른 버전의 App Service Environment 기능 차이점에 대한 자세한 내용은 App Service Environment 버전 비교를 참조하세요.

11. 고객 트래픽 리디렉션, App Service Environment v3 유효성 검사 및 마이그레이션 완료

이 단계에서는 새 App Service Environment v3를 테스트하고 유효성을 검사할 수 있습니다.

Important

14일 이내에 이 단계를 완료해야 합니다. 14일이 지나면 플랫폼이 자동으로 마이그레이션을 완료하고 이전 환경을 삭제합니다. 더 많은 시간이 필요한 경우 지원 사례를 열어 옵션에 대해 논의할 수 있습니다.

앱이 예상대로 작동하는지 확인한 후 다음 명령을 실행하여 마이그레이션을 완료할 수 있습니다. 이 명령은 이전 환경도 삭제합니다.

문제가 발견되거나 이 시점에서 더 이상 마이그레이션을 진행하지 않기로 결정한 경우 지원팀에 문의하여 선택 가능한 옵션에 대해 논의하세요. DNS 변경 명령은 마이그레이션을 완료하므로 실행하지 마세요.

az rest --method post --uri "${ASE_ID}/NoDowntimeMigrate?phase=DnsChange&api-version=2022-03-01"

다음 명령을 실행하여 이 단계의 상태를 확인합니다.

az rest --method get --uri "${ASE_ID}?api-version=2022-03-01" --query properties.subStatus

이 단계에서는 CompletingMigration 상태를 가져옵니다. MigrationCompleted 상태가 되면 트래픽 리디렉션 단계가 완료되고 마이그레이션이 완료됩니다.

병렬 마이그레이션 기능을 사용하여 마이그레이션할 때 발생하는 일반적인 문제 원본

다음은 병렬 마이그레이션 기능을 사용하여 마이그레이션할 때 고객이 발생하는 일반적인 문제 원본의 예입니다. 마이그레이션 프로세스 중 또는 이후에 가동 중지 시간 또는 서비스 중단이 발생하지 않도록 이러한 영역을 검토해야 합니다.

  • Azure Key Vault는 새 아웃바운드 IP/서브넷의 트래픽을 허용해야 합니다.
  • 두 서브넷은 양방향으로 서로 통신할 수 있어야 합니다. 고객은 일반적으로 이전 서브넷에서 새 서브넷으로의 트래픽을 허용하지만 새 서브넷에서 이전 서브넷으로의 트래픽은 허용하지 않습니다.
  • App Gateway는 새 IP 주소로 업데이트해야 합니다.
  • DNS 레코드는 새 IP 주소로 업데이트해야 합니다.
  • 애플리케이션에서 IP 주소를 하드 코딩한 경우 새 IP 주소로 업데이트해야 합니다.
  • 경로 테이블은 새 경로로 업데이트해야 합니다.

가격 책정

App Service Environment를 마이그레이션하는 데는 비용이 들지 않습니다. 그러나 마이그레이션 프로세스를 시작하면 App Service Environment v2와 새 App Service Environment v3 모두에 대한 요금이 청구됩니다. 마이그레이션 환경이 삭제되는 최종 마이그레이션 단계를 완료하면 마이그레이션 App Service Environment v2에 대한 요금이 더 이상 청구되지 않습니다. 초과 요금이 누적되지 않도록 가능한 한 빨리 유효성 검사를 완료하세요. App Service Environment v3 가격 책정에 대한 자세한 내용은 가격 책정 세부 정보를 참조하세요.

이전 버전에서 App Service Environment v3으로 마이그레이션하는 경우 월별 비용을 줄일 수 있는 시나리오를 고려해야 합니다. 비용을 더 줄일 수 있도록 예약절약 플랜을 고려해 보세요. 비용 절감 기회에 관한 자세한 내용은 App Service Environment v3으로 업그레이드한 후 비용 절감 기회를 참조하세요.

참고 항목

격리된 v2 가격 책정 계층 간의 차이로 인해 격리된 v2 계층에는 해당 인스턴스 크기당 더 많은 메모리와 CPU가 있으므로 마이그레이션 후 앱이 과도하게 프로비전될 수 있습니다. 마이그레이션이 완료되면 필요에 따라 환경을 스케일링 할 수 있습니다. 자세한 내용은 SKU 세부 정보를 검토하세요.

App Service 요금제 축소

App Service Environment v3에 사용할 수 있는 App Service 요금제 SKU는 격리된 v2(Iv2) 계층에서 실행됩니다. 코어 수와 RAM 양은 격리된 계층에 비해 실질적으로 해당 계층당 두 배가 됩니다. 마이그레이션하면 App Service 요금제는 해당 계층으로 변환됩니다. 예를 들어 I2 인스턴스는 I2v2로 변환됩니다. I2에는 코어 2개와 7GB RAM이 있지만 I2v2에는 4개의 코어와 16GB RAM이 있습니다. 용량 요구 사항이 동일하게 유지할 경우 과도하게 프로비전되고 사용하지 않는 컴퓨팅과 메모리에 비용을 지불하게 됩니다. 이 시나리오에서는 I2v2 인스턴스를 I1v2로 스케일 다운하면 이전에 가지고 있던 것과 비슷한 수의 코어 및 RAM으로 끝낼 수 있습니다.

자주 묻는 질문

  • 내 App Service Environment 마이그레이션이 현재 지원되지 않는 경우 어떻게 해야 할까요?
    현재 병렬 마이그레이션 기능을 사용하여 마이그레이션할 수 없습니다. 지원되지 않는 환경이 있고 즉시 마이그레이션하려는 경우 수동 마이그레이션 옵션을 참조하세요.
  • 나에게 적합한 마이그레이션 옵션을 선택하려면 어떻게 해야 하나요?
    마이그레이션 경로 의사 결정 트리를 검토하여 사용 사례에 가장 적합한 옵션을 결정하세요.
  • 병렬 마이그레이션 기능을 사용해야 하는지는 어떻게 알 수 있나요?
    병렬 마이그레이션 기능은 App Service Environment v3으로 마이그레이션하려고 하지만, 애플리케이션 가동 중지 시간을 지원할 수 없는 고객에게 가장 적합합니다. 새 서브넷은 새 환경에 사용되므로 새 IP 등 사용자가 알아야 할 네트워킹 고려 사항이 있습니다. 가동 중지 시간을 지원할 수 있는 경우 구성 변경을 최소화할 수 있는 현재 위치 마이그레이션 기능이나 수동 마이그레이션 옵션을 참조하세요. 현재 위치 마이그레이션 기능은 기존 환경과 동일한 서브넷에 App Service Environment v3을 만들고 동일한 네트워킹 인프라를 사용합니다.
  • 마이그레이션하는 동안 가동 중지 시간이 발생되나요?
    플랫폼은 병렬 마이그레이션 프로세스 중에 가동 중지 시간이 없음을 보장합니다. 그러나 DNS 설정으로 인해 DNS 변경 단계 중에 가동 중지 시간이 발생할 수 있습니다. 이는 DNS 변경 후에도 트래픽이 이전 App Service Environment로 계속 전달될 수 있으므로 TTL 및 캐시 설정과 관련된 문제로 인해 발생할 수 있습니다. DNS 설정을 검토하고 TTL이 낮은지, DNS 공급자가 빠른 전파를 지원하는지 확인해야 합니다.
  • 내 앱이 마이그레이션 후 새 App Service Environment에서 실행되게 하려면 조치가 필요한가요?
    아니요. 이전 환경에서 실행되는 모든 앱은 자동으로 새 환경으로 마이그레이션되고 이전처럼 실행됩니다. 사용자 입력이 필요하지 않습니다.
  • 내 앱 서비스 환경에 사용자 지정 도메인 접미사가 있는 경우 어떻게 해야 할까요?
    병렬 마이그레이션 기능은 이 마이그레이션 시나리오를 지원합니다.
  • 내 App Service Environment가 영역 고정된 경우 어떻게 해야 할까요?
    병렬 마이그레이션 기능은 현재 이 마이그레이션 시나리오를 지원하지 않습니다. 영역이 App Service Environment에 고정되어 있고 즉시 마이그레이션하려는 경우 수동 마이그레이션 옵션을 참조하세요.
  • App Service Environment에 IP SSL 주소가 있으면 어떻게 해야 하나요?
    IP SSL은 App Service Environment v3에서 지원되지 않습니다. 마이그레이션 기능이나 수동 옵션 중 하나를 사용하여 마이그레이션하기 전에 모든 IP SSL 바인딩을 제거해야 합니다. 병렬 마이그레이션 기능을 사용하려는 경우 모든 IP SSL 바인딩을 제거하면 해당 유효성 검사를 통과하고 자동화된 마이그레이션을 진행할 수 있습니다.
  • 내 App Service Environment의 어떤 속성이 변경될까요?
    이제 App Service Environment v3에 있으므로 이전 버전과 비교한 기능 및 기능적 차이를 검토해야 합니다. 병렬 마이그레이션 기능을 사용하는 경우 인바운드와 아웃바운드 IP가 모두 변경됩니다. ELB 앱 서비스 환경의 경우 이전에는 인바운드 및 아웃바운드 모두에 대한 단일 IP가 있었습니다. 앱 서비스 환경 v3의 경우에는 별개입니다. 더 상세한 정보는 앱 서비스 환경 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/v2s 및 배포된 앱은 더 이상 사용할 수 없습니다. App Service Environment v1/v2는 2024년 8월 31일에 사용 중지될 Cloud Services(클래식) 아키텍처에서 실행되는 App Service 배율 단위에서 호스트됩니다. 이 때문에 App Service Environment v1/v2는 해당 날짜 이후에는 사용할 수 없습니다. App Service Environment v3으로 마이그레이션하여 앱을 계속 실행하거나 유지 관리해야 하는 리소스 또는 데이터를 저장하거나 백업합니다.

다음 단계