探索 App Service 網路功能

已完成

依預設,裝載於 App Service 的應用程式可以直接透過網際網路存取,而且只能連線到網際網路裝載的端點。 但對於許多應用程式,您必須控制輸入和輸出網路流量。

Azure App Service 有兩種主要部署類型。 多租用戶公用服務會在 Free、Shared、Basic、Standard、Premium、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 Service 網路功能來控制對您的應用程式輸入流量的範例。

輸入使用案例 功能
支援應用程式以 IP 為基礎的 SSL 需求 應用程式指派的位址
針對您應用程式支援未共用的專用輸入位址 應用程式指派的位址
以一組定義完善的位址限制存取您的應用程式 存取限制

預設網路行為

Azure App Service 縮放單位在每個部署中支援許多客戶。 Free 和 Shared SKU 方案會裝載多租用戶工作者上的客戶工作負載。 Basic 和更高方案會裝載專屬於僅限一個 App Service 方案的客戶工作負載。 如果您有 Standard App Service 方案,該方案中的所有應用程式都會在相同背景工作角色上執行。 如果您向外延展背景工作角色,該 App Service 方案中的所有應用程式都會在您的 App Service 方案中每個執行個體的新背景工作角色上複寫。

輸出位址

背景工作角色 VM 會依 App Service 方案細分為大部分。 Free、Shared、Basic、Standard 和 Premium 方案全都使用相同的背景工作角色 VM 類型。 PremiumV2 方案使用另一個 VM 類型。 PremiumV3 還使用另一個 VM 類型。 變更 VM 系列時,您會收到一組不同的輸出位址。

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

尋找輸出 IP

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

您可以在 Cloud Shell 中執行 Azure CLI 下列命令來找到同樣的資訊。 位址會列在 [其他輸出 IP 位址] 欄位中。

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

若要尋找您應用程式所有可能的輸出 IP 位址 (無論定價層),請在 Cloud Shell 中執行下列命令。

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