檢查位置交換

已完成

當您將位置交換時 (例如,從預備位置到生產位置),App Service 會執行下列動作,以確保目標位置不會發生停機:

  1. 將下列設定從目標位置 (如生產位置) 套用至來源位置的所有執行個體:

    • 位置特定的應用程式設定及連接字串 (如果適用)。
    • 持續部署設定 (如已啟用)。
    • App Service 驗證設定 (如已啟用)。

    上述任一案例都會致使來源位置中的所有執行個體重新啟動。 在使用預覽交換期間,這會指出第一個階段的結尾。 交換作業會暫停,您可以驗證來源位置是否能夠與目標位置的設定正確搭配運作。

  2. 等候來源位置中的每個執行個體重新啟動。 如果有任何執行個體無法重新啟動,交換作業將會還原對來源位置的所有變更,並停止作業。

  3. 如果啟用本機快取,請在來源位置的每個執行個體上,對應用程式根目錄 ("/") 發出 HTTP 要求,觸發本機快取初始化。 請等候每個執行個體傳回任何 HTTP 回應。 本機快取初始化會致使每個執行個體再次執行重新啟動。

  4. 如果自動交換隨自訂準備啟用,請在來源位置的每個執行個體上,對應用程式根目錄 ("/") 發出 HTTP 要求,觸發應用程式初始化。

    • 若未指定 applicationInitialization,請在每個執行個體上對來源位置的應用程式根目錄觸發 HTTP 要求。

    • 執行個體若傳回了任何 HTTP 回應,即會被視為已準備就緒。

  5. 如果成功準備來源位置上的所有執行個體,請交換兩個位置的路由規則,交換這兩個位置。 完成此步驟後,目標位置 (例如生產位置) 就會有先前已在來源位置準備就緒的應用程式。

  6. 既然來源位置有先前已在目標位置中預先交換的應用程式,請套用所有設定並重新啟動執行個體,藉此執行相同的作業。

在交換作業的任何時間點,所有對交換的應用程式進行初始化的工作都會在來源位置上執行。 無論交換成功或失敗,在來源位置進行準備和準備就緒時,目標位置都會保持線上狀態。 若要交換預備位置與生產位置,請確定生產位置一律為目標位置。 如此,交換作業就不會對生產應用程式產生影響。

當您複製其他部署位置的組態時,可以編輯複製的組態。 某些設定元素在交換時會保有內容 (非位置特定),而其他組態元素則會在交換之後保留於同一個位置中 (位置特定)。 下表顯示交換位置時會變更的設定。

交換的設定 未交換的設定
一般設定,例如 Framework 版本、32/64 位元、Web 通訊端 發行端點
應用程式設定 (可以設定為停在某一個位置) 自訂網域名稱
連接字串 (可以設定為停在某一個位置) 非公用憑證與 TLS/SSL 設定
處理常式對應 調整大小設定
公開憑證 WebJobs 排程器
WebJobs 內容 IP 限制
混合式連線 * 永遠開啟
虛擬網路整合 * 診斷記錄設定
服務端點 * 跨原始來源資源分享 (CORS)
Azure 內容傳遞網路 *

標記星號 (*) 的功能計劃為不進行交換。

注意

若要讓設定可進行交換,請在應用程式的每個位置上新增應用程式設定 WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS,並將其值設定為 0false。 這些設定為全部可交換或完全無法交換。 您無法只讓部分設定可交換,而其他設定無法交換。 受控識別一律不會交換,且不受此覆寫應用程式設定的影響。

若要設定特定位置固有的應用程式設定或連接字串 (不會交換),請移至該位置的 [設定] 頁面。 新增或編輯設定,然後選取 [部署位置設定]。 選取此核取方塊,會向 App Service 指出設定是無法交換的。