虚拟机管理器


虚拟机管理器是一套工具,可用于管理在 Compute Engine 上运行 Windows 和 Linux 的大型虚拟机 (VM) 群的操作系统。

虚拟机管理器通过自动化帮助提高效率,并减轻维护这些虚拟机群的运营负担。

虚拟机管理器支持 VPC Service Controls 服务边界中的项目。

概览

虚拟机管理器套件提供以下服务:

  • Patch:使用此服务应用按需和计划性的补丁。您还可以将 Patch 用于环境中的补丁合规性报告。
  • OS Inventory Management:使用此服务收集和查看操作系统信息。
  • 操作系统政策:使用此服务安装、移除和自动更新软件包。
虚拟机管理器架构。
图 1. 虚拟机管理器架构概览

图 1 提供了虚拟机管理器的简要概览。

在 Google Cloud 项目中设置或启用虚拟机管理器后,您可以使用全套虚拟机管理器工具,包括 Patch、操作系统政策和 OS Inventory Management。

虚拟机管理器启用

您可以将虚拟机管理器设置为自动启用或手动启用。自动启用应用于整个项目。手动启用可以针对每个虚拟机或整个项目进行。

总而言之,当您启用虚拟机管理器时(无论自动还是手动),会进行以下设置:

  • 在 Google Cloud 项目上启用 OS Config Service API。
  • 通过设置必需的实例元数据值,激活在每个选定虚拟机上运行的 OS Config 代理。

如需详细了解如何手动启用虚拟机管理器,请参阅设置概览

自动启用是通过 Google Cloud 控制台完成的。

OS Config 代理

虚拟机管理器启用后,OS Config 代理针对每个服务的工作方式如下:

  • 对于 Patch,OS Config 代理使用操作系统实用程序(例如 yumaptrpm 或 Windows 更新代理)从操作系统软件包或更新来源检索补丁或更新,并将其应用于虚拟机。如需了解详情,请参阅 Patch 的工作原理
  • 对于操作系统政策,OS Config 代理使用操作系统实用程序(例如 yumaptrpm 或 Windows 更新代理)来维护操作系统政策中指定的虚拟机的状态。如需了解详情,请参阅操作系统政策的工作原理
  • 对于 OS Inventory Management,OS Config 代理会收集清点数据。然后,此清点数据会存储在实例元数据和各种日志流中。然后,您可以使用 Google Cloud CLI 查询此数据。如需了解详情,请参阅 OS Inventory Management 的工作原理

Google Cloud OS Config Service Agent

某些 Google Cloud 服务具有 Google 管理的服务账号,可允许服务访问您的资源。这些服务账号有时称为“服务代理”。如需详细了解服务代理,请参阅服务代理

虚拟机管理器使用服务代理(用于收集有关虚拟机的信息)来管理虚拟机。此 Google 管理的服务代理的电子邮件地址为 service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com。该账号使用 Cloud OS Config Service Agent 角色 (roles/osconfig.serviceAgent)。

您可以在 Google Cloud 控制台的 IAM 页面上查看项目的服务代理以及授予服务代理的角色。但是,如果您撤消了服务代理的 Cloud OS Config Service Agent 角色,您将无法在 IAM 页面上查看服务代理。

操作系统软件包和更新来源

对于 Patch 和操作系统政策,您的虚拟机必须能够访问软件包源和代码库。对于专用网络中的虚拟机,您可以设置专用 Google 访问通道

虚拟机管理器和 Terraform

您可以使用 Terraform 将虚拟机管理器的范围扩展到 Google Cloud 组织中的多个项目。如需了解如何使用 Terraform 和虚拟机管理器创建修补作业和操作系统政策分配,请参阅 OS Config GitHub 代码库中的 Terraform 示例和教程。

如需详细了解 Terraform 配置及其用法,请参阅以下资源的文档:

如需查看开始使用 Terraform 的可用资源列表,请参阅将 Terraform 与 Google Cloud 搭配使用

价格

整个 虚拟机管理器套件作为单一服务收费,每个具有有效 OS Config 代理的虚拟机对应一个固定费率。

您将按照具有活跃 OS Config 代理的虚拟机数量付费,具体如下:

  • 如需开始在您的环境中进行测试,您可以使用免费层级。此免费层级每月为每个 Cloud Billing 账号提供 100 个虚拟机的用量。
  • 免费层级的用量用完后,对于所有具有活跃 OS Config 代理的虚拟机,每个活跃代理按每个虚拟机每小时 0.003 美元的费率计费。

下表汇总了可用于确定总费用的单位和公式。

资源项 费用/单位(以美元为单位的费用)
每小时费用(具有活跃代理的每个虚拟机) $0.003
每月用量折扣(每个 Cloud Billing 账号 固定的免费虚拟机数量 = 100
每月用量公式 =(当月的小时数 * 免费虚拟机数量)
例如,某个月有 31 天时的用量 = 744 * 100 = 74400 个活跃代理小时

计算示例

以下示例是以美元为单位来计算的。

示例 1

如果您在一个总天数为 31 天的月份(744 个小时)中运行 10 个具有活跃 OS Config 代理的虚拟机,则使用上表中的公式进行计算的情况如下:

Free tier = 74,400 agent hours
Monthly usage = 744 * 10= 7,440 agent hours

月度用量低于免费层级,因此调整后的月度用量为 0 代理小时,月度总费用为 $0。

示例 2

如果您在一个总天数为 31 天的月份(744 个小时)中运行 100 个具有活跃 OS Config 代理的虚拟机,则使用上表中的公式进行计算的情况如下:

 Free tier = 74,400 agent hours
 Monthly usage = 744 * 100 = 74,400 agent hours
 

月度用量等于免费层级,因此调整后的月度用量为 0 代理小时,月度总费用为 $0。

示例 3

如果您在一个总天数为 31 天的月份(744 个小时)中运行 700 个具有活跃 OS Config 代理的虚拟机,则使用上表中的公式进行计算的情况如下:

Free tier = 74,400 agent hours
Monthly usage = 744 * 700 = 520,800 agent hours

月度用量高于免费层级,因此调整后的月度用量为 (520800 - 74400) = 446400 个代理小时。 每月费用按以下方式计算:

Monthly cost = $0.003 * number of agent hours that exceed the free tier
             = $0.003 * 446,400 = $1339.20

后续步骤