适用于 Windows VM 的 Azure 示例基础结构演练
本文是更广泛系列的一部分,当你在 Azure 中构建应用程序基础结构时,这些系列向你提供设计注意事项和准则。 用户可以查看系列中的其他主题。 尽管用户可以在 Azure 中快速地构建出开发/测试环境,但在实现生产就绪、高度可用且安全的环境时,有一些其他注意事项。
本文逐步讲述如何构建示例应用程序基础结构。 我们详细介绍如何设计简单在线商店的基础结构,此在线商店可将关于命名约定、可用性集、虚拟网络及负载均衡器的所有准则和决策聚集在一起;以及如何实际部署你的虚拟机 (VM)。
示例工作负荷
Adventure Works Cycles 想要在 Azure 中生成一个在线商店应用程序,该应用程序包含:
- 位于 Web 层中、用于运行客户端前端的两个 IIS 服务器
- 位于应用程序层中、用于处理数据和订单的两个 IIS 服务器
- 位于数据库层中、用于存储产品数据和订单、具有 AlwaysOn 可用性组的两个 Microsoft SQL Server 实例(两个 SQL Server 和一个多数节点见证)
- 位于身份验证层中、用于客户帐户和供应商的两个 Active Directory 域控制器
- 所有服务器皆位于两个子网中:
- Web 服务器位于前端子网中
- 应用程序服务器、SQL 群集和域控制器位于后端子网中

当客户浏览在线商店时,传入的安全 Web 流量必须在 Web 服务器之间进行负载均衡。 来自 Web 服务器的 HTTP 请求形式的订单处理流量必须在应用程序服务器之间进行负载均衡。 此外,基础结构必须设计为具有高可用性。
生成的设计必须引入:
- Azure 订阅和帐户
- 单个资源组
- Azure 托管磁盘
- 包含两个子网的虚拟网络
- 具有类似角色的 VM 的可用性集
- 虚拟机
以上各项都会遵循以下命名约定:
- Adventure Works Cycles 使用 [IT 工作负荷]-[位置]-[Azure 资源] 作为前缀
- 在本示例中,IT 工作负荷名为 azos(Azure On-line Store,Azure 在线商店),位置为 che(China East,中国东部)
- 虚拟网络使用 AZOS-CHE-VN [number]
- 可用性集使用 azos-che-as-[role]
- 虚拟机名称使用 azos-che-vm-[vmname]
Azure 订阅和帐户
Adventure Works Cycles 使用名为 Adventure Works 企业订阅的企业订阅为此 IT 工作负荷提供计费。
存储
Adventure Works Cycles 确定其应使用 Azure 托管磁盘。 创建 VM 时,会使用两种存储可用的存储层:
- 标准存储用于 Web 服务器、应用程序服务器和域控制器及其数据磁盘。
- 高级存储用于 SQL Server VM 及其数据磁盘。
虚拟网络和子网
由于虚拟网络不需要持续连接到 Adventure Work Cycles 本地网络,因此,他们决定选择仅限云的虚拟网络。
他们通过 Azure 门户使用以下设置创建了仅限云的虚拟网络:
- 名称:AZOS-CHE-VN01
- 位置:中国东部
- 虚拟网络地址空间:10.0.0.0/8
- 第一个子网:
- 名称:FrontEnd
- 地址空间:10.0.1.0/24
- 第二个子网:
- 名称:BackEnd
- 地址空间:10.0.2.0/24
可用性集
为了维护其在线商店的所有四个层的高可用性,Adventure Works Cycles 决定使用四个可用性集:
- azos-che-as-web 用于 Web 服务器
- azos-che-as-app 用于应用程序服务器
- azos-che-as-sql 用于 SQL 服务器
- azos-che-as-dc 用于域控制器
虚拟机
Adventure Works Cycles 决定为其 Azure VM 使用以下名称:
- azos-che-vm-web01 用于第一个 Web 服务器
- azos-che-vm-web02 用于第二个 Web 服务器
- azos-che-vm-app01 用于第一个应用程序服务器
- azos-che-vm-app02 用于第二个应用程序服务器
- azos-che-vm-sql01 用于群集中的第一个 SQL Server
- azos-che-vm-sql02 用于群集中的第二个 SQL Server
- azos-che-vm-dc01 用于第一个域控制器
- azos-che-vm-dc02 用于第二个域控制器
这是生成的配置。

