编译用于创建 Azure 虚拟机的清单

已完成

执行本地服务器到 Azure 的迁移前需进行规划,执行时需小心谨慎。 可同时迁移所有服务器,更可能的方案是,小批量或逐一进行移动。 创建单个 VM 之前,应草绘出当前的基础结构模型,确定如何将其映射到云。

什么是 Azure 资源?

Azure 资源是 Azure 中的可管理项。 就像数据中心的物理计算机一样,VM 具有执行其作业所需的多个元素:

  • VM 本身
  • 存储磁盘
  • 虚拟网络
  • 与网络通信的网络接口
  • 保护网络流量的网络安全组 (NSG)
  • IP 地址(公共、专用或两者兼有)

如有必要,Azure 将创建所有资源,你也可以在部署过程中提供现有资源。 每个资源都需要一个名称,用于标识该资源。 如果 Azure 创建资源,将使用 VM 名称生成资源名称 - 这是与 VM 名称一致的另一个原因!

IaaS 虚拟机所需的资源

以下是需要考虑的事项清单。

  • 网络
  • VM 名称
  • 位置
  • VM 大小
  • 磁盘
  • 操作系统

网络

首先应考虑的并不是虚拟机 - 而是网络。 查看本地服务器之一:

  • 服务器通信对象是什么?
  • 哪些端口处于打开状态?

Azure 中使用虚拟网络 (VNet) 提供 Azure 虚拟机与其他 Azure 服务之间的专用连接。 属于同一虚拟网络的 VM 和服务,相互之间可进行访问。 默认情况下,虚拟网络外部的服务无法连接虚拟网络中的服务。 但可将网络配置为允许访问外部服务,包括本地服务器。

后面这点是需要花一点时间研究网络配置的原因。 网络地址和子网一经设置就不容易更改。 如果要将私有公司网络连接到 Azure 服务,需要在设置 VM 之前考虑拓扑方案。

设置虚拟网络时,请指定可用的地址空间、子网和安全性。 如果要将 VNet 连接到其他 VNet,必须选择不重叠的地址范围。 这是网络中的 VM 和服务可用的私有地址范围。 可以使用不可路由的 IP 地址,如 10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16,也可以定义自己的范围。 Azure 将所有地址范围都视为只能在 VNet 内部、互连 VNet 内部以及从本地位置访问的专用 VNet IP 地址空间的一部分。 如果还有其他人在负责内部网络,应该在选择地址空间前与其沟通,确保双方空间不存在重叠。 让他们了解你要使用的空间,以便其不会尝试使用相同的 IP 地址范围。

隔离网络

决定虚拟网络地址空间之后,可以为虚拟网络创建一个或多个子网。 创建这些子网来将网络分解成更易管理的部分。 例如,可向 VM 分配 10.1.0.0,向后端服务分配 10.2.0.0,向 SQL Server VM 分配 10.3.0.0。

注意

Azure 会在每个子网中保留前四个 IP 地址和最后一个 IP 地址供其使用。

确保网络安全

默认情况下,子网之间没有安全边界,因此,每个子网中的服务可以相互通信。 但是,可以设置网络安全组 (NSG) 来控制流入或流出子网以及 VM 的流量。 NSG 充当软件防火墙,将自定义规则应用于网络接口和子网级别的每个入站或出站请求。 通过这种方式,可以完全控制传入和传出 VM 的所有网络请求。

计划每个 VM 部署

映射出通信和网络要求后,便可开始考虑要创建的 VM。 建议选择一个服务器并罗列清单:

  • 使用什么 OS?
  • 磁盘空间使用情况如何?
  • 使用什么类型的数据? 是否存在对存储方式和物理存储位置的限制(合法或非法)?
  • 服务器具有哪种 CPU、内存和磁盘 I/O 负载? 是否考虑突发流量?

然后,通过回答这些问题,来提供 Azure 所需的有关新虚拟机的信息。

VM 名称

通常使用 VM 名称作为计算机名称,是操作系统的一项配置内容。 Linux VM 上的名称最长可为 64 个字符,Windows VM 上的名称最长可为 15 个字符。

此名称还用于定义可管理的 Azure 资源,且以后可轻松更改。 这意味着应选择有意义且一致的名称,以便轻松了解 VM 所执行的任务。 较好的做法是在名称中添加以下信息:

元素 示例 说明
环境 dev,prod,QA 标识资源的环境
位置 eus 表示美国东部,jw 表示日本西部 标识要部署资源的区域
实例 01,02 适用于具有多个命名实例的资源(Web 服务器等)
产品或服务 服务 标识资源支持的产品、应用程序或服务
角色 sql,web,messaging 标识关联的资源的角色

