Sdílet prostřednictvím


Nastavení přípravných prostředí ve službě Azure App Service

Když nasadíte webovou aplikaci, webovou aplikaci v Linuxu, mobilní back-end nebo aplikaci API do služby Azure App Service, můžete místo výchozího produkčního slotu použít samostatný slot nasazení. Tento přístup je k dispozici, pokud máte plán služby App Service v úrovni Standard, Premium nebo Isolated. Sloty nasazení jsou živé aplikace s vlastními názvy hostitelů. Obsah aplikace a konfigurační prvky je možné vyměnit mezi dvěma sloty nasazení, včetně produkčního slotu.

Nasazení aplikace do neprodukčního slotu má následující výhody:

  • Změny aplikace můžete ověřit, než slot prohodíte do produkčního prostředí.

  • Před výměnou do produkčního prostředí se můžete ujistit, že všechny instance slotu jsou připravené. Tento přístup eliminuje výpadky při nasazování aplikace. Přesměrování provozu je bezproblémové. Kvůli swap operacím nejsou vyřazeny žádné požadavky.

    Celý tento pracovní postup můžete automatizovat nakonfigurováním automatického prohození, pokud není potřeba ověření před prohozením.

  • Po výměně má slot s dříve nasazenou aplikací nyní dosavadní produkční aplikaci. Pokud změny vyměněné do produkčního slotu nejsou podle vašeho očekávání, můžete provést stejnou výměnu okamžitě, abyste získali zpět svůj poslední známý dobrý web.

Za používání slotů nasazení se neúčtují žádné další poplatky. Každá úroveň plánu služby App Service podporuje jiný počet slotů nasazení. Pokud chcete zjistit počet slotů, které úroveň vaší aplikace podporuje, podívejte se na limity služby App Service.

Pokud chcete aplikaci škálovat na jinou úroveň, ujistěte se, že cílová úroveň podporuje počet slotů, které už vaše aplikace používá. Pokud má vaše aplikace například více než pět slotů, nemůžete ji škálovat na úroveň Standard. Úroveň Standard podporuje pouze pět slotů nasazení.

Následující video doplňuje kroky v tomto článku tím, že ilustruje, jak nastavit přípravná prostředí ve službě Azure App Service.

Požadavky

  • Oprávnění k provedení operace slotu, kterou chcete provést. Informace o požadovaných oprávněních najdete v tématu Operace poskytovatele prostředků. Vyhledejte například slot.

Přidat slot

Aby bylo možné povolit více slotů nasazení, musí být aplikace spuštěná na úrovni Standard, Premium nebo Isolated.

  1. Na webu Azure Portal přejděte na stránku pro správu vaší aplikace.

  2. V nabídce vlevo vyberte Nasazení>Sloty nasazení. Pak vyberte Přidat.

    Poznámka:

    Pokud aplikace ještě není na úrovni Standard, Premium nebo Isolated, vyberte Upgradovat. Než budete pokračovat, přejděte na kartu Škálování aplikace.

  3. V dialogovém okně Přidat slot pojmenujte slot a vyberte, jestli se má klonovat konfigurace aplikace z jiného slotu nasazení. Chcete-li pokračovat, zvolte Přidat.

    Snímek obrazovky znázorňující výběry pro konfiguraci nového slotu nasazení s názvem

    Konfiguraci můžete naklonovat z jakéhokoli existujícího slotu. Mezi nastavení, která je možné klonovat, patří nastavení aplikace, připojovací řetězce, verze jazykové architektury, webové sokety, verze HTTP a bitová verze platformy.

    Poznámka:

    Privátní koncový bod se v současné době neklonuje mezi sloty.

  4. Po zadání nastavení zavřete dialogové okno výběrem možnosti Zavřít . Nový slot se teď zobrazí na stránce Nasazovací sloty . Ve výchozím nastavení je Traffic % pro nový slot nastaven na 0, přičemž veškerý zákaznický provoz je směrován do produkčního slotu.

  5. Vyberte nový slot nasazení a otevřete stránku prostředku.

    Snímek obrazovky znázorňující, jak otevřít stránku správy slotu nasazení na portálu

    Staging slot má tu stránku pro správu stejně jako jakoukoli jinou aplikaci App Service. Konfiguraci slotu můžete změnit. Pokud chcete připomenout, že si prohlížíte slot nasazení, název aplikace a název slotu se zobrazí v adrese URL. Typ aplikace je App Service (Slot). Slot můžete také zobrazit jako samostatnou aplikaci v rámci vaší skupiny prostředků se stejnými označeními.

  6. Na stránce prostředků slotu vyberte URL adresu aplikace. Slot nasazení má vlastní název hostitele a je také živou aplikací. Pokud chcete omezit veřejný přístup ke slotu nasazení, přečtěte si téma Nastavení omezení přístupu ke službě Azure App Service.

