PowerShell을 사용하여 삭제된 App Service 앱 복원

Azure App Service에서 앱을 실수로 삭제한 경우 Az PowerShell 모듈의 명령을 사용하여 앱을 복원할 수 있습니다.

참고 항목

  • 삭제된 앱은 초기 삭제 후 30일이 지나면 시스템에서 제거됩니다. 제거된 앱은 복구할 수 없습니다.
  • 사용 플랜 또는 탄력적 프리미엄 플랜에서 호스트되는 함수 앱에는 삭제 취소 기능이 지원되지 않습니다.
  • App Service Environment에서 실행되는 Apps Service 앱은 스냅샷을 지원하지 않습니다. 따라서 App Service Environment에서 실행되는 App Service 앱에는 삭제 취소 기능과 복제 기능을 사용할 수 없습니다.

App Service 리소스 공급자 다시 등록

일부 고객은 삭제된 앱 목록을 검색하지 못하는 문제가 발생할 수 있습니다. 이 문제를 해결하려면 다음 명령을 실행합니다.

 Register-AzResourceProvider -ProviderNamespace "Microsoft.Web"

삭제된 앱 나열

삭제된 앱의 컬렉션을 가져오려면 Get-AzDeletedWebApp을 사용하면 됩니다.

삭제된 특정 앱을 자세히 알아보려면 다음을 사용합니다.

Get-AzDeletedWebApp -Name <your_deleted_app> -Location <your_deleted_app_location> 

자세한 정보에는 다음이 포함됩니다.

  • DeletedSiteId: 이름의 동일한 여러 앱이 삭제된 시나리오에 사용되는 앱의 고유 식별자
  • SubscriptionID: 삭제된 리소스를 포함하는 구독
  • Location: 원래 앱의 위치
  • ResourceGroupName: 원래 리소스 그룹의 이름
  • Name: 원래 앱의 이름
  • Slot: 슬롯의 이름
  • Deletion Time: 앱이 삭제된 시간

삭제된 앱 복원

참고 항목

  • 사용 플랜 또는 탄력적 프리미엄 플랜에서 호스트되는 함수 앱에는 Restore-AzDeletedWebApp이 지원되지 않습니다.
  • Restore-AzDeletedWebApp cmdlet은 삭제된 웹앱을 복원합니다. TargetResourceGroupName, TargetName 및 TargetSlot으로 지정된 웹앱은 삭제된 웹앱의 내용과 설정으로 덮어씁니다. 대상 매개 변수를 지정하지 않으면 삭제된 웹앱의 리소스 그룹, 이름 및 슬롯으로 자동으로 채워집니다. 대상 웹앱이 없으면 TargetAppServicePlanName에서 지정한 앱 서비스 계획에 자동으로 생성됩니다.
  • 기본값으로 Restore-AzDeletedWebApp은 앱 구성과 콘텐츠를 모두 복원합니다. 콘텐츠만 복원하려면 이 commandlet과 함께 -RestoreContentOnly 플래그를 사용합니다.
  • 앱으로 가져오는 사용자 지정 도메인, 바인딩 또는 인증서는 복원되지 않습니다. 앱이 복원된 후에 다시 추가해야 합니다.

복원하려는 앱을 식별한 후, 다음 예제와 같이 Restore-AzDeletedWebApp을 사용하여 복원할 수 있습니다.

전체 commandlet 참조는 여기에서 찾을 수 있습니다. Restore-AzDeletedWebApp

원래 앱 이름으로 복원합니다.

Restore-AzDeletedWebApp -TargetResourceGroupName <my_rg> -Name <my_app> -TargetAppServicePlanName <my_asp>

다른 앱 이름으로 복원합니다.

Restore-AzDeletedWebApp -ResourceGroupName <original_rg> -Name <original_app> -TargetResourceGroupName <target_rg> -TargetName <target_app> -TargetAppServicePlanName <target_asp>

대상 앱으로 슬롯을 복원합니다.

Restore-AzDeletedWebApp -TargetResourceGroupName <my_rg> -Name <my_app> -TargetAppServicePlanName <my_asp> -Slot <original_slot>

참고 항목

