Share via


在虛擬網路中部署 Azure Spring Apps

注意

Azure Spring Apps 是 Azure Spring Cloud 服務的新名稱。 雖然服務有新的名稱,但是您暫時還是會在某些位置看到舊的名稱。我們正在致力更新螢幕擷取畫面、影片和圖表等資產。

本文適用於: ✔️ Java ✔️ C#

本文適用於:❌ 基本✔️標準✔️企業

本教學課程說明如何在虛擬網路中部署 Azure Spring Apps 實例。 此部署有時稱為 VNet 插入。

部署會啟用:

  • 隔離 Azure Spring Apps 應用程式和服務運行時間,從公司網路上的因特網。
  • Azure Spring Apps 與其他虛擬網路內部部署數據中心或 Azure 服務中的系統互動。
  • 讓客戶能夠控制 Azure Spring Apps 的輸入和輸出網路通訊。

下列影片說明如何使用受控虛擬網路保護 Spring Boot 應用程式。


注意

您只能在建立新的 Azure Spring Apps 服務實例時選取您的 Azure 虛擬網路。 建立 Azure Spring Apps 之後,您無法變更為使用另一個虛擬網路。

必要條件

根據在 Azure 入口網站 註冊資源提供者中的指示,或執行下列 Azure CLI 命令,註冊 Azure Spring Apps 資源提供者Microsoft.AppPlatformMicrosoft.ContainerService

az provider register --namespace Microsoft.AppPlatform
az provider register --namespace Microsoft.ContainerService

虛擬網路需求

您部署 Azure Spring Apps 實體的虛擬網路必須符合下列需求:

  • 位置:虛擬網路必須位於與 Azure Spring Apps 實例相同的位置。
  • 訂用帳戶:虛擬網路必須與 Azure Spring Apps 實例位於相同的訂用帳戶中。
  • 子網:虛擬網路必須包含兩個專用於 Azure Spring Apps 實例的子網:
    • 服務運行時間的其中一個。
    • 一個用於 Spring 應用程式。
    • 這些子網與 Azure Spring Apps 實例之間有一對一關聯性。 針對您部署的每個服務實例使用新的子網。 每個子網只能包含單一服務實例。
  • 地址空間:CIDR 會針對服務運行時間子網和 Spring 應用程式子網封鎖最多 /28
  • 路由表:根據預設,子網不需要相關聯的現有路由表。 您可以 自備路由表

使用下列步驟來設定虛擬網路以包含 Azure Spring Apps 實例。

建立虛擬網路

如果您已經有用來裝載 Azure Spring Apps 實例的虛擬網路,請略過步驟 1、2 和 3。 您可以從步驟 4 開始準備虛擬網路的子網。

  1. 在 Azure 入口網站功能表上,選取 [建立資源]。 從 Azure Marketplace 選取 [網络>虛擬網络]。

  2. 在 [ 建立虛擬網络 ] 對話框中,輸入或選取下列資訊:

    設定
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取您的資源群組,或建立新的資源群組。
    名稱 輸入 azure-spring-apps-vnet
    Location 選取 [美國東部]
  3. 選取 [下一步:IP 位址]

  4. 針對IPv4位址空間,輸入 10.1.0.0/16

  5. 選取 [新增子網路]。 然後輸入 service-runtime-subnet for Subnet name,然後針對 [子網位址範圍] 輸入 10.1.0.0/24。 然後選取 [新增]。

  6. 再次選取 [新增子網 ],然後輸入子網名稱和子網位址範圍。 例如,輸入 apps-subnet10.1.1.0/24。 然後選取 [新增]。

  7. 選取 [檢閱 + 建立]。 將其餘專案保留為預設值,然後選取 [ 建立]。

將服務許可權授與虛擬網路

本節說明如何將虛擬網路的擁有者許可權授與 Azure Spring Apps。 此許可權可讓您在虛擬網路上授與專用和動態服務主體,以進行進一步的部署和維護。

注意