Nový slot nasazení nemá žádný obsah, i když nastavení naklonujete z jiného slotu. Můžete například publikovat do tohoto slotu pomocí Gitu. Do slotu můžete nasadit z jiné větve úložiště nebo jiného úložiště. Článek Získání profilu publikování ze služby Azure App Service může poskytnout požadované informace pro nasazení do slotu. Visual Studio může importovat profil pro nasazení obsahu do slotu.

Adresa URL slotu má formát http://sitename-slotname.azurewebsites.net. Pokud chcete zachovat délku adresy URL v rámci nezbytných limitů DNS, název webu se zkrátí na 40 znaků. Sloučený název webu a název slotu musí být kratší než 59 znaků.

Pochopte, co se stane během výměny

Kroky operace výměny

Když prohodíte dva sloty, služba App Service provede následující opatření, aby zajistila, že cílový slot nebude mít výpadky:

  1. U všech instancí zdrojového slotu použijte následující nastavení z cílového slotu (například produkčního slotu):

    Pokud se u zdrojového slotu použije některá nastavení, tato změna aktivuje restartování všech instancí ve zdrojovém slotu. Během prohození s náhledem tato akce označí konec první fáze. Operace výměny je pozastavena. Můžete ověřit, že správné fungování zdrojového slotu odpovídá nastavení cílového slotu.

  2. Počkejte na dokončení restartování každé instance ve zdrojovém slotu. Pokud se některé instanci nepodaří restartovat, operace prohození vrátí všechny změny zdrojového slotu a zastaví operaci.

  3. Pokud je povolená místní mezipaměť , aktivujte inicializaci místní mezipaměti tak, že v každé instanci zdrojového slotu provedete požadavek HTTP na kořen aplikace (/). Počkejte, až každá instance vrátí jakoukoli odpověď HTTP. Inicializace místní mezipaměti způsobí další restartování každé instance.

  4. Pokud je povoleno automatické přepínání s vlastní přípravou, spusťte vlastní inicializaci aplikace na každé instanci zdrojového slotu.

    Pokud applicationInitialization není zadaný, aktivujte požadavek HTTP na kořen aplikace zdrojového slotu v každé instanci.

    Pokud instance vrátí jakoukoli odpověď HTTP, považuje se za zahřátou.

  5. Pokud se všechny instance ve zdrojovém slotu úspěšně zahřejí, prohodíte oba sloty přepnutím pravidel směrování. Po tomto kroku má cílový slot (například produkční slot) aplikaci, která byla předtím zahřátá ve zdrojovém slotu.

  6. Teď, když má zdrojový slot předhozenou aplikaci, která byla dříve v cílovém slotu, proveďte stejnou operaci použitím všech nastavení a restartováním instancí.

Během operace se na zdrojovém slotu provádí veškerá inicializace aplikací, které jsou součástí výměny. Cílový slot zůstává online, zatímco se zdrojový slot připravuje a zahřívá, bez ohledu na to, zda se prohození zdaří nebo nezdaří. Pokud chcete prohodit přípravný slot s produkčním slotem, ujistěte se, že produkční slot je vždy cílovým slotem. Operace prohození tak nemá vliv na vaši produkční aplikaci.

Poznámka:

