本文將逐步解說建置範例應用程式基礎結構。 我們會詳細說明為簡單的在線商店設計基礎結構,將命名慣例、可用性設定組、虛擬網路和負載平衡器的所有指導方針和決策結合在一起,並實際部署虛擬機 (VM)。
範例工作負載
Adventure Works Cycles 想要在 Azure 中建置一個包含的線上商店應用程式:
- 在 Web 層中執行用戶端前端的兩部 IIS 伺服器
- 兩部 IIS 伺服器在應用層中處理數據和訂單
- 具有「AlwaysOn」可用性群組的兩個 Microsoft SQL Server 實例(兩個 SQL Server 及多數節點見證),用於將產品數據和訂單儲存在資料庫層中。
- 驗證層中客戶帳戶和供貨商的兩個 Active Directory 域控制器
- 所有伺服器都位於兩個子網中:
- 網頁伺服器的前端子網路
- 應用程式伺服器、SQL 叢集和域控制器的後端子網
當客戶瀏覽在線商店時,網頁伺服器之間的連入安全 Web 流量必須進行負載平衡。 來自 Web 伺服器的 HTTP 請求形式的訂單處理流量必須在應用程式伺服器之間進行平衡分配。 此外,基礎結構必須針對高可用性而設計。
產生的設計必須納入:
- Azure 訂閱與帳戶
- 單一資源群組
- Azure 受管磁碟
- 具有兩個子網的虛擬網路
- 具有類似角色的 VM 可用性設定組
- 虛擬機
上述所有都遵循下列命名慣例:
- Adventure Works Cycles 使用 [IT 工作負載]-[location]-[Azure 資源] 作為字首
- 在此範例中,“azos” (Azure Online Store) 是 IT 工作負載名稱,而 “使用” (美國東部 2) 是位置
- 虛擬網路使用 AZOS-USE-VN**[number]**
- 可用性設定組使用 azos-use-as-[role]
- 虛擬機名稱使用 azos-use-vm-[vmname]
Azure 訂閱和帳戶
Adventure Works Cycles 使用其名為 Adventure Works Enterprise Subscription 的企業訂用帳戶來對此 IT 工作負載進行計費。
存儲
Adventure Works Cycles 決定使用 Azure 管理磁碟。 建立 VM 時,會使用這兩個可用的儲存層:
- Web 伺服器、應用程式伺服器和域控制器及其數據磁碟的標準記憶體。
- SQL Server VM 及其數據磁碟的進階記憶體。
虛擬網路和子網路
由於虛擬網路不需要持續連線至 Adventure Work Cycles 內部部署網路,因此他們決定使用僅限雲端的虛擬網路。
他們使用 Azure 入口網站建立具有下列設定的僅限雲端虛擬網路:
- 名稱:AZOS-USE-VN01
- 位置:美國東部地區 2
- 虛擬網路位址空間:10.0.0.0/8
- 第一個子網:
- 名稱:FrontEnd
- 地址空間:10.0.1.0/24
- 第二個子網:
- 名稱:BackEnd
- 地址空間:10.0.2.0/24
可用性設定組
為了維持其在線商店所有四層的高可用性,Adventure Works Cycles 決定使用四個可用性設定組:
- azos-use-as-web 用於網頁伺服器
- azos-use-as-app 用於應用程式伺服器
- azos-use-as-sql 用於 SQL 伺服器
- azos-use-as-dc 用於域控制器
虛擬機
Adventure Works Cycles 決定其 Azure VM 的下列名稱:
- azos-use-vm-web01 用於第一部網頁伺服器
- azos-use-vm-web02 第二部網頁伺服器
- 用於第一個應用程式伺服器的 azos-use-vm-app01
- 用於第二部應用伺服器的 azos-use-vm-app02
- 叢集中第一部 SQL Server 伺服器的 azos-use-vm-sql01
- 用於叢集中第二部 SQL Server 伺服器的 azos-use-vm-sql02
- 將 azos-use-vm-dc01 作為第一個域控制器
- azos-use-vm-dc02 用於第二個域控制器
以下是產生的組態。
中部署的最終應用程式基礎結構
此組態包含:
- 僅限雲的虛擬網路,包含兩個子網「FrontEnd」和「BackEnd」
- 具有標準和進階磁碟的 Azure 受控磁碟
- 四個可用性設定組,一個用於在線商店的每一層
- 四個層級的虛擬機
- 從因特網到 Web 伺服器之 HTTPS 型 Web 流量的外部負載平衡集
- 從 Web 伺服器到應用程式伺服器之未加密 Web 流量的內部負載平衡集
- 單一資源群組