Azure Stack Hub’da App Service kurtarma

Bu konu başlığında olağanüstü durum kurtarma App Service için hangi eylemlerin gerçekleştirecekleri hakkında yönergeler sağlanmaktadır.

Azure Stack Hub'da yedeklemeden App Service kurtarmak için aşağıdaki eylemler gerçekleştirilmelidir:

  1. App Service veritabanlarını geri yükleyin.
  2. Dosya sunucusu paylaşım içeriğini geri yükleyin.
  3. App Service rollerini ve hizmetlerini geri yükleyin.

İşlev Uygulamaları depolaması için Azure Stack Hub depolaması kullanıldıysa, İşlev Uygulamalarını geri yüklemek için de adımlar uygulamanız gerekir.

App Service veritabanlarını geri yükleme

App Service SQL Server veritabanları üretime hazır bir SQL Server örneğine geri yüklenmelidir.

App Service veritabanlarını barındırmak için SQL Server örneğini hazırladıktan sonra veritabanlarını yedekten geri yüklemek için şu adımları kullanın:

  1. Kurtarılan App Service veritabanlarını yönetici izinleriyle barındıracak SQL Server oturum açın.
  2. Yönetici izinleriyle çalışan bir komut isteminden App Service veritabanlarını geri yüklemek için aşağıdaki komutları kullanın:
    sqlcmd -U <SQL admin login> -P <SQL admin password> -Q "RESTORE DATABASE appservice_hosting FROM DISK='<full path to backup>' WITH REPLACE"
    sqlcmd -U <SQL admin login> -P <SQL admin password> -Q "RESTORE DATABASE appservice_metering FROM DISK='<full path to backup>' WITH REPLACE"
    
  3. her iki App Service veritabanının da başarıyla geri yüklendiğini doğrulayın ve SQL Server Management Studio çıkın.

Not

Yük devretme kümesi örneği hatasından kurtarmak için bkz. Yük Devretme Kümesi Örneği Hatasından Kurtarma.

App Service dosya paylaşımı içeriğini geri yükleme

App Service dosya paylaşımını barındırmak için dosya sunucusunu hazırladıktan sonra kiracı dosya paylaşımı içeriğini yedekten geri yüklemeniz gerekir. Dosyaları yeni oluşturulan App Service dosya paylaşımı konumuna kopyalamak için kullanabileceğiniz yöntemi kullanabilirsiniz. Dosya sunucusunda bu örneği çalıştırmak, uzak bir paylaşıma bağlanmak ve dosyaları paylaşıma kopyalamak için PowerShell ve robocopy kullanır:

$source = "<remote backup storage share location>"
$destination = "<local file share location>"
net use $source /user:<account to use to connect to the remote share in the format of domain\username> *
robocopy /E $source $destination
net use $source /delete

Dosya paylaşımı içeriğini kopyalamaya ek olarak, dosya paylaşımının üzerindeki izinleri de sıfırlamanız gerekir. İzinleri sıfırlamak için dosya sunucusu bilgisayarında bir yönetici komut istemi açın ve ReACL.cmd dosyasını çalıştırın. ReACL.cmd dosyası, BCDR dizinindeki App Service yükleme dosyalarında bulunur.

App Service rollerini ve hizmetlerini geri yükleme

App Service veritabanları ve dosya paylaşımı içeriği geri yüklendikten sonra, App Service rollerini ve hizmetlerini geri yüklemek için PowerShell'i kullanmanız gerekir. Bu adımlar App Service gizli dizileri ve hizmet yapılandırmalarını geri yükler.

  1. App Service yükleme sırasında sağladığınız parolayı kullanarak App Service denetleyicisi CN0-VM VM'sinde roleadmin olarak oturum açın.

    İpucu

    RDP bağlantılarına izin vermek için VM'nin ağ güvenlik grubunu değiştirmeniz gerekir.

  2. SystemSecrets.JSON dosyasını yerel olarak denetleyici VM'sine kopyalayın. Sonraki adımda bu dosyanın yolunu parametre olarak $pathToExportedSecretFile sağlamanız gerekir.

  3. App Service rolleri ve hizmetleri geri yüklemek için yükseltilmiş bir PowerShell konsol penceresinde aşağıdaki komutları kullanın:

    # Stop App Service services on the primary controller VM
    net stop WebFarmService
    net stop ResourceMetering
    net stop HostingVssService # This service was deprecated in the App Service 1.5 release and is not required after the App Service 1.4 release.
    
    # Restore App Service secrets. Provide the path to the App Service secrets file copied from backup. For example, C:\temp\SystemSecrets.json.
    # Press ENTER when prompted to reconfigure App Service from backup 
    
    # If necessary, use -OverrideDatabaseServer <restored server> with Restore-AppServiceStamp when the restored database server has a different address than backed-up deployment.
    # If necessary, use -OverrideContentShare <restored file share path> with Restore-AppServiceStamp when the restored file share has a different path from backed-up deployment.
    Restore-AppServiceStamp -FilePath $pathToExportedSecretFile 
    
    # Restore App Service roles
    Restore-AppServiceRoles
    
    # Restart App Service services
    net start WebFarmService
    net start ResourceMetering
    net start HostingVssService  # This service was deprecated in the App Service 1.5 release and is not required after the App Service 1.4 release.
    
    # After App Service has successfully restarted, and at least one management server is in ready state, synchronize App Service objects to complete the restore
    # Enter Y when prompted to get all sites and again for all ServerFarm entities.
    Get-AppServiceSite | Sync-AppServiceObject
    Get-AppServiceServerFarm | Sync-AppServiceObject
    

İpucu

Komut tamamlandığında bu PowerShell oturumunu kapatmanız kesinlikle önerilir.

İşlev Uygulamalarını Geri Yükleme

Azure Stack Hub için App Service, kiracı kullanıcı uygulamalarının veya dosya paylaşımı içeriği dışındaki verilerin geri yüklenmesini desteklemez. Diğer tüm verilerin App Service yedekleme ve geri yükleme işlemleri dışında yedeklenip kurtarılması gerekir. İşlev Uygulamaları depolaması için Azure Stack Hub depolaması kullanıldıysa, kayıp verileri kurtarmak için aşağıdaki adımlar izlenmelidir:

  1. İşlev Uygulaması tarafından kullanılacak yeni bir depolama hesabı oluşturun. Bu depolama Alanı Azure Stack Hub depolama alanı, Azure depolama veya uyumlu herhangi bir depolama alanı olabilir.
  2. Depolama için bağlantı dizesini alın.
  3. İşlev portalını açın ve işlev uygulamasına göz atın.
  4. Platform özellikleri sekmesine göz atın ve Uygulama Ayarları'na tıklayın.
  5. AzureWebJobsDashboard ve AzureWebJobsStorage'ı yeni bağlantı dizesi olarak değiştirin ve Kaydet'e tıklayın.
  6. Genel Bakış'a geçin.
  7. Uygulamayı yeniden başlatın. Tüm hataları temizlemek için birkaç deneme gerekebilir.

Sonraki adımlar

Azure Stack Hub'da App Service genel bakış