Google Compute Engine 常见问题解答

关于 Google Compute Engine

什么是 Google Compute Engine?它有何用途?

Google Compute Engine 是一款基础设施即服务产品,可提供灵活、可自行管理且托管在 Google 基础架构之上的虚拟机。Google Compute Engine 包含在 KVM、本地和耐用存储空间选项上运行的基于 Linux 和 Windows 的虚拟机,还提供了一个用于配置和控制内容的基于 REST 的简单 API。该服务与 Google Cloud StorageGoogle App EngineGoogle BigQuery 等 Cloud Platform 技术集成,可在基本的计算功能之外提供更多功能,从而构建更复杂、更先进的应用。

Google Compute Engine 中的虚拟 CPU 是什么?

在 Compute Engine 上,各虚拟 CPU (vCPU) 是在其中一个可用的 CPU 平台上以单个硬件超线程的形式实现的。在 Intel Xeon 处理器上,Intel 超线程技术允许每个物理处理器内核上运行多个应用线程。您可以通过一个或多个超线程将 Compute Engine 虚拟机实例配置为 vCPU。机器类型指定实例具有的 vCPU 数量。

您可以通过下列其中一种选项来确定适合您的实例的具体 CPU 平台。

如果要更改实例的 CPU 平台,您可以指定最低要求 CPU 平台

Google App Engine 和 Google Compute Engine 之间有何关系?

两者是相辅相成的关系。Google App Engine 是 Google 的平台即服务产品,而 Compute Engine 是 Google 的基础设施即服务产品。App Engine 适合用来运行网页应用、业务线应用和移动后端,Compute Engine 则适用于需要更进一步控制底层基础架构的使用场景。例如,如果您拥有高度自定义的业务逻辑或需要运行自己的存储系统,则可以使用 Compute Engine。

如何开始使用?

请参阅针对该服务的入门指南。看完快速入门后,请参阅虚拟机实例概览,开始了解 Compute Engine。

您可能符合免费试用的条件。如需了解如何进行免费试用(包括与配额相关的信息),请参阅免费试用指南

计费

如何定价?购买时是否有量的要求?

Google Compute Engine 根据计算实例、存储空间和网络的使用量计费。虚拟机按秒计费,1 分钟起步。存储空间费用按您存储的数据量计算。网络费用的计算依据是虚拟机实例在相互通信以及与互联网通信的过程中传输的数据量。如需了解详情,请查看价格表

价格是否包含税费?

否,价格表不包含税费。

支持与反馈

是否提供付费支持?

是,我们为企业客户提供付费支持。如需了解详情,请与我们的销售部门联系。

是否提供服务等级协议 (SLA)?

是,提供 Google Compute Engine SLA

如何提供反馈?

如果是与结算相关的问题,您可以将问题反馈至相应的支持渠道

如果是功能请求和错误报告方面的问题,请在我们的 User Voice 论坛上提交问题。

身份验证

如何向 Google Compute Engine API 进行身份验证?

您可以使用 OAuth 2.0 向 Google Compute Engine API 进行身份验证。您可以通过客户端库进行身份验证,也可以直接借助访问令牌进行身份验证

什么是服务帐号?

服务帐号是一种代表应用(而不是代表最终用户)的 Google 帐号。此类帐号可用于授权 Google Compute Engine 代表用户访问非敏感信息。服务帐号决不会用于访问用户信息。服务帐号可以为用户处理授权流程,从而简化从 Google Compute Engine 向其他服务进行身份验证的过程。

Compute Engine 开发者通常在其应用中使用 Compute Engine 服务帐号。如需详细了解服务帐号,请参阅身份验证概览

如何创建服务帐号?

Compute Engine 会在您创建新实例并为该实例指定服务帐号范围时自动创建服务帐号。

项目

什么是项目?

项目是一种用于存放所有 Google Compute Engine 资源的容器。每个项目都是完全分隔的个体;项目之间不会共享资源,具有不同的所有者和用户,单独计费,并且项目之间难以相互访问,就像您邻居家的计算机难以访问您的家用计算机一样。

如何创建项目?

  1. 登录您的 Google 帐号。如果您没有 Google 帐号,请注册新帐号
  2. 转到 Google Cloud Platform Console。根据提示选择现有项目或创建新项目。
  3. 按照提示设置计费方式。如果您刚开始接触 Google Cloud Platform,则可以使用免费试用赠金为所用实例付费。

项目编号与项目 ID 有何区别?