Vaše bývalé produkční instance se po této operaci prohození přesunou do přípravného prostředí. Tyto případy se recyklují v posledním kroku výměny. Pokud máte v aplikaci nějaké dlouhotrvající operace, jsou při recyklaci pracovních procesů opuštěné. Tento fakt platí také pro aplikace funkcí. Ujistěte se, že kód aplikace je napsaný způsobem odolným proti chybám.

Kroky pro nastavení slotu jako nevyměnitelného

Při klonování konfigurace z jiného slotu nasazení se klonovaná konfigurace dá upravit. Některé prvky konfigurace sledují obsah během výměny ( nejsou specifické pro sloty). Ostatní prvky konfigurace zůstanou ve stejném slotu po prohození (jsou specifické pro slot).

Při prohození slotů se prohodí tato nastavení:

  • Zásobník jazyků a verze, 32bitová a 64bitová verze
  • Nastavení aplikace (je možné nakonfigurovat tak, aby se držela slotu)
  • Připojovací řetězce (lze nakonfigurovat tak, aby se držely slotu)
  • Připojené účty úložiště (je možné konfigurovat je tak, aby zůstaly přiřazené ke slotu)
  • Mapování obslužných rutin
  • Veřejné certifikáty
  • Obsah webových úloh
  • Hybridní připojení (aktuálně)
  • Koncové body služby (aktuálně)
  • Azure Content Delivery Network (aktuálně)
  • Mapování cest

Při zaměňování slotů se tato nastavení nezamění:

  • Obecná nastavení, která nejsou uvedená v předchozím seznamu
  • Koncové body publikování
  • Vlastní doménová jména
  • Nepublikované certifikáty a nastavení PROTOKOLU TLS/SSL
  • Nastavení škálování
  • Plánovače webových úloh
  • Omezení IP adres
  • Vždy zapnuto
  • Nastavení diagnostiky
  • Sdílení prostředků mezi různými zdroji (CORS)
  • Integrace virtuální sítě
  • Spravované identity a související nastavení
  • Nastavení, která končí příponou _EXTENSION_VERSION
  • Nastavení, která vytvořil konektor služby

Poznámka:

Aby byla nastavení zaměnitelná, přidejte nastavení aplikace WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS do každého slotu aplikace. Nastavte jeho hodnotu na 0 nebo false. Tato nastavení jsou buď všechna vyměnitelná, nebo všechna nevyměnitelná. Nemůžete vytvořit jenom některá nastavení, která se dají prohodit, a ne ostatní. Spravované identity se nikdy nevymění. Toto nastavení přepsání aplikace se jich nedotýká.

Některá nastavení aplikace, která se vztahují na nepovolené nastavení, se také neprohodí. Například proto, že nastavení diagnostiky se neprohodí, související nastavení aplikace jako WEBSITE_HTTPLOGGING_RETENTION_DAYS a DIAGNOSTICS_AZUREBLOBRETENTIONDAYS se také neprohodí, i když se nezobrazují jako nastavení slotu.

Chcete-li nakonfigurovat nastavení aplikace nebo připojovací řetězec tak, aby zůstaly u konkrétního slotu, který se nemění:

  1. Přejděte do Nastavení>Proměnné prostředí pro tento slot.

  2. Přidejte nebo upravte nastavení a pak vyberte Nastavení slotu nasazení. Když toto políčko zaškrtnete, služba App Service oznámí, že nastavení nejde prohodit.

  3. Vyberte a použijte.

Snímek obrazovky znázorňující zaškrtávací políčko pro konfiguraci nastavení aplikace jako nastavení slotu na webu Azure Portal

Výměna slotů nasazení

Sloty nasazení můžete prohodit na stránce Nasazovací sloty vaší aplikace a na stránce Přehled .