此配置引入以下项:
- 包含两个子网(FrontEnd 和 BackEnd)的仅限云虚拟网络
- 同时具有标准磁盘和高级磁盘的 Azure 托管磁盘
- 四个可用性集,每个在线商店层一个
- 四个层中的虚拟机
- 用于从 Internet 到 Web 服务器的基于 HTTPS 的 Web 流量的外部负载均衡集
- 用于从 Web 服务器到应用程序服务器的未加密 Web 流量的内部负载均衡集
- 单个资源组 立即访问http://market.azure.cn
适用于 Windows VM 的 Azure 示例基础结构演练的更多相关文章
- Azure 元数据服务:适用于 Windows VM 的计划事件(预览)
计划事件是 Azure 元数据服务中的其中一个子服务. 它负责显示有关即将发生的事件(例如,重新启动)的信息,使应用程序可以为其做准备并限制中断. 它可用于所有 Azure 虚拟机类型(包括 PaaS ...
- 使用 Azure PowerShell 模块创建和管理 Windows VM
Azure 虚拟机提供完全可配置的灵活计算环境. 本教程介绍 Azure 虚拟机的基本部署项目,例如选择 VM 大小.选择 VM 映像和部署 VM. 你将学习如何执行以下操作: 创建并连接到 VM 选 ...
- 微软开放技术开发了适用于 Windows Azure 移动服务的开源 Android SDK
发布于 2014-02-10 作者 陈 忠岳 为进一步实现连接微软与非微软技术的目标,微软开放技术有限公司开发了适用于 Windows Azure 移动服务的 Android SDK,由Scot ...
- 如何使用 Azure PowerShell 在 Azure Marketplace 中查找 Windows VM 映像
本主题介绍如何使用 Azure PowerShell 在 Azure Marketplace 中查找 VM 映像. 创建 Windows VM 时使用此信息来指定 Marketplace 映像. 确保 ...
- 将 Windows VM 移到其他 Azure 订阅或资源组
本文逐步说明如何在资源组或订阅之间移动 Windows VM. 如果最初在个人订阅中创建了 VM,现在想要将其移到公司的订阅以继续工作,则在订阅之间移动 VM 可能很方便. Important 不可在 ...
- 关于 Azure Windows VM 的磁盘和 VHD
就像其他任何计算机一样,Azure 中的虚拟机将磁盘用作存储操作系统.应用程序和数据的位置. 所有 Azure 虚拟机都至少有两个磁盘,即 Windows 操作系统磁盘和临时磁盘. 操作系统磁盘基于映 ...
- 如何在 Azure 门户中将托管数据磁盘附加到 Windows VM
本文介绍了如何通过 Azure 门户将新的托管数据磁盘附加到 Windows 虚拟机. 在开始之前,请查看以下提示: 虚拟机的大小决定了可以附加多少个磁盘. 有关详细信息,请参阅虚拟机大小. 对于新磁 ...
- 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构
若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...
- 排查在 Azure 中新建 Windows VM 时遇到的部署问题
尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. 当由于准备步骤不当,或者在从门户捕获映像期间选择了错误的设置而导致 OS 映像无法加载时,将发生预配失败. 当群集 ...
随机推荐
- Linux信号和trap命令的使用
目录 信号介绍 信号列表 控制信号 Ctrl+c显示指定内容 使Ctrl+c无任何操作 处理多个信号 处理所有信号 恢复信号 实现跳板机(实例) 信号介绍 运行Shell脚本时,如果按下快捷键Ctrl ...
- 命令行下更好显示 postgresql 的查询结果
之前在用 mysql 的时候发现,当列数特别多的时候,在 linux 命令行下,显示不太友好, 然后可以通过将 sql 末尾的 “:” 改为 “\G” 来处理,详情看 命令行下更好显示 mysql 查 ...
- MAMP 安装phpredis 扩展
phpredis扩展包地址: https://github.com/nicolasff/phpredis 1.下载php源码 (http://php.net/releases/ 选择php5.5.1 ...
- offsetHeight,scrollHeight,clientHeight,scrollTop以及pageX,clientX,offsetX,screenX,offsetLeft,style.left等的区别以及使用详解
一.写在前面 在阅读本文前,希望大家能针对每个属性亲手测试,网上现有的大量相关博客都有不等的概念错误,毕竟亲手实践才能更好的掌握这些概念. 1.pageX,clientX,screenX与offset ...
- Java设计模式学习记录-策略模式
策略模式 策略模式的定义是:定义了一系列的算法,把它们一个个的封装起来,并且使它们可相互替换,让算法可以独立于使用它的客户而变化. 设计原则是:把一个类中经常改变或者将来可能会经常改变的部分提取出来作 ...
- 了解java虚拟机—JVM相关参数设置(2)
1. JVM相关参数设置 JVM相关配置 -XX:+PrintGC 两次次YoungGC,两次FullGC. -XX:+PrintGCDetails 打印GC时的内存,并且在程序结束时打印堆内存使 ...
- 如何高效的使用-Notepad++
Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码.Notepad++ 不仅有语法高亮度显示,也有语法折叠 ...
- org.springframework.beans.factory.BeanDefinitionStoreException Invalid bean defi
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 's ...
- 【读书笔记】iOS-自动布局
自动布局是一项强大的功能,它允许开发者创建一个单一的用户界面,它会自动调整屏幕大小,方向和本地化,Xcode5中的编辑界面的自动布局功能已经大大增强了.当约束缺失或错误配置时,界面生成器可以修复布局. ...
- C# dynamic类型报错:“object”不包含“xxx”的定义
一.起因: 最近在做的一个项目,因为很多地方要用到同一套流程.为了后期维护,要求将共用流程进行抽离,创建为一个公用的类库.在抽离之前程序运行是没有问题的,然而在抽离之后就得到了如题错误: object ...