最少的必要許可權是使用者存取 管理員 istrator網路參與者。 如果您無法授與許可權,您可以將角色指派授 Owner 與兩者。

如果您使用自己的路由表或使用者定義的路由功能,您也需要將相同的角色指派授與 Azure Spring Apps 給路由表。 如需詳細資訊,請參閱 自備路由表 一節和 控制 Azure Spring Apps 實例的輸出流量。

使用下列步驟來授與許可權:

  1. 選取您先前建立的虛擬網路 azure-spring-apps-vnet

  2. 選取 [訪問控制][IAM],然後選取 [新增>角色指派]。

    Azure 入口網站 存取控制 (IAM) 頁面的螢幕快照,其中顯示醒目提示 [新增角色指派] 按鈕的 [檢查存取權] 索引標籤。

  3. Owner 角色指派給 Azure Spring Apps 資源提供者。 如需詳細資訊,請參閱使用 Azure 入口網站指派 Azure 角色

    注意

    如果您找不到 Azure Spring Apps 資源提供者,請搜尋 Azure Spring Cloud 資源提供者

    [Azure 入口網站 存取控制] 頁面的螢幕快照,其中已醒目提示 [新增角色指派] 窗格和 [選取] 方塊,其中已醒目提示 [Azure Spring Apps 資源提供者]。

部署 Azure Spring Apps 實例

使用下列步驟在虛擬網路中部署 Azure Spring Apps 實例:

  1. 開啟 Azure 入口網站

  2. 在頂端搜尋方塊中,搜尋 Azure Spring Apps。 從結果中選取 [Azure Spring Apps ]。

  3. 在 [ Azure Spring Apps] 頁面上,選取 [ 新增]。

  4. 填寫 [Azure Spring Apps 建立 ] 頁面上的窗體。

  5. 選取與虛擬網路相同的資源群組和區域。

  6. 針對 [服務詳細數據] 底下的 [名稱],選取 [azure-spring-apps-vnet]。

  7. 選取 [ 網络] 索引 標籤,然後選取下列值:

    設定
    在您自己的虛擬網路中部署 選取 [是]
    虛擬網路 選取 azure-spring-apps-vnet
    服務運行時間子網 選取 service-runtime-subnet
    Spring Boot 微服務應用程式子網 選取 [應用程式子網]。

    Azure 入口網站 Azure Spring Apps 建立頁面的螢幕快照,其中顯示 [網络] 索引標籤。

  8. 選取 [檢閱和建立]

  9. 確認您的規格,然後選取 [ 建立]。

    Azure 入口網站 Azure Spring Apps 建立頁面的螢幕快照,其中顯示 [檢閱和建立] 索引標籤的 [網络] 區段。

部署之後,訂用帳戶中會再建立兩個資源群組,以裝載 Azure Spring Apps 實例的網路資源。 移至 [ 首頁],然後從頂端功能表項選取 [資源群組 ],以尋找下列新的資源群組。

名為的資源 ap-svc-rt_{service instance name}_{service instance region} 群組包含服務實例服務運行時間的網路資源。

顯示服務運行時間資源的 Azure 入口網站 螢幕快照。

名為的資源 ap-app_{service instance name}_{service instance region} 群組包含服務實例之 Spring 應用程式的網路資源。

Azure 入口網站 螢幕快照,其中顯示 Spring 應用程式的資源。

這些網路資源會連線到您在上圖中建立的虛擬網路。

Azure 入口網站 的螢幕快照,其中顯示虛擬網路 連線 裝置頁面。

重要

資源群組完全由 Azure Spring Apps 服務管理。 請勿手動刪除或修改內部的任何資源。

使用較小的子網範圍

下表顯示 Azure Spring Apps 支援使用較小子網範圍的應用程式實例數目上限。

應用程式子網 CIDR IP 總數 可用的IP 應用程式實例數目上限
/28 16 8

具有 0.5 核心的應用程式:192
具有一個核心的應用程式:96
具有兩個核心的應用程式:48
具有三個核心的應用程式:32
具有四個核心的應用程式:24