Než prohodíte aplikaci z slotu nasazení do produkčního prostředí, ujistěte se, že produkčním slotem je cílový slot a že všechna nastavení ve zdrojovém slotu jsou nakonfigurovaná přesně tak, jak je chcete mít v produkčním prostředí.

  1. Přejděte na stránku Nasazovací sloty vaší aplikace a vyberte Prohodit.

    Snímek obrazovky znázorňující na portálu výběry pro zahájení výměnné operace

    Dialogové okno Prohození zobrazuje nastavení ve vybraných zdrojových a cílových slotech, která mají být změněna.

  2. Vyberte požadovaný zdrojový a cílový slot. Cílem je obvykle produkční slot. Také vyberte záložky změny zdrojového slotu a změny cílového slotu a ověřte, že se očekávají změny konfigurace. Po dokončení můžete sloty okamžitě prohodit kliknutím na Spustit prohození.

    Snímek obrazovky ukazuje výběry pro konfiguraci a provedení výměny na portálu.

    Pokud chcete zjistit, jak by cílový slot běžel s novým nastavením před provedením, nevybírejte možnost Zahájit výměnu. Postupujte podle pokynů v Výměna s náhledem dále v tomto článku.

  3. Výběrem možnosti Zavřít zavřete dialogové okno.

Pokud máte nějaké problémy, přečtěte si sekci Řešení problémů se swapy dále v tomto článku.

Prohození s verzí Preview (prohození s více fázemi)

Před přepnutím do produkčního prostředí jako cílového slotu ověřte, že aplikace běží s prohozenými nastaveními. Zdrojový slot se také zahřeje před dokončením prohození, což je žádoucí pro klíčové aplikace.

Když provedete prohození s verzí Preview, služba App Service provede stejnou operaci prohození , ale pozastaví se po prvním kroku. Před dokončením prohození pak můžete ověřit výsledek přípravného slotu.

Pokud prohození zrušíte, app Service znovu spustí konfigurační prvky do zdrojového slotu.

Poznámka:

Nemůžete použít prohození s předběžným zobrazením, pokud je v jednom ze slotů povolené ověřování webu.

  1. Postupujte podle kroků v části Prohodit nasazovací sloty, ale vyberte Provést prohození s náhledem.

    V dialogovém okně se dozvíte, jak se konfigurace ve zdrojovém slotu mění v první fázi a jak se mění zdrojový a cílový slot ve druhé fázi.

  2. Až budete připraveni zahájit prohození, vyberte Spustit prohození.

    Po dokončení první fáze vás dialogové okno upozorní.

  3. Až budete připraveni dokončit čekající výměnu, vyberte Dokončit výměnu v akci Výměna a pak stiskněte tlačítko Dokončit výměnu.

    Snímek obrazovky znázorňující, jak nakonfigurovat výměnu s náhledem na portálu

    Pokud chcete zrušit čekající výměnu, místo toho vyberte zrušit výměnu a pak vyberte tlačítko Zrušit výměnu.

  4. Po dokončení zavřete dialogové okno výběrem možnosti Zavřít .

Pokud máte nějaké problémy, přečtěte si sekci Řešení problémů se swapy dále v tomto článku.

Vrácení výměny zpět

Pokud v cílovém slotu (například v produkčním slotu) po prohození slotu dojde k nějakým chybám, obnovte sloty do jejich předhození tím, že okamžitě prohodíte stejné dva sloty.

Konfigurace automatického prohození

Automatické přepínání zjednodušuje scénáře Azure DevOps, ve kterých chcete aplikaci nasazovat nepřetržitě, bez studeného startu a bez přerušení provozu pro zákazníky aplikace. Když je automatické prohození povolené ze slotu do produkčního prostředí, App Service automaticky přehodí aplikaci do produkčního prostředí po každém odeslání změn kódu do tohoto slotu, jakmile se aplikace zahřeje ve zdrojovém slotu.

Poznámka:

Automatické prohození se nepodporuje ve webových aplikacích v Linuxu a ve službě Web App for Containers.

Než nakonfigurujete automatické přepínání slotu produkce, zvažte jeho testování na slotu mimo produkci.

  1. Přejděte na stránku zdrojů aplikace. Vyberte Nasazení>Sloty nasazení, a pak vyberte požadovaný zdrojový slot.

  2. V nabídce vlevo vyberte Nastavení>Konfigurace>Obecné nastavení.

  3. Pokud chcete povolit automatické prohození, vyberte Zapnuto. Pro automatické přehození nasazovacího slotu vyberte cílový slot. Potom na panelu příkazů vyberte Uložit .

    Snímek obrazovky znázorňující výběry pro nastavení automatické výměny do produkčního slotu v portálu

  4. Proveďte nasazení kódu do zdrojového slotu. Automatické prohození proběhne po krátké době. Aktualizace se projeví na adrese URL cílového slotu.

