分享方式:


建立及使用內部負載平衡器 App Service 環境

重要

本文說明隔離式 App Service 方案搭配使用的 App Service 環境 v2 相關資訊。 App Service 環境 v1 和 v2 自 2024 年 8 月 31 日起已淘汰 (英文)。 有較新版本的 App Service 環境,其更易於使用,並且是在更強大的基礎結構上執行。 若要深入了解新版本,請從 App Service 環境簡介開始。 如果您目前使用 App Service 環境 v1,請遵循此文章中的步驟來移轉至新版本。

自 2024 年 8 月 31 日起,服務等級協定 (SLA) 和服務點數 (英文) 將不再適用於繼續在生產環境中的 App Service 環境 v1 和 v2 工作負載,因為其是已淘汰的產品。 App Service 環境 v1 和 v2 硬體的解除委任已經開始,而這可能會影響您的應用程式和資料的可用性和效能。

您必須立即完成移轉至 App Service 環境 v3,否則您的應用程式和資源可能會遭到刪除。 我們會嘗試使用就地移轉功能,自動移轉任何剩餘的 App Service Environment v1 和 v2,但 Microsoft 並未就自動移轉後的相關應用程式可用性提供聲明或保證。 您可能需要執行手動設定來完成移轉,並最佳化您的 App Service 方案 SKU 選擇,以符合您的需求。 如果自動移轉不可行,您的資源和相關聯的應用程式資料將遭到刪除。 我們強烈敦促您立即採取行動,以避免上述任一極端案例。

如果您需要額外的時間,我們可以提供一次性 30 天的寬限期,讓您完成移轉。 如需詳細資訊和申請寬限期,請檢閱寬限期概觀 (英文),然後移至 Azure 入口網站,造訪每個 App Service 環境的窗格。

如需 App Service 環境 v1/v2 淘汰的最新資訊,請參閱 App Service 環境 v1 和 v2 淘汰更新

Azure App Service 環境 (ASE) 是將 Azure App Service 部署到客戶 Azure 虛擬網路 (VNet) 中子網路的一種部署。 有二種方法可以部署 App Service Environment (ASE):

  • 使用外部 IP 位址上的 VIP,通常稱為「外部 ASE」。
  • 使用內部 IP 位址上的 VIP,通常稱為 「ILB ASE」,因為內部端點是內部負載平衡器 (ILB)。

本文說明如何建立 ILB ASE。 如需 ASE 的概觀,請參閱 App Service Environment 簡介。 若要深了解如何建立外部 ASE,請參閱 [建立外部 ASE][MakeExternalASE]。

概觀

您可以使用網際網路可存取端點或是您的 VNet 中的 IP 位址來部署 ASE。 為了將 IP 位址設定為 VNet 位址,ASE 必須與 ILB 一起部署。 在部署 ASE 與 ILB 時,您必須提供您的 ASE 名稱。 ASE 名稱使用於您的 ASE 中應用程式的網域尾碼。 ILB ASE 的網域尾碼是 <ASE 名稱>.appserviceenvironment.net。 在 ILB ASE 中製作的應用程式不會放在公用 DNS 中。

舊版的 ILB ASE 會要求您提供網域尾碼和預設憑證,以便進行 HTTPS 連線。 網域尾碼不再於 ILB ASE 建立時收集,而且也不會再收集預設憑證。 當您立即建立 ILB ASE 時,預設憑證是由 Microsoft 提供並受到瀏覽器信任。 您仍可在 ASE 中的應用程式上設定自訂網域名稱,並在這些自訂網域名稱上設定憑證。

使用 ILB ASE,您可以執行以下動作:

  • 在您可透過端對端或 ExpressRoute 存取的雲端,安全地裝載內部網路應用程式。
  • 使用 WAF 裝置保護應用程式
  • 在雲端裝載未在公用 DNS 伺服器中列出的應用程式。
  • 建立與網際網路隔離,且您的前端 app 可以安全地與之整合的後端應用程式。

已停用的功能

使用 ILB ASE 時,有一些動作您無法執行:

  • 使用 IP 型 TLS/SSL 繫結。
  • 將 IP 位址指派給特定應用程式。
  • 透過 Azure 入口網站購買憑證並搭配應用程式使用。 您可以直接透過「憑證授權單位」取得憑證並搭配您的應用程式使用。 您無法透過 Azure 入口網站取得它們。

建立 ILB ASE

若要建立 ILB ASE,請參閱使用 Azure Resource Manager 範本建立 ASE

注意

App Service 環境名稱不能超過 36 個字元。

在 ILB ASE 中建立應用程式:

在 ILB ASE 中建立應用程式的做法,與在 ASE 中建立應用程式相同。

  1. 在 Azure 入口網站中,選取 [建立資源]>[Web]>[Web 應用程式]

  2. 輸入應用程式的名稱。

  3. 選取訂用帳戶。

  4. 選取或建立資源群組。

  5. 選取您的 [發佈]、[執行階段堆疊] 和 [作業系統]。

  6. 選取位於現有 ILB ASE 的位置。

  7. 選取或建立 App Service 方案。

  8. 選取 [檢閱並建立],然後在準備就緒時選取 [建立]

Web 工作、函式和 ILB ASE

ILB ASE 支援函式和 Web 工作,但若要讓入口網站可以使用,您必須具有 SCM 網站的網路存取。 這表示您的瀏覽器必須在主機上,或是在虛擬網路中或已連線到虛擬網路。 如果 ILB ASE 的網域名稱結尾不是 appserviceenvironment.net,您就必須讓您的瀏覽器信任您的 scm 網站所使用的 HTTPS 憑證。

DNS 組態

