你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 中的虚拟机

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集

Azure 虚拟机是 Azure 提供的多种按需可缩放计算资源之一。 通常,如果你对于计算环境所需的控制权比其他选项可提供的还要多,则会选择虚拟机。 本文介绍创建虚拟机之前的注意事项,以及如何创建和管理虚拟机。

Azure 虚拟机让你能够灵活地进行虚拟化,而无需购买和维护运行虚拟机的物理硬件。 不过,仍然需要通过执行任务来维护虚拟机,例如,配置、修补和安装在虚拟机上运行的软件。

可通过多种方式使用 Azure 虚拟机。 一些示例如下:

  • 开发和测试 - Azure 虚拟机提供了一种快速轻松的方法来创建具有特定配置的计算机,以便满足对应用程序进行编码和测试的需要。
  • 云中的应用程序 - 由于对应用程序的需求会不断变化,因此在 Azure 中的虚拟机上运行应用程序可能会节省成本。 可在需要时使用额外的虚拟机并为其付费,并在不需要时将其关闭。
  • 扩展的数据中心 - Azure 虚拟网络中的虚拟机可以轻松连接到组织的网络。

应用程序使用的虚拟机数可根据需要纵向扩展和横向扩展为任意数目。

在创建虚拟机之前需要考虑什么?

在 Azure 中生成应用程序基础结构时,始终要考虑多种设计注意事项。 在开始之前,必须着重考虑虚拟机的以下方面:

  • 应用程序资源的名称
  • 资源的存储位置
  • 虚拟机的大小
  • 可以创建的最大虚拟机数
  • 虚拟机运行的操作系统
  • 虚拟机在启动后的配置
  • 虚拟机需要的相关资源

位置

世界各地有多个地理区域,你可以在其中创建 Azure 资源。 创建虚拟机时,区域通常称为位置。 对于虚拟机,位置指定了虚拟硬盘的存储位置。

下表显示了获取可用位置列表的一些方法。

方法 说明
Azure 门户 创建虚拟机时,可从列表中选择位置。
Azure PowerShell 使用 Get-AzLocation 命令。
REST API 使用列出位置操作。
Azure CLI 使用 az account list-locations 操作。

可用性

有多个选项可用于管理 Azure 中虚拟机的可用性。

  • 可用性区域是 Azure 区域中物理上独立的区域。 可用性区域保证,当在同一 Azure 区域中的两个或更多可用性区域中部署了两个或更多实例时,可在至少 99.99% 的时间拥有与至少一个实例的虚拟机连接。
  • Azure 虚拟机规模集可用于创建并管理一组负载均衡的虚拟机。 可以根据需求或定义的计划自动增减虚拟机实例的数目。 规模集为应用程序提供高可用性,用于集中管理、配置和更新许多虚拟机。 规模集内的虚拟机还可部署到多个可用性区域、单个可用性区域或按地区进行部署。

有关详细信息,请参阅 Azure 虚拟机的可用性选项适用于 Azure 虚拟机的 SLA

大小和定价

所用虚拟机的大小由要运行的工作负载决定。 然后,所选大小又会影响多个因素,例如处理能力、内存、存储容量和网络带宽。 Azure 提供各种大小来支持多种类型的用途。

Azure 根据虚拟机的大小和操作系统按小时价格计费。 对于不足一小时的部分,Azure 仅根据使用的分钟数计费。 存储将另行定价和收费。

虚拟机核心总数限制

订阅附带默认的配额限制,在为项目部署大量虚拟机时,这些限制可能会造成影响。 每个订阅的当前限制是每区域总共 20 个虚拟机核心。 可以开具支持票证来请求提高限制

托管磁盘

托管磁盘为用户在后台处理 Azure 存储帐户的创建和管理,确保用户无需担心存储帐户的可伸缩性限制。 只需指定磁盘大小和性能层(标准或高级),Azure 就会自动创建和管理磁盘。 在添加磁盘或者纵向扩展和缩减虚拟机时,无需考虑所用的存储。 如果要创建新虚拟机,请使用 Azure CLI 或 Azure 门户,通过托管 OS 和数据磁盘创建虚拟机。 如果虚拟机具有非托管磁盘,可以将虚拟机转换为由托管磁盘支持

还可以按 Azure 区域在一个存储帐户中管理自定义映像,并使用这些映像在同一订阅中创建数百台虚拟机。 有关托管磁盘的详细信息,请参阅托管磁盘概述

分发

Microsoft Azure 支持各种 Linux 和 Windows 发行版。 可以在市场、Azure 门户中查找可用的发行版,或者通过使用 CLI、PowerShell 和 REST API 查询结果来进行查找。

下表显示了查找映像信息的一些方法。

方法 说明
Azure 门户 选择要使用的映像时,系统会自动指定值。
Azure PowerShell Get-AzVMImagePublisher -Location location
Get-AzVMImageOffer -Location location -Publisher publisherName
Get-AzVMImageSku -Location location -Publisher publisherName -Offer offerName
REST API 列出映像发布者
列出映像产品
列出映像 SKU
Azure CLI az vm image list-publishers --location location
az vm image list-offers --location location --publisher publisherName
az vm image list-skus --location location --publisher publisherName --offer offerName

Microsoft 与合作伙伴紧密合作,以确保可用映像进行更新并针对 Azure 运行时进行优化。 有关 Azure 合作伙伴优惠的详细信息,请参阅 Azure 市场

Cloud-init

Azure 在支持它的大多数 Linux 发行版中支持 cloud-init。 我们正在积极地与我们的 Linux 合作伙伴合作,以便在 Azure 市场中提供已启用 cloud-init 的映像。 这些映像可使 cloud-init 部署和配置无缝地应用于虚拟机和虚拟机规模集。

有关详细信息,请参阅在 Azure Linux 虚拟机上使用 cloud-init

存储

网络

数据驻留

在 Azure 中,将客户数据存储到一个区域的功能目前仅适用于亚太地区的东南亚区域(新加坡)和巴西地区的巴西南部区域(圣保罗州)。 对于其他所有区域,客户数据存储在以下地域。 有关详细信息,请参阅信任中心

后续步骤

创建你的第一个虚拟机!