每个项目都可以通过两种方式来识别:项目编号或项目 ID。项目编号由系统在您创建项目时自动创建,项目 ID 则是由您或项目创建者创建的。项目 ID 在很多服务中都是可选项,但在 Google Compute Engine 中为必需项。如需了解详情,请参阅 GCP Console 项目

可以在何处找到项目 ID?

您可以在 Google Cloud Platform Console 上找到项目 ID,登录后便可看到项目列表及对应的项目 ID。

可以在何处为项目申请更多配额?

默认情况下,对于各种资源类型,所有 Google Compute Engine 项目都有默认配额。不过,这些默认配额可以按项目增加。请在 Google Cloud Platform Console 的“配额”页面上查看您的配额限值和使用情况。如果已达到资源使用量上限且需要更多配额,请在“IAM 配额”页面申请增加某些资源的配额。点击该页面顶部的修改配额按钮即可申请。

实例

可以为实例选择哪种机器配置(内存、RAM、CPU)?

Google Compute Engine 为实例提供了多种配置。您也可以创建自定义配置,以满足实例的确切需求。如需查看可用选项的完整列表,请参阅机器类型页面。

如果我不小心误删了实例,还能找回吗?

不能,无法找回已删除的实例。不过,如果您只是停止了某个实例的运行,则可以再次启动它。

实例可以在哪些操作系统上运行?

Google Compute Engine 支持多种操作系统映像和第三方映像。此外,您也可以创建自定义版本的映像,或者构建您自己的映像

可以在哪些可用地区创建实例?

如需查看可用区域和可用地区的列表,请参阅区域和地区

如何查看已用配额或剩余配额?

请在 Google Cloud Platform Console 的“配额”页面上查看您的配额限值和使用情况。如果已达到资源使用量上限且需要更多配额,请点击“配额”页面上的申请增加配额按钮,然后填写申请表单。

实例上要运行哪种虚拟 CPU?

请通过下列选项之一确定适合您的实例的具体 CPU 平台:

什么是抢占式虚拟机实例?它与常规实例有何不同?

抢占式实例是指您能以比常规实例低得多的价格创建和运行的实例,不过,如果 Compute Engine 需要将这些资源用于其他任务,您可能需要终止此类实例。如需了解详情,请参阅创建抢占式虚拟机实例

如何从 Google Compute Engine 实例发送出站电子邮件?

通常情况下,Google Compute Engine 会屏蔽流经这些已屏蔽端口的出站流量。不过,您可以使用 Google 的 SMTP 设置邮件网关。如需了解详情,请参阅从实例发送电子邮件

我的虚拟机出现主机错误,然后重新启动了。这是怎么回事?

出现主机错误意味着托管相应虚拟机的物理机上存在硬件或软件问题,进而导致虚拟机崩溃。如果 Compute Engine 检测到此类事件,我们会在您的操作日志中添加一个 compute.instances.hostError 条目。如果您将虚拟机设置为自动重新启动(这是默认设置),Google 还会在另一台物理机上重新启动您的虚拟机。

通常情况下,物理硬件故障和软件故障可能会不时发生,但这种情况很少见。为了使您的应用和服务免受这些可能具有破坏性的系统事件的影响,请确保设计稳健的系统构建可扩缩、弹性佳的网络应用。使用托管实例组对 Compute Engine 实例组执行运行状况检查并灵活扩缩。

Google 还提供 App Engine 等托管式服务以及 App Engine 柔性环境

映像

是否需要先注册 Google Cloud Storage,然后才能将映像存储在外部存储空间?

是,要将映像存储在外部存储空间,您需要先注册 Google Cloud Storage

永久性磁盘

如何为永久性磁盘选择合适的大小?

永久性磁盘的性能因其大小而异。永久性磁盘性能图表有助于确定合适的磁盘大小。如果无法确定,请阅读有关如何确定永久性磁盘大小的文档。

Google 采取了哪些措施来保护数据?

请参阅磁盘加密

能否将永久性磁盘附加到多个实例?

在只读模式下,您可以将永久性磁盘附加到多个实例。在读写模式下,磁盘只能附加到单个实例。不能同时以读写模式和只读模式附加某个永久性磁盘。

何时应使用 Persistent Disk,而非 Google Cloud Storage?

Persistent Disk 和 Google Cloud Storage 都可用于存储文件,不过二者之间存在很大差别。Google Cloud Storage 是一种庞大的文件容器,用于存储极大量的可供全局访问的相对静态数据(包括来自 Compute Engine 虚拟机实例的数据)。

下表中列出了一些信息,说明了这两种产品的特性及其最佳用途。