배포 슬롯은 앱의 일부로 복원되지 않습니다. 스테이징 슬롯을 복원해야 하는 경우 -Slot <slot-name> 플래그를 사용합니다. commandlet은 원래 슬롯을 대상 앱의 프로덕션 슬롯으로 복원합니다. 기본값으로 Restore-AzDeletedWebApp은 앱 구성과 콘텐츠를 대상 앱으로 모두 복원합니다. 콘텐츠만 복원하려면 이 commandlet과 함께 -RestoreContentOnly 플래그를 사용합니다.

사이트 콘텐츠만 대상 앱으로 복원

Restore-AzDeletedWebApp -TargetResourceGroupName <my_rg> -Name <my_app> -TargetAppServicePlanName <my_asp> -RestoreContentOnly

이름이 동일한 여러 앱이 삭제된 시나리오에 사용되는 복원-DeletedSiteId

Restore-AzDeletedWebApp -ResourceGroupName <original_rg> -Name <original_app> -DeletedId /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/location/deletedSites/1234 -TargetAppServicePlanName <my_asp>

명령에 대한 입력은 다음과 같습니다.

  • 대상 리소스 그룹: 앱이 복원될 대상 리소스 그룹
  • TargetName: 복원할 삭제된 앱의 대상 앱
  • TargetAppServicePlanName: 앱에 연결된 App Service 계획
  • 이름: 앱의 이름은 전역적으로 고유해야 합니다.
  • ResourceGroupName: 삭제된 앱의 원래 리소스 그룹
  • 슬롯: 삭제된 앱의 슬롯
  • RestoreContentOnly: 기본값으로 Restore-AzDeletedWebApp은 앱 구성과 콘텐츠를 모두 복원합니다. 콘텐츠만 복원하려면 이 commandlet과 함께 -RestoreContentOnly 플래그를 사용하면 됩니다.

참고 항목

앱이 호스트된 후 App Service Environment에서 삭제된 경우에는 해당 App Service Environment가 계속 존재할 경우에만 복원할 수 있습니다.

삭제된 함수 앱 복원

함수 앱이 전용 App Service 계획에서 호스트된 경우 기본 App Service 스토리지를 사용하는 한 복원할 수 있습니다.

  1. Get-AzDeletedWebApp cmdlet을 사용하여 복원하려는 앱 버전의 DeletedSiteId를 가져옵니다.
Get-AzDeletedWebApp -ResourceGroupName <RGofDeletedApp> -Name <NameofApp> 
  1. 전용 플랜에서 새 함수 앱을 만듭니다. 포털에서 앱을 만드는 방법에 대한 지침을 참조하세요.
  2. 다음 cmdlet을 사용하여 새로 만든 함수 앱으로 복원합니다.
Restore-AzDeletedWebApp -ResourceGroupName <RGofnewapp> -Name <newApp> -deletedId "/subscriptions/xxxx/providers/Microsoft.Web/locations/xxxx/deletedSites/xxxx"

현재 콘텐츠가 스토리지 계정의 Azure Files에 있기 때문에 사용 플랜 또는 탄력적 프리미엄 플랜에서 호스트되는 삭제 취소(Restore-AzDeletedWebApp) 함수 앱은 지원되지 않습니다. 해당 Azure Files 스토리지 계정을 '영구' 삭제하지 않았거나 그 계정이 있고 파일 공유가 삭제되지 않은 경우 다음 단계를 해결 방법으로 사용할 수 있습니다.

  1. 사용 플랜 또는 프리미엄 플랜에서 새 함수 앱을 만듭니다. 포털에서 앱을 만드는 방법에 대한 지침을 참조하세요.

  2. 다음 앱 설정을 지정하여 이전 앱의 콘텐츠를 포함하는 이전 스토리지 계정을 참조하도록 합니다.

    앱 설정 제안 값
    AzureWebJobsStorage 삭제된 앱에서 사용된 스토리지 계정에 대한 연결 문자열입니다.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 삭제된 앱에서 사용된 스토리지 계정에 대한 연결 문자열입니다.
    WEBSITE_CONTENTSHARE 삭제된 앱에서 사용된 스토리지 계정의 파일 공유입니다.