Pokud máte nějaké problémy, přečtěte si sekci Řešení problémů se swapy dále v tomto článku.

Zadání vlastního zahřátí

Některé aplikace můžou před prohozením vyžadovat vlastní akce pro přípravu. Tyto vlastní akce můžete zadat pomocí konfiguračního elementu applicationInitialization v Web.config. Operace prohození čeká na dokončení tohoto vlastního zahřátí před prohozením s cílovým slotem. Tady je ukázkový Web.config fragment:

<system.webServer>
    <applicationInitialization>
        <add initializationPage="/" hostName="[app hostname]" />
        <add initializationPage="/Home/About" hostName="[app hostname]" />
    </applicationInitialization>
</system.webServer>

Další informace o přizpůsobení elementu applicationInitialization najdete v blogovém příspěvku Nejčastější chyby prohození slotů nasazení a jejich řešení.

Chování při zahřívání můžete také přizpůsobit pomocí následujícího nastavení aplikace:

  • WEBSITE_SWAP_WARMUP_PING_PATH: Cesta k příkazu ping přes HTTP zahřeje váš web. Toto nastavení aplikace přidáte zadáním vlastní cesty, která začíná lomítkem jako hodnotou. Příklad: /statuscheck. Výchozí hodnota je /.
  • WEBSITE_SWAP_WARMUP_PING_STATUSES: Platné kódy odpovědí HTTP pro operaci zahřátí. Přidejte toto nastavení aplikace se seznamem kódů HTTP oddělených čárkami. Příklad: 200,202. Pokud vrácený stavový kód není v seznamu, zastaví se zahřívací a výměnná operace. Ve výchozím nastavení jsou všechny kódy odpovědí platné.
  • WEBSITE_WARMUP_PATH: Relativní cesta na webu, která by měla být ping při každém restartování lokality (nejen během prohození slotů). Příklady hodnot zahrnují /statuscheck kořenovou cestu nebo kořenovou cestu /.

Element <applicationInitialization> konfigurace je součástí každého spuštění aplikace, zatímco nastavení aplikace pro proces zahřátí se vztahuje pouze na přepínání slotů.

Pokud máte nějaké problémy, přečtěte si sekci Řešení problémů se swapy dále v tomto článku.

Monitor swapu

Pokud operace výměny trvá dlouho, můžete získat informace o této operaci v záznamu aktivit.

  1. Na stránce prostředků vaší aplikace na portálu v nabídce vlevo vyberte Protokol aktivit.

  2. Operace prohození se zobrazí v dotazu protokolu jako Swap Web App Slots. Pokud chcete zobrazit podrobnosti, můžete rozbalit seznam a vybrat jednu z dílčích operací nebo chyb.

Automatické směrování produkčního provozu

Ve výchozím nastavení se všechny požadavky klientů na produkční adresu URL aplikace směrují do produkčního slotu. Část provozu můžete směrovat do jiného slotu. Tato funkce je užitečná, pokud potřebujete zpětnou vazbu uživatelů pro novou aktualizaci, ale nejste připraveni ji vydat do produkčního prostředí.

  1. Přejděte na stránku prostředků webové aplikace a vyberte Nasazení>Sloty nasazení.

  2. Ve sloupci Traffic % slotu, do kterého chcete směrovat, zadejte procentuální hodnotu (mezi 0 a 100), která představuje celkový provoz, na který chcete směrovat. Pak vyberte Uložit.

    Snímek obrazovky, který znázorňuje výběry portálu pro směrování procenta požadavků do slotu nasazení.

Po uložení nastavení se zadané procento klientů náhodně směruje do neprodukčního slotu.

