
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create the VM instance
/ 30
Create a Cloud Storage bucket and Enable Private Google Access
/ 40
Configure a Cloud NAT gateway
/ 30
在本实验中,您将为没有外部 IP 地址的虚拟机实例实现专用 Google 访问通道和 Cloud NAT。然后,您将验证该虚拟机能够访问 Google API 和服务的公共 IP 地址以及进行其他互联网连接。
没有外部 IP 地址的虚拟机实例与外部网络是隔离开来的。通过使用 Cloud NAT,这些实例可以访问互联网,以进行更新和修补,在某些情况下,还可以通过互联网进行引导。作为一项托管式服务,Cloud NAT 无需用户管理和干预即可实现高可用性。
在本实验中,您将学习如何执行以下任务:
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在实验详细信息面板中找到用户名。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在实验详细信息面板中找到密码。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
创建包含某些防火墙规则的 VPC 网络以及没有外部 IP 地址的虚拟机实例,并使用 IAP 隧道连接至该实例。
首先,为虚拟机实例创建 VPC 网络,并设定防火墙规则以允许使用 SSH 进行访问。
在 Google Cloud 控制台的导航菜单 () 中,依次点击 VPC 网络 > VPC 网络。
点击创建 VPC 网络。
对于名称,输入 privatenet。
对于子网创建模式,点击自定义。
在新子网中,指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | privatenet-us |
区域 | |
IPv4 地址范围 | 10.130.0.0/20 |
点击完成。
点击创建,然后等待网络创建完成。
在左侧窗格中,点击防火墙。
点击创建防火墙规则。
指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | privatenet-allow-ssh |
网络 | privatenet |
目标 | 网络中的所有实例 |
来源过滤条件 | IPv4 范围 |
来源 IPv4 范围 | 35.235.240.0/20 |
协议和端口 | 指定的协议和端口 |
对于 tcp,选中复选框并指定端口 22。
点击创建。
在 Google Cloud 控制台的导航菜单 () 中,依次点击 Compute Engine > 虚拟机实例。
点击创建实例。
在机器配置页面上,指定以下信息,并将其余设置保留为默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | vm-internal |
区域 | |
可用区 | |
系列 | E2 |
机器类型 | e2-medium(2 个 vCPU、1 个核心、4 GB 内存) |
点击操作系统和存储空间。
如果显示的映像不是 Debian GNU/Linux 12 (bookworm),请点击更改,选择 Debian GNU/Linux 12 (bookworm),然后点击选择。
点击网络。
在网络接口中,指定以下设置对其进行修改:
属性 | 值(按照说明输入值或选择选项) |
---|---|
网络 | privatenet |
子网 | privatenet-us |
外部 IPv4 地址 | 无 |
点击检查我的进度,验证已完成以下目标:
在 Cloud 控制台中,点击激活 Cloud Shell ()。
如果出现提示,点击继续。
在 Cloud Shell 中运行以下命令,在不打开浏览器的情况下设置身份验证。
如果出现 [Y/n] 提示,请按 Y,再按 Enter。
这将为您提供一个可在浏览器中打开的链接。在您登录了 Qwiklabs 账号的同一浏览器中打开链接。登录之后,您将获得验证码,将其复制下来。在 Cloud Shell 中粘贴此验证码。
如需连接至 vm-internal,请运行以下命令:
由于 vm-internal 没有外部 IP 地址,此命令应该无法成功!
ping
命令完成。没有外部 IP 地址的虚拟机实例可通过专用 Google 访问通道来访问 Google API 和服务的外部 IP 地址。默认情况下,VPC 网络的专用 Google 访问通道处于停用状态。
创建 Cloud Storage 存储桶,以测试对 Google API 和服务的访问权限。
在 Google Cloud 控制台的导航菜单 () 中,依次点击 Cloud Storage > 存储桶。
点击创建。
指定以下信息,其他设置则保留默认值:
属性 | 值(按照说明输入值或选择选项) |
---|---|
名称 | 输入全局唯一的名称 |
位置类型 | 多区域 |
点击创建。如果系统提示您启用禁止公开访问,请确保已选中相应选项并点击确认。请记下存储桶的名称。
将您的存储桶名称存储在环境变量中:
将公共 Cloud Storage 存储桶中的一张图片复制到您自己的存储桶中。
您可以在 Cloud 控制台中点击该图片的名称,查看专用 Google 访问通道的实现方式示例。
由于 Cloud Shell 有外部 IP 地址,此命令应该能成功!
如果出现提示,输入 Y 继续。
将您的存储桶名称存储在环境变量中:
此命令应该无法成功:由于专用 Google 访问通道处于停用状态(默认情况下),vm-internal 只能在 VPC 网络内发送流量。
专用 Google 访问通道将在子网级别启用。启用后,相应子网中仅具有专用 IP 地址的实例可以通过默认路由 (0.0.0.0/0)(下一个跃点指向默认互联网网关),向 Google API 和服务发送流量。
点击检查我的进度,验证已完成以下目标:
由于 vm-internal 的子网已启用专用 Google 访问通道,此命令应当有效!
虽然 vm-internal 现在无需外部 IP 地址,即可访问特定的 Google API 和服务,但该实例无法访问互联网以进行更新和修补。您可以配置 Cloud NAT 网关,以便 vm-internal 能够访问互联网。
输出应类似于以下内容(输出示例):
由于 Cloud Shell 有外部 IP 地址,此命令应该能成功!
由于 vm-internal 只能访问 Google API 和服务,此命令应当仅对 Google Cloud 软件包有效!
Cloud NAT 是一种区域级资源。您可以将其配置为允许来自一个区域中所有子网的所有范围的流量、仅允许来自该区域中特定子网的流量,或者仅允许来自于特定主要和次要 CIDR 范围的流量。
在 Google Cloud 控制台标题栏的搜索字段中输入网络服务,然后点击产品和页面部分的网络服务。
在网络服务页面上,点击“网络服务”旁边的固定。
点击 Cloud NAT。
点击开始即可配置 NAT 网关。
指定下列内容:
属性 | 值(按照说明输入值或选择选项) |
---|---|
网关名称 | nat-config |
网络 | privatenet |
区域 |
对于 Cloud Router,选择创建新路由器。
对于名称,输入 nat-router
点击创建。
点击检查我的进度,验证已完成以下目标:
NAT 配置最多可能需要 3 分钟才能传播到虚拟机,因此请至少等一分钟再尝试访问互联网。
输出应类似于以下内容(输出示例):
由于 vm-internal 正在使用 NAT 网关,此命令应当有效!
Cloud NAT 日志记录功能可让您记录 NAT 连接和错误。启用 Cloud NAT 日志记录功能后,系统可针对以下情景各生成一个日志条目:
您可以选择同时记录这两种事件,也可以只记录其中一种。创建的日志会发送至 Cloud Logging。
如果启用日志记录功能,系统会默认将所有收集的日志发送到 Cloud Logging。您可以过滤这些日志,以便系统只发送特定日志。
您还可以在创建 NAT 网关时,或者在创建完 NAT 网关后对其进行修改时,指定这些值。以下内容介绍了如何为现有 NAT 网关启用日志记录功能。
在 Google Cloud 控制台的导航菜单 () 中,依次点击网络服务 > Cloud NAT。
点击 nat-config
网关,然后点击 修改。
点击高级配置下拉菜单以打开该部分。
对于 Logging,选择转换和错误,然后点击保存。
既然已经为 nat-config
网关设置了 Cloud NAT 日志记录功能,我们来看看应该在哪里查看相关日志。
点击 nat-config
以显示其详细信息。然后点击在 Logs Explorer 中查看。
这将在新标签页中打开 Logs Explorer。
此时您还看不到任何日志,因为我们刚刚才为网关启用了此功能。
谨此提醒,系统会针对下述系列事件生成 Cloud NAT 日志:
让我们再次将主机连接到内部虚拟机,看看有无日志生成。
输出应类似于以下内容(输出示例):
我们来看看开启此连接会不会导致系统生成新的日志。
在连接到内部虚拟机后,您应该会看到系统生成了两条新日志。
从日志中可以看到我们所连接的 VPC 网络的详细信息以及所使用的连接方式。您也可以随意展开不同的标签,并查看各种详细信息。
您创建了没有外部 IP 地址的实例 vm-internal,并使用 IAP 隧道安全地连接至该实例。然后,您启用了专用 Google 访问通道,配置了 NAT 网关,并确认 vm-internal 能够访问 Google API 和服务以及其他公共 IP 地址。
没有外部 IP 地址的虚拟机实例与外部网络是隔离开来的。通过使用 Cloud NAT,这些实例可以访问互联网,以进行更新和修补,在某些情况下,还可以通过互联网进行引导。作为一项托管式服务,Cloud NAT 无需用户管理和干预即可实现高可用性。
当您连接到虚拟机实例时,IAP 将使用您的现有项目角色和权限。默认情况下,实例所有者是唯一具有 IAP Secured Tunnel User 角色的用户。
如需了解如何允许其他用户使用 IAP 隧道访问您的虚拟机,请参阅 Cloud 架构中心的授予其他用户访问权限指南。
完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。
系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交。
星级数的含义如下:
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
版权所有 2020 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验