借助 Compute Engine,您可以为某些通用和计算优化型虚拟机 (VM) 实例选择带宽高的每个虚拟机的 Tier_1 网络性能配置。具有 Tier_1 网络配置的虚拟机特别适合具有大量密集型节点间通信的大型分布式计算工作负载,例如高性能计算 (HPC)、机器学习 (ML) 和深度学习 (DL)。
将这些高吞吐量虚拟机与高性能本地 SSD 存储结合使用对于 I/O 密集型、闪存优化的数据库很有利。
准备工作
- 针对 Tier_1 较高带宽网络价格查看每个虚拟机的 Tier_1 网络性能的价格。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以选择以下任一选项向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
-
所需的角色
如需获得将虚拟机配置为使用每个虚拟机的 Tier_1 网络性能所需的权限,请让您的管理员向您授予项目的以下 IAM 角色:
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
Create Service Accounts (
roles/iam.serviceAccountCreator
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色可提供将虚拟机配置为使用每个虚拟机的 Tier_1 网络性能所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
将虚拟机配置为使用每个虚拟机的 Tier_1 网络性能需要以下权限:
-
创建虚拟机:
- 针对项目的
compute.instances.create
权限 - 使用自定义映像创建虚拟机:针对映像的
compute.images.useReadOnly
权限 - 使用快照创建虚拟机:针对快照的
compute.snapshots.useReadOnly
权限 - 使用实例模板创建虚拟机:针对实例模板的
compute.instanceTemplates.useReadOnly
权限 - 为虚拟机分配旧版网络:针对项目的
compute.networks.use
权限 - 为虚拟机指定静态 IP 地址:针对项目的
compute.addresses.use
权限 - 使用旧版网络时为虚拟机分配外部 IP 地址:针对项目的
compute.networks.useExternalIp
权限 - 为虚拟机指定子网:针对项目或所选子网的
compute.subnetworks.use
权限 - 在使用 VPC 网络时为虚拟机分配外部 IP 地址:针对项目或所选子网的
compute.subnetworks.useExternalIp
权限 - 为虚拟机设置虚拟机实例元数据:针对项目的
compute.instances.setMetadata
权限 - 为虚拟机设置标记:针对虚拟机的
compute.instances.setTags
权限 - 为虚拟机设置标签:针对虚拟机的
compute.instances.setLabels
权限 - 为虚拟机设置要使用的服务账号:针对虚拟机的
compute.instances.setServiceAccount
权限 - 为虚拟机创建新磁盘:针对项目的
compute.disks.create
权限 - 以只读或读写模式挂接现有磁盘:针对磁盘的
compute.disks.use
权限 - 以只读模式挂接现有磁盘:针对磁盘的
compute.disks.useReadOnly
权限
- 针对项目的
-
更新虚拟机以包含 Tier_1 网络:
-
compute.instances.update
-
使用实例上要修改的资源的权限,例如
compute.instances.updateNetworkInterface
-
-
创建使用 Tier_1 网络的实例模板:调用
instanceTemplates.insert
方法所需的所有权限
限制
- Compute Engine 是唯一支持 Tier_1 网络的产品领域。
- 满足最低 vCPU 要求的 N2、N2D、C2、C2D、C3、C3D、C4、C4A、M3 和 Z3 机器类型支持 Tier_1 网络。
- 对于虚拟机,Tier_1 网络需要 gVNIC 虚拟网络驱动程序以及与 gVNIC 兼容的操作系统映像或自定义映像。
- 第三代及更新型虚拟机需要使用 gVNIC 驱动程序 1.3 版或更高版本才能提供最高的网络带宽。确保您使用的操作系统 (OS) 映像完全支持 Tier_1 网络。完全支持的操作系统映像包含更新后的 gVNIC 驱动程序。 您可以在没有最新版本的映像上更新 gVNIC 驱动程序。
- Tier_1 网络的可购买库存单元 (SKU) 不包括在承诺使用折扣中。
- 当推送的带宽超过 100 Gbps 时,大型 C4、C3、C3D 和 Z3 虚拟机可能会遇到与 NUMA 相关的瓶颈。根据您的应用架构,您可能需要控制线程并中断布置。在 Linux 上,接收流导向 (RFS) 等客机操作系统功能可以帮助解决此问题。确保您的应用已经过 NUMA 调整,可以最大限度地提高性能。
- 在 Windows 虚拟机上,gVNIC 驱动程序可以为默认网络和 Tier_1 网络提供高达 50 Gbps 的网络带宽。不过,对于最高支持 200 Gbps 网络带宽的第三代及更高版本实例,您可以使用更新版的 gVNIC 驱动程序来实现接近线路速率的性能。如需了解详情,请参阅更新到适用于 Windows 的最新 gVNIC 驱动程序。
带宽层级
出站流量带宽限制表示 Google Cloud允许虚拟机在每时间单位从其网络接口 (NIC) 发出的最大可能的数据量(例如每秒千兆字节,即 Gbps)。出站流量带宽包括传输到虚拟机挂接的所有永久性磁盘和 Google Cloud Hyperdisk 卷的数据。
请注意有关带宽限制的以下事项:
- 默认带宽范围在 10 Gbps 到 200 Gbps 之间,具体取决于机器类型和虚拟机大小。
- Tier_1 网络会增加虚拟机的最大出站流量带宽限制。出站流量带宽上限范围在 50 Gbps 到 200 Gbps 之间,具体取决于虚拟机的大小和机器类型。
- 实际的出站流量带宽始终小于或等于出站流量带宽限制。
为了实现尽可能高的出站流量带宽,必须满足以下所有条件:
- 发送和接收虚拟机必须位于同一可用区中。
- 虚拟机必须位于同一个 VPC 网络或者通过 VPC 网络对等互连连接的 VPC 网络中。
- 虚拟机之间发送的数据包必须使用内部 IP 地址目的地。
- 虚拟机所用的 VPC 网络使用最大传输单元 (MTU) 设置的最高值。较高的 MTU 可以减少数据包标头的开销,从而增加载荷数据的吞吐量。
如需查看出站流量和入站流量带宽限制的完整讨论,请参阅网络带宽。
通用 C4A 虚拟机
下表介绍了 C4A 虚拟机的出站带宽限制。
vCPU | 内部 IP | Tier_1 内部 IP 地址 |
外部 IP | Tier_1 外部 IP |
---|---|---|---|---|
1 | 10 Gbps | 不适用 | 7 Gbps | 不适用 |
2 | 10 Gbps | 不适用 | 7 Gbps | 不适用 |
4 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
8 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
16 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
32 | 23 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
48 | 34 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
64 | 45 Gbps | 75 Gbps | 7 Gbps | 25 Gbps |
72 | 50 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
通用 C4 虚拟机
下表介绍了 C4 虚拟机的出站带宽限制。
vCPUs | 内部 IP | Tier_1 内部 IP 地址 |
外部 IP | Tier_1 外部 IP |
---|---|---|---|---|
2 | 10 Gbps | 不适用 | 7 Gbps | 不适用 |
4 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
8 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
16 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
32 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
48 | 34 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
96 | 67 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
192 | 100 Gbps | 200 Gbps | 7 Gbps | 25 Gbps |
通用 C3 虚拟机和裸金属实例
下表介绍了 C3 虚拟机和裸金属实例的出站带宽限制。
vCPU | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
4 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
8 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
22 | 23 Gbps | 不适用 | 7 Gbps | 不适用 |
44 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
88 | 62 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
176 | 100 Gbps | 200 Gbps | 7 Gbps | 25 Gbps |
192 | 100 Gbps | 200 Gbps | 7 Gbps | 25 Gbps |
通用 C3D 虚拟机
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
4 | 20 Gbps | 不适用 | 7 Gbps | 不适用 |
8 | 20 Gbps | 不适用 | 7 Gbps | 不适用 |
16 | 20 Gbps | 不适用 | 7 Gbps | 不适用 |
30 | 20 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
60 | 40 Gbps | 75 Gbps | 7 Gbps | 25 Gbps |
90 | 60 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
180 | 100 Gbps | 150 Gbps | 7 Gbps | 25 Gbps |
360 | 100 Gbps | 200 Gbps | 7 Gbps | 25 Gbps |
计算优化 C2 虚拟机
下表介绍了 C2 虚拟机的出站带宽限制。
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
4 | 10 Gbps | 不适用 (N/A) | 7 Gbps | 不适用 |
8 | 16 Gbps | 不适用 | 7 Gbps | 不适用 |
16 | 32 Gbps | 不适用 | 7 Gbps | 不适用 |
30 | 32 Gbps | 50 Gbps | 7 Gbps | 7 Gbps |
60 | 32 Gbps | 100 Gbps | 7 Gbps | 7 Gbps |
计算优化 C2D 虚拟机
下表介绍了 C2D 虚拟机的出站带宽限制。
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
2 | 10 Gbps | 不适用 (N/A) | 7 Gbps | 不适用 |
4 | 10 Gbps | 不适用 | 7 Gbps | 不适用 |
8 | 16 Gbps | 不适用 | 7 Gbps | 不适用 |
16 | 32 Gbps | 不适用 | 7 Gbps | 不适用 |
32 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
56 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
112 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
计算优化型 H3 虚拟机
下表介绍了 H3 虚拟机的出站带宽限制。
vCPU 数量 | 内部 IP | 外部 IP |
---|---|---|
88 | 200 Gbps | 1 Gbps |
内存优化型 M3 虚拟机
下表介绍了 M3 虚拟机的出站带宽限制。
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
32 | 32 Gbps | 不适用 | 7 Gbps | 不适用 |
64 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
128 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
通用 N2 虚拟机
下表介绍了 N2 虚拟机的出站带宽限制。
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
2 | 10 Gbps | 不适用 (N/A) | 7 Gbps | 不适用 |
4 | 10 Gbps | 不适用 | 7 Gbps | 不适用 |
8 | 16 Gbps | 不适用 | 7 Gbps | 不适用 |
16 | 32 Gbps | 不适用 | 7 Gbps | 不适用 |
32 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
48 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
64 | 32 Gbps | 75 Gbps | 7 Gbps | 25 Gbps |
80 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
96 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
128 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
通用 N2(自定义大小形状)虚拟机
下表介绍了自定义大小的 N2 虚拟机的出站带宽限制。
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
2、4 或 6 | 10 Gbps | 不适用 (N/A) | 7 Gbps | 不适用 |
8、10、12 或 14 | 16 Gbps | 不适用 | 7 Gbps | 不适用 |
16、18、20、22、24、26、28 或 30 | 32 Gbps | 不适用 | 7 Gbps | 不适用 |
32、36、40、44、48、52、56 或 60 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
64、68、72 或 76 | 32 Gbps | 75 Gbps | 7 Gbps | 25 Gbps |
80 个或更多 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
通用 N2D 虚拟机
下表介绍了 N2D 虚拟机的出站带宽限制。
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
2 | 10 Gbps | 不适用 (N/A) | 7 Gbps | 不适用 |
4 | 10 Gbps | 不适用 | 7 Gbps | 不适用 |
8 | 16 Gbps | 不适用 | 7 Gbps | 不适用 |
16 | 32 Gbps | 不适用 | 7 Gbps | 不适用 |
32 | 32 Gbps | 不适用 | 7 Gbps | 不适用 |
48 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
64 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
80 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
96 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
128 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
224 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
通用 N2D(自定义大小形状)虚拟机
下表介绍了自定义大小的 N2D 虚拟机的出站带宽限制。
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
2 或 4 | 10 Gbps | 不适用 (N/A) | 7 Gbps | 不适用 |
8 | 16 Gbps | 不适用 | 7 Gbps | 不适用 |
16 或 32 | 32 Gbps | 不适用 | 7 Gbps | 不适用 |
48、64 或 80 | 32 Gbps | 50 Gbps | 7 Gbps | 25 Gbps |
96 | 32 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
内存优化型 X4 实例
下表介绍了 X4 裸金属实例的出站带宽限制。
vCPU | 内部 IP | 外部 IP |
---|---|---|
960 | 100 Gbps | 7 Gbps |
1440 | 100 Gbps | 7 Gbps |
1920 | 100 Gbps | 7 Gbps |
存储优化 Z3 虚拟机
下表介绍了 H3 虚拟机的出站流量带宽限制。
vCPU 数量 | 内部 IP | Tier_1 内部 IP 地址 | 外部 IP | Tier_1 外部 IP 地址 |
---|---|---|---|---|
88 | 62 Gbps | 100 Gbps | 7 Gbps | 25 Gbps |
176 | 100 Gbps | 200 Gbps | 7 Gbps | 25 Gbps |
配置使用 Tier_1 网络的实例
如果计算实例不使用 VirtioNet 接口,您可以在创建计算实例时启用 Tier_1 网络。您还可以修改实例来添加或移除 Tier_1 网络,前提是该实例创建时使用了 gVNIC 或 IDPF 网络接口。
或者,您还可以使用 DPDK 加快网络数据包处理,以便在使用 Tier_1 网络的虚拟机上运行对性能要求高的应用。
创建使用 Tier_1 网络的实例和容器
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 将 Tier_1 网络添加到新计算实例或容器。
在 Google Cloud 控制台中,前往虚拟机实例页面。
选择您的项目。
点击创建实例。
为计算实例指定名称。如需了解详情,请参阅资源命名惯例。
选择支持您计划使用的机器类型的区域和可用区。
为您的实例选择机器配置。 如需创建使用 Tier_1 网络的实例,您必须选择 N2、N2D、C2、C2D、C3、C3D、C4、C4A、M3 或 Z3 虚拟机。
- 点击通用标签页,然后从系列菜单中选择 N2、N2D、C4、C4A、C3 或 C3D。
- 点击计算优化标签页,然后从系列菜单中选择 C2 或 C2D。
- 点击内存优化标签页,然后从系列菜单中选择 M3。
- 先点击存储优化标签页,然后从系列菜单中选择 Z3。
如果您收到机器类型在所选区域不可用的消息,请将区域更改为支持您所选机器类型的区域。
在机器类型菜单中,选择符合带宽层级大小要求的机器类型。
如需选择与兼容的操作系统,请在启动磁盘部分中,点击更改,然后选择支持的操作系统,或使用自定义映像标签页选择一个自定义映像。
可选。在防火墙部分中,选择防火墙规则。
展开高级选项部分。
展开网络部分,然后执行以下操作:
在网络接口卡菜单中,选择 gVNIC。
在网络带宽部分中,选中启用每个虚拟机的 Tier_1 网络性能复选框。
如果虚拟机具有多个 NIC 或实例使用 IPv6 地址,请配置网络接口。
点击创建。
使用 gcloud compute instances create 命令创建使用 gVNIC 虚拟网络驱动程序的虚拟机。可以使用 --network-performance-configs
标志和 --network-interface
标志为虚拟机配置网络性能设置。如果未指定这些标志,则系统会创建使用默认网络性能配置的虚拟机。
如需创建运行容器映像的虚拟机,请使用 gcloud compute instances create-with-container 命令。
gcloud compute instances createVM_NAME \ --image=OS_IMAGE \ --machine-type=MACHINE_TYPE \ --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \ --network-interface=nic-type=GVNIC
替换以下内容:
例如:
gcloud compute instances create instance-1 \ --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \ --network-interface=nic-type=GVNIC \ --image-family=rocky-linux-8-optimized-gcp \ --image-project=rocky-linux-cloud \ --machine-type=n2-standard-32
调用 Compute Engine API instances.insert 方法以创建具有高带宽网络配置的虚拟机。在请求正文中:
- 将
networkPerformanceConfig
参数设置为totalEgressBandwidthTier
和TIER_1
。 - 将
networkInterface
参数设置为nicType
和GVNIC
。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances { "name":VM_NAME , "description": string, ... "networkPerformanceConfig": { "totalEgressBandwidthTier": TIER_1 }, "networkInterfaces": [ { "nicType": "GVNIC" }, ... ] }
替换以下内容:
- PROJECT_ID:您的项目 ID
- ZONE:您要在其中创建虚拟机的可用区
- VM_NAME:虚拟机的名称
更新虚拟机以包含 Tier_1 网络
请参阅更新实例属性文档,以确保满足成功更新虚拟机的所有要求。您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST 更新虚拟机。
您可以修改虚拟机来更改网络配置以包含或排除每个虚拟机的 Tier_1 网络性能。虚拟机必须已关联一个 gVNIC 接口;您无法修改虚拟机来添加网络接口。如需更新网络配置,您必须停止并重启虚拟机。
在 Google Cloud 控制台中,前往虚拟机实例页面。
选择您的项目。
点击要修改的虚拟机的名称。
停止虚拟机。
选择修改。
如果您的虚拟机最初配置有 gVNIC 卡,请选中启用每个虚拟机的 Tier_1 网络性能复选框以添加每个虚拟机的 Tier_1 网络性能,或者取消选中该复选框以从虚拟机移除此功能。
保存更改。
重启虚拟机。
使用
gcloud compute instances export
命令将虚拟机的信息导出到 YAML 文件。gcloud compute instances export
VM_NAME \ --zone=ZONE --destination=PATH_TO_FILE 替换以下内容:
- VM_NAME:虚拟机的名称
- ZONE:虚拟机所在可用区的名称
-
PATH_TO_FILE:扩展名为
.yaml
的文件名。例如:
gcloud compute instances export instance-1 \ --zone=europe-west1-c --destination=test-file.yaml
打开 Cloud Shell 编辑器或您选择的编辑器。
打开您创建的 YAML 文件。
在该文件中,找到
networkPerformanceConfig
的配置部分。更改totalEgressBandwidthTier
的设置,如以下示例所示:networkPerformanceConfig: totalEgressBandwidthTier: TIER_1
将
totalEgressBandwidthTier
设置为TIER_1
,可添加 Tier_1 网络。将其设置为DEFAULT
,会移除该配置。使用
gcloud compute instance update-from-file
命令通过该文件中的更改更新虚拟机。gcloud compute instances update-from-file
VM_NAME \ --zone=ZONE \ --source=PATH_TO_FILE \ --most-disruptive-allowed-action=RESTART替换以下内容:
VM_NAME
:虚拟机的名称ZONE
:虚拟机所在可用区的名称PATH_TO_FILE
:您的 YAML 文件名
--most-disruptive-allowed-action=RESTART
标志设置会自动使用更新后的配置重启虚拟机。
调用 instances.update 方法来修改网络配置。
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/RESOURCE_ID ?most_disruptive_allowed_action=RESTART { "networkPerformanceConfig":{ "totalEgressBandwidthTier": "TIER_1" }, ... }
将 totalEgressBandwidthTier
设置为 TIER_1
,可添加 Tier_1 网络。将其设置为 DEFAULT
会移除该配置。
替换以下内容:
- PROJECT_ID:您的项目 ID
- ZONE:您的虚拟机所在的可用区
- RESOURCE_ID:您的虚拟机的名称
most_disruptive_allowed_action=RESTART
查询参数会自动使用更新后的配置重启虚拟机。
验证虚拟机中的高带宽配置
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 生成现有虚拟机或运行容器映像的现有虚拟机的说明,以验证该虚拟机的带宽层级。
在 Google Cloud 控制台中,前往虚拟机实例页面。
选择您的项目并点击继续。
点击虚拟机名称以查看其配置详细信息,并查看虚拟机是否使用每个虚拟机的 Tier_1 网络性能。
使用 gcloud compute instances describe
命令检查您的虚拟机是否使用每个虚拟机的 Tier_1 网络性能。
例如:
gcloud compute instances describeVM_NAME \ --format="text(name, networkPerformanceConfig)"
输出类似于以下内容:
name: instance-1 networkPerformanceConfig.totalEgressBandwidthTier:TIER_1
如果输出显示值 DEFAULT
,则表示 Tier_1 网络未启用。
调用 Compute Engine API instances.get
方法以查看网络配置。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/RESOURCE_ID /
替换以下内容:
- PROJECT_ID:您的项目名称
- ZONE:您的虚拟机所在的可用区
- RESOURCE_ID:您的虚拟机的名称
输出应该包含以下行:
{ "name":RESOURCE_ID , "description": string, ... "networkPerformanceConfig": { "totalEgressBandwidthTier": "TIER_1" }, ... }
如果输出显示值 DEFAULT
,则表示 Tier_1 网络未启用。
创建使用 Tier_1 网络的实例模板
使用 Google Cloud 控制台、Google Cloud CLI 或 REST 创建具有每个虚拟机 Tier_1 网络性能的实例模板。请参阅创建实例模板文档,以确保满足创建虚拟机实例模板的所有要求。
在 Google Cloud 控制台中,前往实例模板页面。
点击创建实例模板。
为以下字段输入值,或接受默认值。
为实例模板指定名称。如需了解详情,请参阅资源命名惯例。
选择支持 Tier_1 网络的区域和可用区。
为虚拟机选择机器配置。如需创建使用 Tier_1 网络的虚拟机,您必须选择 N2、N2D、C4、C4A、C3、C3D、C2、C2D 或 Z3 虚拟机。
- 点击通用标签页,然后从系列下拉菜单中选择 N2、N2D、C4、C4A、C3 或 C3D。
- 点击计算优化标签页,然后从系列菜单中选择 C2 或 C2D。
- 先点击存储优化标签页,然后从系列菜单中选择 Z3。
在机器类型菜单中,选择符合带宽层级大小要求的机器类型。
在启动磁盘部分中,点击更改,然后选择与 gVNIC 兼容的映像或自定义映像。
可选。在防火墙部分中,选择防火墙规则。
展开高级选项部分。
展开网络部分,然后执行以下操作:
在网络接口卡菜单中,选择 gVNIC。
在网络带宽部分中,选中启用每个虚拟机的 Tier_1 网络性能复选框。
如果虚拟机具有多个 NIC 或您使用 IPv6 地址,请配置网络接口。
点击创建。
将 gcloud compute instance-templates create
命令与 --network-performance-configs
和 --network-interface
标志结合使用。
gcloud compute instance-templates createINSTANCE_TEMPLATE_NAME \ --image=OS_IMAGE \ --machine-type=MACHINE_TYPE \ --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \ --network-interface=nic-type=GVNIC
替换以下内容:
例如:
gcloud compute instance-templates create instance-template-1 \ --image-family=rocky-linux-8-optimized-gcp \ --image-project=rocky-linux-cloud \ --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \ --machine-type=n2-standard-32 \ --network-interface=nic-type=GVNIC
调用 Compute Engine API instanceTemplates.insert
方法。在请求正文中,将 networkPerformanceConfig
参数设置为 totalEgressBandwidthTier
和 TIER_1
。将 networkInterfaces
参数设置为 nicType
和 GVNIC
。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /global/instancesTemplates { "name": "INSTANCE_TEMPLATE_NAME ", "properties": { "machineType": "zones/ZONE /machineTypes/MACHINE_TYPE ", ... "networkPerformanceConfig": { "totalEgressBandwidthTier": "TIER_1" }, "networkInterfaces": [ { "nicType": "GVNIC" }, ... }
替换以下内容:
- PROJECT_ID:您的项目名称
- INSTANCE_TEMPLATE_NAME:您的实例模板名称
- ZONE:虚拟机所在的可用区
- MACHINE_TYPE:虚拟机的机器类型
- RESOURCE_ID:您的虚拟机的名称
对较高的带宽配置进行基准化分析
您可以运行基准测试,使用每个虚拟机的 Tier_1 网络性能检查虚拟机的性能。请务必移除您在测试期间创建的基准化分析资源,以避免产生意外的资源费用。