例如,deveus-webvm01 可能表示第一个托管在美国东部位置的开发 Web 服务器。

决定 VM 的位置

Azure 的数据中心遍布全球,各数据中心配备了充足的服务器和磁盘。 这些数据中心划分为不同的地理区域(“美国西部”、“北欧”、“东南亚”等),以提供冗余容量和可用性。

创建和部署虚拟机时,必须选择要向其分配资源的区域。 可以将 VM 部署在尽量靠近用户的位置,从而提高性能并满足任何适用法律、符合相关规定或税务要求。

关于位置选择,还要考虑另外两个事项。 首先,位置可能会限制你可用的选项。 每个区域都有不同的可用硬件,并且某些配置并非在所有区域都可用。 其次,不同位置间会存在价格差异。 如果你的工作负载未绑定到特定位置,则在多个区域中检查所需配置,以查找最低价格,这种方式可能非常经济高效。

确定 VM 的大小

设置名称和位置后,便需要确定 VM 的大小。 Azure 不单独指定处理能力、内存和存储容量,而是提供不同的 VM 大小,来满足这些指标的不同变体。 Azure 提供各种 VM 大小选项,可根据所需选择计算能力、内存和存储的适当组合。

确定合适 VM 大小的最佳方法是考虑 VM 需运行的工作负荷的类型。 可根据工作负荷,从可用 VM 大小的子集中进行选择。 Azure 上的工作负荷选项分类如下:

选项 说明
常规用途 用于常规用途的 VM 用于实现较为平衡的 CPU 与内存比。 适用于测试和开发、小到中型数据库和低到中等流量 Web 服务器。
计算优化 计算优化 VM 用于实现高 CPU 与内存比。 适用于中等流量的 Web 服务器、网络设备、批处理和应用程序服务器。
内存优化 内存优化 VM 用于实现高内存与 CPU 之比。 适用于关系数据库服务器、中到大型规模的缓存和内存中分析。
存储优化 存储优化 VM 用于实现高磁盘吞吐量和 IO。 很适合用来运行数据库。
GPU GPU VM 专门针对大量图形绘制和视频编辑的虚拟机。 这些 VM 很适合用来进行深度学习模型训练和推理。
高性能计算 高性能计算是速度最快、功能最强大的 CPU 虚拟机,并且具有可选的高吞吐量网络接口。

如果在 Azure 中配置 VM 大小,将能够对工作负荷类型进行筛选。 所选大小会直接影响服务成本。 需要的 CPU、内存和 GPU 越多,成本越高。

如果我的大小需求发生变化,应如何处理?

Azure 允许你在现有大小不再满足需求时更改 VM 大小。 你可以升级或降级 VM,只要当前硬件配置允许使用新的大小即可。 更改 VM 大小的功能提供了一种完全灵活且可缩放的 VM 管理方法。

只要新的大小在运行 VM 的当前硬件群集中可用,就可以在 VM 运行时更改 VM 大小。 Azure 门户通过仅显示可用的大小选项来让大小选项显而易见。 如果你尝试将 VM 的大小调整为不可用的大小,命令行工具将会报告错误。 更改正在运行的 VM 大小会自动重启计算机以完成请求。

如果停止并解除分配 VM,则可以选择你所在区域中任何可用的大小,因为解除分配会将 VM 从其运行的群集中删除。

警告

调整生产 VM 的大小时请务必谨慎 - 它们会自动重启,这可能导致临时中断以及更改某些配置设置(如 IP 地址)。

VM 的各个部分及其计费方式

创建虚拟机时,还会创建支持该虚拟机的资源。 这些资源自身也有成本,应该加以考虑。

下表详细介绍了支持虚拟机的默认资源及其计费方式:

资源 说明 成本
虚拟网络 用于让虚拟机能够与其他资源通信 虚拟网络定价
虚拟网络接口卡 (NIC) 用于连接到虚拟网络 NIC 不单独产生费用。 但是,根据 VM 的大小,可使用的 NIC 数量有限制。 请相应地调整 VM 大小,并参考虚拟机定价
专用 IP 地址,有时还有公共 IP 地址。 用于网络上与外部网络的通信和数据交换 IP 地址定价
网络安全组 (NSG) 用于管理进出 VM 的网络流量。 例如,可能需要打开端口 22 进行 SSH 访问,但可能需要阻止发到端口 80 的流量。 通过 NSG 来阻止和允许端口访问。 Azure 中的网络安全组不会产生额外费用。
OS 磁盘,可能还有单独的数据磁盘。 最佳做法是将数据保存在与操作系统分开的磁盘上,这样当 VM 发生故障时,你只需分离数据磁盘,并将其附加到新的 VM 即可。 所有新虚拟机都有一个操作系统磁盘和一个本地磁盘。
Azure 不收取本地磁盘存储费用。
操作系统磁盘通常为 127 GiB,但对于某些映像来说可能更小,该磁盘按磁盘常规费率收费。
可以在托管磁盘定价页上查看将高级(基于 SSD)和标准(基于 HDD)磁盘附加到虚拟机所产生的费用。
在某些情况下,需要 OS 的许可证 用于提供虚拟机运行来运行 OS 成本因 VM 上的核心数而异,因此请相应地调整 VM 的大小。 可以通过 Azure 混合权益来降低成本。