Jakmile se klient automaticky přesměruje do konkrétního slotu, po dobu jedné hodiny nebo do odstranění souborů cookie se do něj připne . V klientském prohlížeči můžete zjistit, ke kterému slotu je vaše relace připnutá, pokud se podíváte na soubor cookie x-ms-routing-name v HTTP hlavičkách. Požadavek, který je směrován do přípravného slotu, obsahuje soubor cookie x-ms-routing-name=staging. Požadavek, který je směrován do produkčního slotu, má soubor cookie x-ms-routing-name=self.

Ruční směrování produkčního provozu

Kromě automatického směrování provozu může App Service směrovat požadavky do konkrétního slotu. Tato možnost je užitečná, když chcete, aby se vaši uživatelé mohli přihlásit k beta aplikaci nebo odhlásit se z této beta aplikace. Pokud chcete směrovat produkční provoz ručně, použijte parametr dotazu x-ms-routing-name.

Pokud chcete uživatelům umožnit, aby se odhlásili z beta aplikace, můžete například vložit tento odkaz na webovou stránku:

<a href="<webappname>.azurewebsites.net/?x-ms-routing-name=self">Go back to production app</a>

Řetězec x-ms-routing-name=self určuje produkční slot. Jakmile klientský prohlížeč přejde na odkaz, přesměruje se do produkčního slotu. Každý další požadavek má soubor cookie x-ms-routing-name=self, který přiřadí relaci do produkčního slotu.

Pokud chcete uživatelům umožnit, aby se přihlásili k vaší beta aplikaci, nastavte stejný parametr dotazu na název neprodukčního slotu. Tady je příklad:

<webappname>.azurewebsites.net/?x-ms-routing-name=staging

Ve výchozím nastavení mají nové sloty směrovací pravidlo 0%, zobrazené šedě. Když explicitně nastavíte tuto hodnotu na 0% (zobrazenou černým písmem), uživatelé mohou ručně přistupovat k přípravnému slotu pomocí parametru dotazu x-ms-routing-name. Nebudou směrovány do slotu automaticky, protože procento směrování je nastavené na 0. Tato konfigurace je pokročilý scénář, ve kterém můžete testovací slot skrýt před veřejností a zároveň interním týmům umožnit testovat v něm změny.

Odstranění slotu

  1. Vyhledejte a vyberte aplikaci.

  2. Zvolte Nasazení>Nasazovací sloty>, vyberte slot k odstranění>, a poté přejděte na Přehled. Typ aplikace se zobrazí jako App Service (Slot), který vám připomene, že si prohlížíte slot nasazení.

  3. Zastavte slot a nastavte provoz v slotu na nulu.

  4. Na panelu příkazů vyberte možnost Odstranit.

Snímek obrazovky, který znázorňuje výběry pro odstranění slotu nasazení na portálu.

Automatizace pomocí šablon Resource Manageru

Šablony Azure Resource Manageru jsou deklarativní soubory JSON pro automatizaci nasazení a konfigurace prostředků Azure. Pokud chcete prohodit sloty pomocí šablon Správce prostředků, nastavte dvě vlastnosti na zdroje Microsoft.Web/sites/slots a Microsoft.Web/sites.

  • buildVersion: Řetězcová vlastnost, která představuje aktuální verzi aplikace nasazené v slotu. Například: v1, 1.0.0.1nebo 2019-09-20T11:53:25.2887393-07:00.
  • targetBuildVersion: Vlastnost řetězce, která určuje, jakou buildVersion hodnotu má slot mít. Pokud se targetBuildVersion hodnota nerovná aktuální buildVersion hodnotě, aktivuje operaci prohození vyhledáním slotu se zadanou buildVersion hodnotou.

Příklad šablony Resource Manageru

