本文逐步讲解如何构建示例应用程序基础结构。 我们详细介绍了为简单的在线商店设计基础结构,这些基础结构汇集了有关命名约定、可用性集、虚拟网络和负载均衡器的所有准则和决策,以及实际部署虚拟机(VM)。
示例工作负荷
Adventure Works Cycles 希望在 Azure 中生成一个在线商店应用程序,其中包括:
- 在 Web 层中运行客户端前端的两个 IIS 服务器
- 两台 IIS 服务器处理应用程序层中的数据和订单
- 两个包含 AlwaysOn 可用性组的 Microsoft SQL Server 实例(两个 SQL Server 和多数节点见证),用于在数据库层中存储产品数据和订单。
- 身份验证层中客户帐户和供应商的两个 Active Directory 域控制器
- 所有服务器都位于两个子网中:
- 用于网络服务器的前端子网
- 应用程序服务器、SQL 群集和域控制器的后端子网
当客户浏览在线商店时,必须在 Web 服务器之间对传入的安全 Web 流量进行负载均衡。 为确保负载均衡,来自 Web 服务器的 HTTP 请求必须在应用程序服务器之间分配。 此外,基础结构必须设计为高可用性。
生成的设计必须包含:
- Azure 订阅和帐户
- 单个资源组
- Azure 托管磁盘
- 包含两个子网的虚拟网络
- 具有类似角色的 VM 的可用性集
- 虚拟机
上述所有项都遵循以下命名约定:
- Adventure Works Cycles 使用 [IT 工作负荷]-[location]-[Azure 资源] 作为前缀
- 对于此示例,“azos”(Azure 在线商店)是 IT 工作负荷名称,“use”(美国东部 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 决定使用四个可用性集:
- 适用于 Web 服务器 azos-use-as-web
- 用于应用程序服务器的 azos-use-as-app
- 适用于 SQL Server 的 azos-use-as-sql
- azos-use-as-dc 用于域控制器
虚拟机
Adventure Works Cycles 决定为其 Azure VM 使用以下名称:
- azos-use-vm-web01 用于第一个 Web 服务器
- azos-use-vm-web02 用于第二个 Web 服务器
- azos-use-vm-app01 作为第一个应用程序服务器
- 第二个应用程序服务器的标识符是 azos-use-vm-app02。
- 群集中第一个 SQL Server 服务器的 azos-use-vm-sql01
- azos-use-vm-sql02 用于群集中的第二个 SQL Server 服务器
- azos-use-vm-dc01 第一个域控制器
- azos-use-vm-dc02 用于第二个域控制器
下面是生成的配置。
中部署的最终应用程序基础结构
此配置包含:
- 具有两个子网(FrontEnd 和 BackEnd)的仅限云的虚拟网络
- 同时配备标准磁盘和高级磁盘的 Azure 托管磁盘
- 四个可用性集,一个用于在线商店的每个层
- 四个层级的虚拟机
- 基于 HTTPS 的 Web 流量从 Internet 到 Web 服务器的外部负载均衡集
- 一个内部负载均衡集,用于从 Web 服务器到应用程序服务器的未加密 Web 流量
- 单个资源组