Google Cloud Storage Persistent Disk
特性
  • 可访问性
    • 全局可访问性(包括非 Compute Engine 系统)
    • 支持从多种系统进行读写访问
  • 规模
    • 数 PB 级存储分区
  • 使用方法
    • REST 接口;延迟高于本地连接的块存储
    • 写入语义仅包含插入和覆盖文件
    • 提供版本控制功能
    • 文件隐含在 Google Cloud Storage 中
  • 可访问性
    • 仅可在某个地区进行访问,且仅可由 Compute Engine 实例访问
    • 在读写模式下,只能由一个实例访问;在只读模式下,可由多个 Compute Engine 实例访问
  • 规模
    • 容量上限为 10 TB
  • 使用方法
    • SCSI 接口;延迟较低
    • 写入语义为事务型 - 随机修改
    • 不提供版本控制功能;持续修改
    • 必须将文件系统格式化才能存储文件
目标用途
  • 移动、消费类、游戏和 SaaS 领域的内容分发
  • 富媒体
  • 适用于可并行 HPC 任务(例如渲染、石油和天然气、基因组学领域)的只读输入
  • 备份和归档
  • Hadoop(通过 GHFS)
  • Compute Engine 启动设备
  • 要构建的原始块数据存储区
    • SQL 服务器(例如 MySQL)
    • NoSQL 服务器(例如 Cassandra/Mongo)
    • 文件服务器(例如 Gluster)
    • 键值对持久性存储(例如 Redis)

网络

在何处可以找到 Compute Engine IP 地址范围?

Google Cloud Platform 使用的 IP 地址范围很广,且会随时间发生变化。由于历史原因,Google Cloud Platform 在 _cloud-netblocks.googleusercontent.com 的 SPF 记录中发布了公共 IP 地址列表。

如果您需要 Google Cloud Platform 的文本 IP 地址,请使用一种常见的 DNS 查找命令(nslookupdighost)来检索网域 _cloud-netblocks.googleusercontent.com 的 TXT 记录:

$ nslookup -q=TXT _cloud-netblocks.googleusercontent.com  8.8.8.8

此操作会返回 Google SPF 记录中所含网域的列表,例如:

_cloud-netblocks1.googleusercontent.com, _cloud-netblocks2.googleusercontent.com, _cloud-netblocks3.googleusercontent.com

然后,查找与上述网域关联的 DNS 记录(每次针对一个网域进行查找):

$ nslookup -q=TXT _cloud-netblocks1.googleusercontent.com 8.8.8.8
$ nslookup -q=TXT _cloud-netblocks2.googleusercontent.com 8.8.8.8
$ nslookup -q=TXT _cloud-netblocks3.googleusercontent.com 8.8.8.8

上述命令返回的结果中包含当前地址范围。

地区

能否选择使用选定国家/地区的区域性数据中心?

能,Compute Engine 在全球都部署有数据中心。这些数据中心旨在为相应区域提供低延时的连接选项。如需了解具体的区域信息(包括区域的地理位置),请参阅区域和地区

如何辨别某个地区是否处于离线状态?

Google Cloud Platform Console 中的 Compute Engine 地区部分显示了每个地区的状态。您还可以在命令行工具中运行 gcloud compute zones list 或使用带有 compute.zones.list 方法的 Compute Engine API,来获取地区的状态。

启动脚本

自定义的启动脚本会在何时运行?

启动脚本在启动过程结束时开始运行。在使用 systemd 或 upstart 的现代系统上,启动脚本将在 google_instance_setup 完成后开始运行。

基础架构维护活动

什么是基础架构维护活动?

Google Compute Engine 需要定期对地区进行预定维护,这可能会对您的实例造成影响。默认情况下,所有实例都会进行配置。这样一来,此类维护活动会对您的应用和工作负载保持透明。维护活动可能会导致一定程度的性能降低情况,不过,您的实例将始终保持在线状态。如需了解详情,请参阅预定维护

预定基础架构维护活动多久进行一次?

基础架构维护活动之间的时间间隔不固定,但通常是每两个月进行一次。

如何判断实例是否正在经历基础架构维护活动?

如果 Compute Engine 要在不久后开始执行维护活动,则在尝试对待执行基础架构维护活动所涉及的虚拟机进行实时迁移或终止以及重新启动之前,它会更改相应虚拟机元数据服务器中的一项特殊属性。这项特殊属性就是 maintenance-event;它将在活动前后更新,以便您检测此类活动即将在何时发生。借助此信息,您可以帮助自动执行要在维护活动之前和/或之后运行的任何脚本或命令。如需了解详情,请参阅透明维护通知文档。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档