Následující šablona Správce prostředků prohodí dva sloty tím, že aktualizuje hodnotu buildVersion u slotu staging a nastaví hodnotu targetBuildVersion ve výrobním slotu. Musíte mít slot nazvaný staging.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "my_site_name": {
            "defaultValue": "SwapAPIDemo",
            "type": "String"
        },
        "sites_buildVersion": {
            "defaultValue": "v1",
            "type": "String"
        }
    },
    "resources": [
        {
            "type": "Microsoft.Web/sites/slots",
            "apiVersion": "2018-02-01",
            "name": "[concat(parameters('my_site_name'), '/staging')]",
            "location": "East US",
            "kind": "app",
            "properties": {
                "buildVersion": "[parameters('sites_buildVersion')]"
            }
        },
        {
            "type": "Microsoft.Web/sites",
            "apiVersion": "2018-02-01",
            "name": "[parameters('my_site_name')]",
            "location": "East US",
            "kind": "app",
            "dependsOn": [
                "[resourceId('Microsoft.Web/sites/slots', parameters('my_site_name'), 'staging')]"
            ],
            "properties": {
                "targetBuildVersion": "[parameters('sites_buildVersion')]"
            }
        }        
    ]
}

Tato šablona Resource Manageru je idempotentní. Můžete ho spustit opakovaně a vytvořit stejný stav slotů. Bez jakékoli změny šablony následné běhy té samé šablony nevyvolají žádnou změnu slotů, protože sloty jsou již v požadovaném stavu.

Řešení problémů se swapy

Pokud se během prohození slotu vyskytne chyba, objeví se tato chyba v D:\home\LogFiles\eventlog.xml souboru. Protokoluje se také v protokolu chyb specifických pro aplikaci.

Tady je několik běžných chyb při výměně.

  • Měří se časová délka požadavku HTTP na kořen aplikace. Operace prohození čeká 90 sekund na každý požadavek HTTP a může se zopakovat až pětkrát. Pokud vyprší časový limit všech opakování, operace výměny se zastaví.

  • Inicializace místní mezipaměti může selhat, když obsah aplikace překročí kvótu místního disku, která je určená pro místní mezipaměť. Další informace najdete v přehledu místní mezipaměti služby Azure App Service.

  • Během operace aktualizace lokality může dojít k následující chybě: Slot nejde změnit, protože jeho nastavení konfigurace bylo připravené pro přesun. K této chybě může dojít v případě, že první fáze v několika-fázovém přesunu skončí, ale druhá fáze nenastala. Může k tomu dojít také v případě, že došlo k selhání výměny. Tento problém můžete vyřešit dvěma způsoby:

    • Zrušte operaci prohození, která obnoví webovou stránku do původního stavu.
    • Dokončete výměnnou operaci, která aktualizuje stránky do požadovaného nového stavu.

    Informace o zrušení nebo dokončení operace swapu najdete v části Swap s verzí Preview (vícefázový swap) výše v tomto článku.

  • Během vlastního zahřevování se požadavky HTTP provádějí interně bez průchodu externí adresou URL. Mohou selhat s určitými pravidly přepsání adresy URL v Web.config. Pravidla pro přesměrování názvů domén nebo vynucení HTTPS mohou například zabránit tomu, aby se zahřívací požadavky dostaly ke kódu aplikace. Chcete-li tento problém vyřešit, upravte pravidla přepsání přidáním následujících dvou podmínek:

    <conditions>
      <add input="{WARMUP_REQUEST}" pattern="1" negate="true" />
      <add input="{REMOTE_ADDR}" pattern="^100?\." negate="true" />
      ...
    </conditions>
    
  • Bez speciálního zahřátí mohou pravidla přepsání adresy URL stále blokovat požadavky HTTP. Chcete-li tento problém vyřešit, upravte pravidla přepsání přidáním následující podmínky:

    <conditions>
      <add input="{REMOTE_ADDR}" pattern="^100?\." negate="true" />
      ...
    </conditions>
    
  • Po prohození slotů může docházet k neočekávaným restartům aplikace. K restartům dochází, protože po výměně se konfigurace vazby názvu hostitele dostane mimo synchronizaci. Tato situace sama o sobě restartování nezpůsobuje. Některé základní události úložiště, jako je například převzetí služeb při selhání svazku úložiště, však můžou detekovat tyto nesrovnalosti a vynutit restartování všech pracovních procesů.

    Pokud chcete tyto typy restartování minimalizovat, nastavte WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG=1 nastavení aplikace na všech slotech. Toto nastavení aplikace ale nefunguje s aplikacemi WCF (Windows Communication Foundation).

Další krok