建立部署位置
組織通常需要在部署 Web 應用程式之前,先在隔離的環境中執行 Web 應用程式來進行測試。 他們也需要快速地進行部署,以避免影響到使用者。
假設您正在決定是否要使用位置,來順暢地將 Web 應用程式部署至您的社交媒體系統中。 您想要了解部署位置是否可縮短部署期間的停機時間、是否可讓復原更容易進行,以及是否可以在 Azure 中設定它們。
在這裡,您將了解部署位置如何能讓新程式碼的測試和推出更容易進行。
使用部署位置
您可以在單一 Azure App Service Web 應用程式中建立多個部署位置。 每個位置都是該 Web 應用程式的個別執行個體,並具有個別的主機名稱。 您可以在每個位置中部署不同版本的 Web 應用程式。
其中一個位置是生產位置。 此位置是使用者連線時所看見的 Web 應用程式。 請確保部署到這個位置的應用程式是穩定的且已經過妥善測試。
使用額外的位置來裝載新版的 Web 應用程式。 針對這些執行個體,您可以執行如整合測試、接受度測試與容量測試等的測試。 請在將程式碼移至生產位置之前修正所有問題。 額外位置的運作方式就像其自己的 App Service 執行個體一樣,因此您可以確信自己的測試都能反映出應用程式將在生產環境中執行的方式。
在您對新版應用程式的測試結果感到滿意之後,便可以將其位置與生產位置交換來加以部署。 和程式碼部署不同,位置交換會立即完成。 交換位置時,會交換位置主機名稱,將生產環境流量立即傳送給新版應用程式。 當您使用位置交換來進行部署時,您的應用程式一律不會以部分部署狀態對公用網路公開。
若新版本在仔細測試之後仍出現問題,您只需再次交換位置便能復原為先前的版本。
將位置視為個別的 Azure 資源
當您針對 Web 應用程式使用多個部署位置時,那些位置會被視為該 Web 應用程式的個別執行個體。 例如,其會在 Azure 入口網站的 [所有資源] 頁面中個別列出。 它們會個別擁有屬於自己的 URL。 不過,每個位置皆共用 App Service 方案的資源,包括虛擬機器記憶體與 CPU,以及磁碟空間。
建立部署位置與服務層級
只有當您 Web 應用程式使用「標準」、「進階」或「隔離式方案」服務層級的 App Service 方案時,才可以使用部署位置。 下表顯示您可以建立的位置數目上限:
層 | 預備位置數目上限 |
---|---|
免費 | 0 |
共用 | 0 |
基本 | 0 |
標準 | 5 |
Premium | 20 |
隔離式方案 | 20 |
在交換期間避免冷啟動
許多開發人員用來建立 Web 應用程式的技術,都需要在伺服器上進行最終編譯及其他動作,才能將頁面傳遞給使用者。 許多這些工作都是在應用程式啟動並收到要求時才會完成。 例如,如果您使用 ASP.NET 來建置應用程式,系統將會在第一個使用者要求頁面時才會編譯程式碼並完成檢視。 針對該頁面的後續要求會收到較快的回應,因為該程式碼已經編譯完畢。
這個初始的延遲被稱為「冷啟動」。 若要避免冷啟動,您可以透過使用位置交換來部署至生產位置。 當您將位置交換至生產環境時,您將能「準備好」應用程式,因為您的動作會將要求傳送至網站的根目錄。 此準備要求可確保所有編譯和快取工作都會完成。 在交換之後,網站的回應速度就會有如已部署多日一樣快。
建立部署位置
建立位置之前,請確定您的 Web 應用程式是在「標準」、「進階」或「隔離式方案」服務層級中執行:
在 Azure 入口網站中開啟您的 Web 應用程式。
選取 [部署位置] 窗格。
選取 [加入位置]。
為該位置命名。
選擇是否要從另一個位置複製設定。 如果您要複製,系統就會從您指定的位置將設定複製到新位置。
注意
雖然您可以將設定複製到新的位置,您並無法複製內容。 新位置一律一開始都沒有內容。 您必須透過使用 Git 或另一個部署策略來部署內容。 複製作業會將設定複製到新的位置。 在您複製設定之後,便可以獨立變更這兩個位置的設定。
選取 [加入] 以建立新位置。 您現在可以在 [部署位置] 頁面上的清單中擁有新的位置。 選取該位置以檢視其管理窗格。
存取位置
新位置的主機名稱衍生自 Web 應用程式名稱與位置名稱。 當您在 [部署位置] 頁面上選取該位置時,即可獲得此主機名稱:
您可以依照和針對生產位置部署程式碼相同的方式,將程式碼部署到新位置。 只要取代您所使用部署工具之組態中的新位置名稱或 URL 即可。 如果使用 FTP 來部署,您會在該位置的 URL 底下看到 FTP 主機名稱與使用者名稱。
新位置基本上便是具有不同主機名稱的個別 Web 應用程式。 這就是為何在網際網路上,只要知道該主機名稱的人就能存取該主機的原因。 除非您向搜尋引擎註冊該位置,或從搜耙頁面連結至該位置,否則該位置將不會出現在搜尋引擎索引中。 其會對一般網際網路使用者保持隱匿狀態。
您可以使用 IP 位址限制來控制對某個位置的存取。 建立允許存取或拒絕存取該位置的 IP 位址範圍清單。 這些清單就像是您可以在防火牆上設定的允許範圍和拒絕範圍。 請使用此清單來只允許您公司或開發小組所擁有的電腦進行存取。