探索App Service 網路功能

已完成

根據預設,裝載在App Service中的應用程式可以直接透過因特網存取,而且只能連線到因特網裝載的端點。 對於許多應用程式,您需要控制輸入和輸出網路流量。

Azure App Service 有兩個主要部署類型:

  • 多租使用者公用服務會在免費、共用、基本、標準、進階、PremiumV2 和 PremiumV3 定價 SKU 中裝載 App Service 方案。
  • 單一租使用者 App Service 環境 (ASE) 會直接在 Azure 虛擬網路中裝載隔離的 SKU App Service 方案。

多租使用者 App Service 網路功能

Azure App Service 是分散式系統。 處理傳入 HTTP 或 HTTPS 要求的角色稱為 前端。 裝載客戶工作負載的角色稱為 背景工作角色。 App Service 部署中的所有角色都存在於多租用戶網路中。 由於相同 App Service 縮放單位中有許多不同的客戶,因此您無法將 App Service 網路直接連線到您的網路。

您不需要連線網路,而是需要功能來處理應用程式通訊的各個層面。 處理應用程式要求的功能,無法用來解決您從應用程式進行呼叫時的問題。 同樣地,解決來自您 app 呼叫問題的功能無法用來解決應用程式的問題。

輸入功能 輸出功能
應用程式指派的位址 混合式連線
存取限制 閘道所需的虛擬網路整合
服務端點 虛擬網路整合
私人端點

您可以混合這些功能來解決您的問題,但有一些例外狀況。 下列輸入使用案例是如何使用App Service網路功能來控制應用程式輸入流量的範例。

輸入使用案例 特徵
支援應用程式的IP型SSL需求 應用程式指派的位址
支援應用程式的未共用專用輸入位址 應用程式指派的位址
限制從一組定義完善的位址存取您的應用程式 存取限制

默認網路行為

Azure App Service 縮放單位支援每個部署中的許多客戶。 免費和共用 SKU 方案在多租使用者工作者上裝載客戶工作負載。 基本和更高方案只會裝載一個 App Service 方案專用的客戶工作負載。 如果您有標準 App Service 方案,該方案中的所有應用程式都會在相同的背景工作角色上執行。 如果您相應放大背景工作角色,該 App Service 方案中的所有應用程式都會在 App Service 方案中每個實例的新背景工作角色上複寫。

輸出位址

背景工作虛擬機大部分都由App Service方案細分。 免費、共用、基本、標準和進階方案全都使用相同的背景工作虛擬機類型。 PremiumV2 方案使用另一個虛擬機類型。 PremiumV3 使用另一個虛擬機類型。 當您變更虛擬機器系列時,您會取得一組不同的輸出位址。

有許多位址用於輸出呼叫。 您的應用程式用來進行輸出呼叫的輸出位址會列在應用程式的屬性中。 這些位址是由App Service 部署中相同背景工作虛擬機系列上執行的所有應用程式共用。 如果您想要查看應用程式在縮放單位中可能使用的所有位址,有一個稱為 possibleOutboundIpAddresses 的屬性會列出這些位址。

尋找輸出IP

若要在 Azure 入口網站中尋找應用程式目前使用的輸出 IP 位址,請在應用程式的左側導覽中選取 [屬性]

您可以在 Cloud Shell 中執行下列 Azure CLI 命令,以找到相同的資訊。 它們列在 [其他輸出 IP 位址] 字段中。

az webapp show \
    --resource-group <group_name> \
    --name <app_name> \ 
    --query outboundIpAddresses \
    --output tsv

若要尋找應用程式的所有可能輸出IP位址,不論定價層為何,請在CloudShell中執行下列命令。

az webapp show \
    --resource-group <group_name> \ 
    --name <app_name> \ 
    --query possibleOutboundIpAddresses \
    --output tsv