了解定价模型

订阅针对每个 VM 单独收取两项费用:计算和存储。 通过分隔这些成本,你可以单独扩展它们,只需支付所需的费用即可。

计算成本 - 计算费用按小时定价,但按分钟计费。 例如,如果 VM 部署了 55 分钟,则你只需支付 55 分钟的使用费。 如果停止并解除分配 VM,则不会对计算容量收费,因为解除分配会释放硬件。 每小时价格视所选 VM 大小和 OS 而定。 基于 Linux 的实例更便宜,因为没有任何操作系统许可证费用。 对于 Windows,VM 的成本包括操作系统的费用。

提示

通过适用于 LinuxWindows 的 Azure 混合权益,可重复使用现有许可证,从而节省资金。

可通过两种支付方式支付计算费用。

选项 说明
即用即付 使用即用即付选项,将按秒对计算容量付费,无需长期承诺或前期费用。 可以根据需要增加或减少计算容量,并且可随时启动或停止 VM。 如果运行了不可被打断的短期或不可预测的工作负载,则选择此选项。 例如,如果要在 VM 中执行快速测试或开发应用,应使用“即用即付”选项。
虚拟机预留实例 虚拟机预留实例 (RI) 选项指在指定区域内提前购买一年或三年的虚拟机使用时间。 承诺使用量是指预先确定好的用量,与即用即付相比,可节省最多 72% 的成本。 RI 较为灵活,可轻松置换,或支付一笔提前终止费用,即可返还停用。 如果 VM 需要持续运行,或者你需要预估预算,并可承诺使用 VM 至少一年,请选择此选项。

存储费用 - 需要为 VM 使用的存储单独付费。 VM 的状态与产生的存储费用无关。 即使 VM 已停用/解除分配,无需为正在运行的 VM 付费,你仍需为磁盘使用的存储付费。

VM 的存储

所有 Azure 虚拟机至少有两个虚拟硬盘 (VHD)。 第一个磁盘用于存储操作系统,而第二个用作临时存储。 你应添加更多的数据磁盘来存储应用程序数据。 通过将数据分到不同的磁盘,磁盘可以实现独立管理。 VM 大小决定了附加到 VM 的最大数据磁盘数,通常为每个 vCPU 两个。

磁盘类型有五种,每种类型都是为了应对特定的客户场景:

下表比较了五种磁盘类型,方便用户确定使用哪种磁盘类型。

超级磁盘 高级 SSD v2 高级·SSD 标准 SSD 标准 HDD
磁盘类型 SSD SSD SSD SSD HDD
方案 SAP HANA、顶层数据库(例如 SQL、Oracle)等 IO 密集型工作负载,以及其他事务密集型工作负载。 一致需要低延迟、高 IOPS 和吞吐量的生产和性能敏感型工作负载 生产和性能敏感型工作负荷 Web 服务器、不常使用的企业应用程序和开发/测试 备份、非关键、不常访问
最大磁盘大小 65,536 Gibibyte (GiB) 65,536 GiB 32,767 GiB 32,767 GiB 32,767 GiB
最大吞吐量 4,000 MB/秒 1,200 MB/秒 900 MB/秒 750 MB/秒 500 MB/秒
最大 IOPS 160,000 80,000 20,000 6,000 2,000
可用作 OS 磁盘? No

选择操作系统

Azure 提供可安装到 VM 中的多种 OS 映像,包括多个 Linux 发行版。 所选 OS 可能会影响每小时的计算价格,因为 Azure 将 OS 许可证的费用捆绑到此价格中。

如果要查找的不只是基础 OS 映像,可搜索 Azure 市场,获取更多复杂的映像,其中包括用于特定方案的 OS 和常用软件工具。 例如,如果需要一个新的 WordPress 网站,标准技术堆栈将包含 Linux 服务器、Apache Web 服务器、MySQL 数据库和 PHP。 不用设置和配置每个组件,可使用市场映像一次性安装整个堆栈。

最后,如果找不到合适的 OS 映像,可以使用所需内容创建自己的映像,并用它创建 VM。 可以创建单个映像来用于开发和测试, 也可以创建 Azure Compute Gallery 来管理多个映像并复制到需要这些映像的区域。