
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create a VPC network and VM instances
/ 30
Create custom mode VPC networks with firewall rules
/ 40
Create VM instances
/ 30
作为云架构师,您知道在 Azure 中,网络是云基础设施的重要支柱之一。使用 Google Cloud 时,您主要关心的是如何连接不同资源、实现网络分段以及确保安全性。
在 Azure 中,您可以在多个区域中根据需要部署任意数量的虚拟网络 (VNet)。这些 VNet 是被隔离的资源,专门用于连接您的基础设施及其内部的所有部署。
在 Azure 中,VNet 是区域性的,意味着它们只能存在于一个区域。然而,您可以使用 Microsoft 主干网络的对等互连服务将这些 VNet 互连,从而确保隐私性和完整性。
如需处理混合场景,您可以使用 Azure 通过虚拟网络网关与本地数据中心进行通信。
在 Azure 中,所有虚拟网络和子网均跨越一个区域中的所有可用区。这意味着它们不需要按照可用区进行划分。按照最佳实践,您可以创建安全群组、路由表和 Azure 防火墙规则来提升网络安全。
有了这些背景知识,接下来您将探索 Google Cloud 提供的网络服务,以便成功部署一个健全的架构。
Google Cloud Virtual Private Cloud (VPC) 可为 Compute Engine 虚拟机 (VM) 实例、Kubernetes Engine 容器和 App Engine 柔性环境提供网络功能。换而言之,如果没有 VPC 网络,您就无法创建虚拟机实例、容器和 App Engine 应用。因此,每个 Google Cloud 项目都有一个默认网络供您开始您的工作。
VPC 网络类似于物理网络,区别是前者在 Google Cloud 中进行了虚拟化。VPC 网络是一种全球性资源,它由数据中心内的一系列区域级虚拟子网组成,所有子网通过全球广域网 (WAN) 连接。在 Google Cloud 中,VPC 网络在逻辑上彼此隔离。
在本实验中,您将创建一个具有防火墙规则和两个虚拟机实例的自动模式 VPC 网络。然后,您要将该自动模式网络转换为自定义模式网络,并创建其他自定义模式网络,如下面的示例网络图所示。您还将测试各网络间的连接。
在本实验中,您将学习如何执行以下任务:
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
请使用无痕式窗口登录 Qwiklabs。
留意实验的访问时限(例如 1:15:00
)并确保能在相应时间段内完成实验。
系统不提供暂停功能。如有需要,您可以重新开始实验,不过必须从头开始。
准备就绪时,点击开始实验。
请记好您的实验凭据(用户名和密码)。您需要使用这组凭据来登录 Google Cloud 控制台。
点击打开 Google 控制台。
点击使用其他帐号,然后将此实验的凭据复制并粘贴到相应提示框中。
如果您使用其他凭据,将会收到错误消息或产生费用。
接受条款并跳过恢复资源页面。
每个 Google Cloud 项目都有一个默认网络,该网络包含子网、路由和防火墙规则。
默认网络在每个 Google Cloud 区域中都有一个子网。
路由会指示虚拟机实例和 VPC 网络应如何将来自实例的流量发送到目的地,无论目的地是在网络内部还是 Google Cloud 外部。每个 VPC 网络都附带一些默认的路由,用于在其子网之间路由流量,以及将从符合条件的实例发出的流量发送到互联网。
每个 VPC 网络均实现了您可加以配置的分布式虚拟防火墙。您可通过防火墙规则控制允许哪些数据包传送到哪些目的地。每个 VPC 网络都有两条隐式防火墙规则,用于禁止所有传入连接并允许所有传出连接。
在左侧窗格中,点击防火墙。
请注意,默认网络有 4 条入站流量防火墙规则:
这些防火墙规则允许来自任何地方 (0.0.0.0/0) 的 ICMP、RDP 和 SSH 入站流量,以及网络内 (10.128.0.0/9) 的所有 TCP、UDP 和 ICMP 流量。目标、过滤条件、协议/端口和操作列对这些规则进行了说明。
请等到网络被删除后再继续其他操作。
您可以看到不存在路由。
您可以看到不存在防火墙规则。
验证如果没有 VPC 网络,便无法创建虚拟机实例。
注意错误。
您的任务是创建具有两个虚拟机实例的自动模式网络。自动模式网络可以在每个区域中自动创建子网,因此设置和使用起来很方便。但是,您无法完全控制在 VPC 网络中创建的子网,包括所用的区域和 IP 地址范围。
请根据需要阅读 Google VPC 文档,了解选择自动模式网络的更多注意事项。当前假定您使用自动模式网络进行原型设计。
自动模式网络会自动在每个区域中创建子网。
这些就是默认网络所具有的那些标准防火墙规则。系统还会显示 deny-all-ingress 和 allow-all-egress 规则,但您无法选择或停用它们,因为它们是隐式规则。这两条规则的优先级较低(整数越大,表示优先级越低),因此系统会优先考虑允许 ICMP、自定义、RDP 和 SSH 的规则。
点击创建。
新网络创建好后,点击 mynetwork。记下“
在“
在导航菜单 () 中,点击 Compute Engine > 虚拟机实例。
点击创建实例。
指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | mynet-us-vm |
区域 | |
可用区 | |
系列 | E2 |
机器类型 | e2-micro(2 个 vCPU,1 GB 内存) |
启动磁盘 | Debian GNU/Linux 11 (bullseye) |
点击创建。
在“
点击创建实例。
指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | mynet-eu-vm |
区域 | |
可用区 | |
系列 | E2 |
机器类型 | e2-micro(2 个 vCPU,1 GB 内存) |
启动磁盘 | Debian GNU/Linux 11 (bullseye) |
点击创建。
注意:这两个虚拟机实例的外部 IP 地址都是临时的。如果实例停止,则分配给该实例的任何临时外部 IP 地址都将被释放回常规 Compute Engine 池,供其他项目使用。
当已停止的实例再次启动时,系统会向该实例分配一个新的临时外部 IP 地址。或者,您可以预留一个静态外部 IP 地址,将该地址无限期地分配给您的项目,直到您明确将其释放。为 mynetwork 创建的防火墙规则允许来自 mynetwork 内部(内部 IP)和网络外部(外部 IP)的入站 SSH 和 ICMP 流量。
注意 mynet-eu-vm 的外部和内部 IP 地址。
根据 allow-custom 防火墙规则,您可以 ping 通 mynet-eu-vm 的内部 IP。
到目前为止,自动模式网络运行良好,但您需要将其转换为自定义模式网络,以便在有可用的新区域时不会自动创建新的子网。自动创建的新子网可能会使用与手动创建的子网或静态路由所用 IP 重叠的 IP 地址,或者可能会干扰整体网络规划。
等待 mynetwork 的模式转变为自定义。
您可以在等待时点击刷新。
点击“检查我的进度”以验证是否完成了以下目标:
您的任务是再创建两个自定义网络:managementnet 和 privatenet,以及允许 SSH、ICMP 和 RDP 入站流量的防火墙规则和虚拟机实例,如本示例图所示 (vm-appliance 除外):
请注意,这些网络的 IP CIDR 范围不重叠。这样您便能在网络间设置 VPC 对等互连等机制。如果您指定的 IP CIDR 范围与本地网络不同,您甚至可以使用 VPN 或 Cloud Interconnect 配置混合连接。
使用 Cloud 控制台创建 managementnet 网络。
在 Cloud 控制台的导航菜单 () 中,点击 VPC 网络 > VPC 网络。
点击创建 VPC 网络。
对于名称,输入 managementnet
对于子网创建模式,点击自定义。
指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | managementsubnet-us |
区域 | |
IPv4 范围 | 10.240.0.0/20 |
点击完成。
点击等效命令行。
这些命令说明可以使用 gcloud
命令行创建网络和子网。您将使用这些带有类似参数的命令创建 privatenet 网络。
点击关闭。
点击创建。
使用 gcloud
命令行创建 privatenet 网络。
输出应如下所示:
创建防火墙规则,以允许 SSH、ICMP 和 RDP 入站流量传入到 managementnet 网络的虚拟机实例。
在 Cloud 控制台的导航菜单 () 中,点击 VPC 网络 > 防火墙。
点击创建防火墙规则。
指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | managementnet-allow-icmp-ssh-rdp |
网络 | managementnet |
目标 | 网络中的所有实例 |
来源过滤条件 | IPv4 范围 |
来源 IPv4 范围 | 0.0.0.0/0 |
协议和端口 | 指定的协议和端口 |
选择 tcp,并指定端口 22 和 3389。
选择其他协议,并指定 icmp 协议。
点击等效命令行。
这些命令说明也可以使用 gcloud
命令行创建防火墙规则。您将使用这些带有类似参数的命令创建 privatenet 的防火墙规则。
点击关闭。
点击创建。
使用 gcloud
命令行为 privatenet 网络创建防火墙规则。
输出应如下所示:
输出应如下所示:
系统已为您创建 mynetwork 网络的防火墙规则。您可以在一条防火墙规则中定义多个协议和端口(privatenet 和 managementnet),也可以在多条规则(默认和 mynetwork)中指定这些协议和端口。
点击“检查我的进度”以验证是否完成了以下目标:
接下来创建两个虚拟机实例:
使用 Cloud 控制台创建 managementnet-us-vm 实例。
在 Cloud 控制台的导航菜单 () 中,点击 Compute Engine > 虚拟机实例。
点击创建实例。
指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | managementnet-us-vm |
区域 | |
可用区 | |
系列 | E2 |
机器类型 | e2-micro(2 个 vCPU,1 GB 内存) |
启动磁盘 | Debian GNU/Linux 11 (bullseye) |
点击高级选项。
点击网络。
对于网络接口,点击下拉箭头进行修改。
指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
网络 | managementnet |
子网 | managementsubnet-us |
点击完成。
点击等效命令行。
这说明也可以使用 gcloud
命令行创建虚拟机实例。您将使用这些带有类似参数的命令创建 privatenet-us-vm 实例。
点击关闭。
点击创建。
使用 gcloud
命令行创建 privatenet-us-vm 实例。
验证 Cloud 控制台中是否列出了虚拟机实例。
对于列,选择可用区。
点击“检查我的进度”以验证是否完成了以下目标:
探索虚拟机实例之间的连接情况。具体来说,对比虚拟机实例位于同一可用区与位于同一 VPC 网络中的效果。
Ping 这些虚拟机实例的外部 IP 地址,以确定是否可以从公共互联网访问这些实例。
应该能够 ping 通。
应该能够 ping 通。
应该能够 ping 通。
Ping 虚拟机实例的内部 IP 地址,以确定是否可以从 VPC 网络内访问这些实例。
在本实验中,您探索了默认网络,并确定了没有 VPC 网络就无法创建虚拟机实例。因此,您创建了一个具有子网、路由、防火墙规则和两个虚拟机实例的新自动模式 VPC 网络,并测试了这两个虚拟机实例的连接情况。由于不建议在生产环境中使用自动模式网络,您将自动模式网络转换成了自定义模式网络。
接着,您又使用 Cloud 控制台和 gcloud 命令行创建了另外两个自定义模式 VPC 网络,它们都具有防火墙规则和虚拟机实例。然后,您测试了 VPC 网络间的连接,结果为:ping 外部 IP 地址时可以 ping 通;但 ping 内部 IP 地址时无法 ping 通。
默认情况下,VPC 网络是隔离的专用网络网域。因此,除非您设置 VPC 对等互连或 VPN 等机制,否则无法在网络之间使用内部 IP 地址通信。
Google Cloud 提供两种 VPC 创建模式,分别是自动模式和自定义模式。在自动模式下,由 Google Cloud 会管理 IP 地址分配和路由,与 Azure 创建 VNet 的方式类似。而在自定义模式下,用户可以更灵活地配置 VPC,例如自行定义 IP 地址范围和子网。
下面来回顾一下这些服务之间的异同:
相似之处:
不同之处:
完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。
系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交。
星级数的含义如下:
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
版权所有 2020 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验