當您使用外部 ASE 時,在 ASE 中建立的應用程式會使用 Azure DNS 註冊。 然後,外部 ASE 中沒有任何其他步驟可供您的應用程式公開使用。 使用 ILB ASE 時,您必須管理您自己的 DNS。 您可以在自己的 DNS 伺服器中或使用 Azure DNS 私人區域執行此動作。

若要使用 ILB ASE 在您自己的 DNS 伺服器中設定 DNS:

  1. 建立 <ASE 名稱>.appserviceenvironment.net 的區域
  2. 在該區域中建立將 * 指向 ILB IP 位址的 A 記錄
  3. 在該區域中建立將 @ 指向 ILB IP 位址的 A 記錄
  4. 在名為 scm 的 <ASE name>.appserviceenvironment.net 中建立區域
  5. 在 scm 區域中建立將 * 指向 ILB IP 位址的 A 記錄

若要在 Azure DNS 私人區域中設定 DNS:

  1. 建立名為 <ASE name>.appserviceenvironment.net 的 Azure DNS 私人區域
  2. 在該區域中建立將 * 指向 ILB IP 位址的 A 記錄
  3. 在該區域中建立將 @ 指向 ILB IP 位址的 A 記錄
  4. 在該區域中建立將 *scm 指向 ILB IP 位址的 A 記錄

ASE 預設網域後綴的 DNS 設定不會限制您的應用程式只能由這些名稱存取。 您可以在 ILB ASE 中設定自訂網域名稱,而無需對您的應用程式進行任何驗證。 如果您想要建立名為 contoso.net 的區域,則可以這麼做,並將其指向 ILB IP 位址。 自訂網域名稱適用於應用程式要求,但不適用於 scm 網站。 scm 網站僅適用於 <appname>.scm.<asename>.appserviceenvironment.net。

名為 .<asename>.appserviceenvironment.net 的區域是全域唯一。 在 2019 年 5 月之前,客戶能夠指定 ILB ASE 的網域後綴。 如果想要使用 .contoso.com 作為網域尾碼,您可以這麼做,但將會包含 SCM 網站。 該模型存在挑戰,包括: 管理預設 TLS/SSL 憑證、使用 scm 網站缺乏單一登錄,以及使用萬用字元憑證的需求。 ILB ASE 預設憑證升級程序也會造成干擾,並導致應用程式重新啟動。 為了解決這些問題,ILB ASE 行為已變更為根據 ASE 的名稱和使用 Microsoft 擁有的後綴使用網域後綴。 ILB ASE 行為的變更只會影響 2019 年 5 月之後進行的 ILB ASE。 預先存在的 ILB ASE 仍必須管理 ASE 及其 DNS 設定的預設憑證。

使用 ILB ASE 發佈

每一個建立的應用程式,都有兩個端點。 在 ILB ASE 中,您有 <應用程式名稱>.<ILB ASE 網域><應用程式名稱>.scm.<ILB ASE 網域>

SCM 網站名稱會帶您前往 Azure 入口網站中的 Kudu 主控台,稱為 [進階入口網站]。 Kudu 主控台可讓您檢視環境變數、探索磁碟、使用主控台等等。 如需詳細資訊,請參閱 Azure App Service 的 Kudu 主控台

網際網路型的 CI 系統 (如 GitHub 和 Azure DevOps),依然可以搭配 ILB ASE 使用,前提是組建代理程式可以存取網際網路,而且位在與 ILB ASE 相同的網路中。 對於 Azure DevOps,如果建立組建代理程式的 VNET 與 ILB ASE 相同 (子網路不同沒關係),就能從 Azure DevOps git 提取程式碼,並部署到 ILB ASE。 如果您不想要建立自己的組建代理程式,便需要使用採用提取模型的 CI 系統,如 Dropbox。

ILB ASE 中應用程式的發佈端點會使用 ILB ASE 建立的網域。 在應用程式的發行設定檔中,以及應用程式的入口網站刀鋒視窗中可以看到這個網域 (在 [概觀]> [基本資訊] 以及 [屬性] 中)。 如果您的 ILB ASE 包含網域尾碼 <ASE 名稱>.appserviceenvironment.net,且應用程式名為 mytest,請在 FTP 中使用 mytest.<ASE 名稱>.appserviceenvironment.net,及 MSDeploy 部署中使用 mytest.scm.contoso.net

設定具有 WAF 裝置的 ILB ASE

您可以結合 Web 應用程式防火牆 (WAF) 裝置與您的 ILB ASE,只公開您想要連到網際網路的應用程式,而其餘的應用程式只能在 VNet 中存取。 不說別的,這可讓您建置安全的多層式應用程式。

若要深入了解如何設定 ILB ASE 與 WAF 裝置,請參閱使用 App Service 環境設定 Web 應用程式防火牆。 此文章說明如何搭配使用您的 ASE 與 Barracuda 虛擬應用裝置。 另一個選項是使用 Azure 應用程式閘道。 應用程式閘道會使用 OWASP 核心規則來保護後面的任何應用程式。 如需有關應用程式閘道的詳細資訊,請參閱 Azure Web 應用程式防火牆簡介

在 2019 年 5 月前製作的 ILB ASE

在 2019 年 5 月前製作的 ILB ASE 需要您在 ASE 建立期間設定網域尾碼。 您也需要上傳以該網域尾碼為基礎的預設憑證。 此外,使用較舊的 ILB ASE,您就無法使用該 ILB ASE 中的應用程式,對 Kudu 主控台執行單一登入。 針對較舊的 ILB ASE 設定 DNS 時,您需要在符合您網域尾碼的區域中設定萬用字元 A 記錄。 使用自訂網域尾碼建立或變更 ILB ASE 時,您必須使用 Azure Resource Manager 範本和 2019 之前的 API 版本。 上次支援的 API 版本為 2018-11-01

開始使用