/27 32 24

具有 0.5 核心的應用程式:456
具有一個核心的應用程式:228
具有兩個核心的應用程式:144
具有三個核心的應用程式:96
具有四個核心的應用程式:72

/26 64 56

具有 0.5 核心的應用程式:500
具有一個核心的應用程式:500
具有兩個核心的應用程式:336
具有三個核心的應用程式:224
具有四個核心的應用程式:168

/25 128 120

具有 0.5 核心的應用程式:500
具有一個核心的應用程式:500
具有兩個核心的應用程式:500
具有三個核心的應用程式:480
具有四個核心的應用程式:360

/24 256 248

具有 0.5 核心的應用程式:500
具有一個核心的應用程式:500
具有兩個核心的應用程式:500
具有三個核心的應用程式:500
具有四個核心的應用程式:500

針對子網,Azure 會保留五個 IP 位址,而 Azure Spring Apps 至少需要三個 IP 位址。 至少需要八個IP位址,因此 /29和 /30是非操作。

針對服務運行時間子網,大小下限為 /28。

注意

小型子網範圍會影響您可以用於輸入控制器等系統元件的基礎資源。 Azure Spring Apps 會使用基礎輸入控制器來處理應用程式流量管理。 輸入控制器實例的數目會在應用程式流量增加時自動增加。 如果應用程式流量在未來可能會增加,請保留較大的虛擬網路子網IP範圍。 您通常會為每秒 10000 個要求的流量保留一個 IP 位址。

自備路由表

Azure Spring Apps 支援使用現有的子網和路由表。

如果您的自定義子網不包含路由表,Azure Spring Apps 會針對每個子網建立它們,並在實例生命週期中新增規則。 如果您的自定義子網包含路由表,Azure Spring Apps 會在實例作業期間認可現有的路由表,並據以新增/更新和/或作業的規則。

警告

自訂規則可以新增至自定義路由表並更新。 不過,Azure Spring Apps 會新增規則,這些規則不得更新或移除。 0.0.0.0/0 等規則必須一律存在於指定的路由表中,並對應至您網際網路閘道的目標,例如 NVA 或其他輸出閘道。 只有在修改自定義規則時,更新規則時請小心。

路由表需求

自定義 vnet 相關聯的路由表必須符合下列需求:

  • 只有在建立新的 Azure Spring Apps 服務實例時,您才能將 Azure 路由表與您的 vnet 產生關聯。 建立 Azure Spring Apps 之後,您無法變更為使用另一個路由表。
  • Spring 應用程式子網和服務運行時間子網都必須與不同的路由表相關聯,或兩者都沒有關聯。
  • 必須先指派許可權,才能建立實例。 請務必將路由表的許可權(或User Access Administrator和許可權)授與 Network Contributor Azure Spring Apps 資源提供者Owner
  • 叢集建立之後,您無法更新相關聯的路由表資源。 雖然您無法更新路由表資源,但您可以在路由表上修改自定義規則。
  • 由於可能衝突的路由規則,您無法重複使用具有多個實例的路由表。

使用自定義 DNS 伺服器

Azure Spring Apps 支援在您的虛擬網路中使用自定義 DNS 伺服器。

如果您未在 DNS 伺服器 虛擬網絡 設定中指定自定義 DNS 伺服器,Azure Spring Apps 預設會使用 Azure DNS 解析 IP 位址。 如果您的虛擬網路已使用自定義 DNS 設定進行設定,請在自定義 DNS 伺服器中新增 Azure DNS IP 168.63.129.16 作為上游 DNS 伺服器。 Azure DNS 可以解析虛擬網路中執行 Azure Spring Apps 的客戶責任中所述 所有公用 FQDN 的 IP 位址。 它也可以解析虛擬網路中的IP位址 *.svc.private.azuremicroservices.io

如果您的自定義 DNS 伺服器無法將 Azure DNS IP 168.63.129.16 新增為上游 DNS 伺服器,請使用下列步驟:

下一步