
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Import infrastructure
/ 20
Configure a remote backend
/ 10
Modify and update infrastructure
/ 20
Destroy resources
/ 10
Use a Module from the Registry
/ 20
Configure a firewall
/ 20
在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。
在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。
要想获得满分,您必须在该时间段内成功完成所有任务!
本实验的适用对象为已报名参加在 Google Cloud 上使用 Terraform 构建基础设施课程的学员。准备好接受挑战了吗?
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
您是一家新成立的初创公司的实习云工程师。在您接手的第一个项目中,新主管要求您快速、高效地构建基础设施,并建立用于跟踪该基础设施的机制,以方便将来引用和更改。主管要求您使用 Terraform 完成此项目。
在该项目中,您将使用 Terraform 在该初创公司首选提供商 Google Cloud 的平台上构建、部署和跟踪基础设施。您还需要将一些管理不当的实例导入您的配置中,并进行修复。
在此实验中,您将使用 Terraform 导入和创建多个虚拟机实例、一个包含两个子网的 VPC 网络,以及允许在这两个实例之间进行连接的 VPC 防火墙规则。您还将创建一个 Cloud Storage 存储桶,用于托管远程后端。
plan
和 apply
命令,以便系统可以顺利验证您所做的工作。由于我们将在本实验室中更新许多 terraform 文件,因此请确保使用正确的文件路径并保持正确的缩进。variables.tf
文件中填充内容。在每个文件中添加三个变量:region
、zone
和 project_id
。这些变量的默认值应分别为 将 Terraform 块和 Google Provider 添加到 main.tf
文件中。确认 zone 参数已与 project 和 region 参数一起添加到“Google Provider”块。
初始化 Terraform。
main.tf
文件,然后重新初始化 Terraform。instances.tf
文件中编写资源配置,以便与现有实例相匹配。
tf-instance-1
和 tf-instance-2
。machine_type
、boot_disk
、network_interface
、metadata_startup_script
以及 allow_stopping_for_update
。对于最后两个参数,请使用以下配置,这样可确保无需重新创建配置:terraform import
命令将这些配置导入 instances 模块。apply
命令仅会更新现有的实例。虽然就实验目的而言,这没有任何问题,但在生产环境中,请务必正确添加所有参数,然后再执行导入操作。点击“检查我的进度”以验证是否完成了以下目标:
在 storage
模块中创建一个 Cloud Storage 存储桶资源。将该存储桶的名称设为
location = "US"
force_destroy = true
uniform_bucket_level_access = true
outputs.tf
文件中添加输出值。将模块引用添加到 main.tf
文件。初始化模块,并使用 apply
命令应用更改,以使用 Terraform 创建存储桶。
在 main.tf
文件中将此存储桶配置为远程后端。务必使用前缀 terraform/state
,以确保可以成功对其评分。
如果您已正确编写配置,执行 init
命令后,Terraform 会询问您是否希望将现有状态数据复制到新后端。在提示窗口中输入 yes
。
点击“检查我的进度”以验证是否完成了以下目标:
浏览到 instances 模块,将 tf-instance-1
资源修改为使用 e2-standard-2 机器类型。
将 tf-instance-2 资源修改为使用 e2-standard-2
机器类型。
添加第三个实例资源,并将其命名为 e2-standard-2
机器类型。确保将全部三个实例的机器类型都改为 e2-standard-2
。
初始化 Terraform,并使用 apply
命令应用所做的更改。
outputs.tf
文件中添加这些资源的输出值。点击“检查我的进度”以验证是否完成了以下目标:
apply
命令应用更改。点击“检查我的进度”以验证是否完成了以下目标:
在 Terraform Registry 中,前往网络模块。
将此模块添加到 main.tf
文件中。使用以下配置:
6.0.0
(其他版本可能会产生兼容性问题)。subnet-01
和 subnet-02
。只需为子网指定 Name、IP 和 Region 参数。subnet-01
和 subnet-02
使用 IP 10.10.10.0/24
和 10.10.20.0/24
。编写好模块配置后,初始化 Terraform 并运行 apply
命令,以创建网络。
然后,浏览到 instances.tf
文件并更新配置资源,将 tf-instance-1 连接到 subnet-01
,将 tf-instance-2 连接到 subnet-02
。
,然后用正确的子网为每个实例添加 subnetwork 参数。点击“检查我的进度”以验证是否完成了以下目标:
main.tf
文件中创建一个防火墙规则资源,并将其命名为 tf-firewall。0.0.0.0/0
) 的入站连接通过 TCP 端口 80。0.0.0.0/0
) 添加 source_ranges
参数。apply
命令应用所做的更改。network
参数,您可以检查状态并找到所创建资源 google_compute_network
的 ID 或 self_link,其格式为 projects/PROJECT_ID/global/networks/
。
点击“检查我的进度”以验证是否完成了以下目标:
创建防火墙规则以允许通过 VPC 进行内部连接后,您可以选择运行网络连接测试。
确保两个虚拟机都处于运行状态。
依次点击网络智能 > Connectivity Tests。对这两个虚拟机运行连接测试,确认可以连接到它们。现在,您已验证实例之间的连接。
您的配置设置应如下所示:
如果您在分配的时间内成功导入、创建、修改和配置架构,则表示您具备出色的 Terraform 使用技能。在本实验中,您先将两个预配置的虚拟机导入到了 Terraform,并创建了用于配置后端的 Cloud Storage 存储桶。然后,您添加了另一个实例,并练习修改和更新模块中的资源配置。最后,您使用 Terraform Registry 中的模块创建了包含两个子网的 VPC,将实例连接到该 VPC,并创建了防火墙规则以允许在这些实例之间进行连接。
本自学实验是在 Google Cloud 上使用 Terraform 构建基础搜索技能徽章课程的组成部分。完成此技能徽章课程可赢得上面的徽章,以表彰您取得的成就。您可以在简历和社交平台中分享自己的徽章,并使用 #GoogleCloudBadge 让大家知道您取得的这一成就。
现在,您已经证明自己在 Terraform 方面的能力,不妨报名参加 HashiCorp 基础设施自动化认证考试。Terraform Associate 认证考试面向专门从事运维、IT 或开发行业且掌握了开源 HashiCorp Terraform 相关基本概念和技能的云工程师。如果考生具备在生产环境中使用 Terraform 的专业经验,应该很容易就能通过考试。不过,如果能在个人演示环境中完成考试目标,或许也足以让考生通过考试。因此,如果您想进一步提升自己的技能水平,并证明您在基础设施自动化方面的能力,建议您查看学习指南和考试复习资料,准备充分后再报名参加考试。祝您好运!
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 3 月 22 日
上次测试实验的时间:2024 年 3 月 22 日
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
One lab at a time
Confirm to end all existing labs and start this one