arrow_back

Build Infrastructure with Terraform on Google Cloud:挑戰研究室

登录 加入
Quick tip: Review the prerequisites before you run the lab
Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the student account, which may cause extra charges incurred to your personal account.
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

Build Infrastructure with Terraform on Google Cloud:挑戰研究室

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP345

總覽

在挑戰研究室中,您會在特定情境下完成一系列任務。挑戰研究室不會提供逐步說明,您將運用從課程研究室學到的技巧,自行找出方法完成任務!自動評分系統 (如本頁所示) 將根據您是否正確完成任務來提供意見回饋。

在您完成任務的期間,挑戰研究室不會介紹新的 Google Cloud 概念。您須靈活運用所學技巧,例如變更預設值或詳讀並研究錯誤訊息,解決遇到的問題。

若想滿分達標,就必須在時限內成功完成所有任務!

這個研究室適合已參加 Build Infrastructure with Terraform on Google Cloud 課程的學員。準備好迎接挑戰了嗎?

測試的主題:

  • 將現有的基礎架構匯入 Terraform 設定。
  • 建構並參照自己的 Terraform 模組。
  • 將遠端後端新增至設定中。
  • 使用並實作 Terraform Registry 中的模組。
  • 重新佈建、刪除及更新基礎架構。
  • 測試所建立資源之間的連線能力。

設定和需求

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。

挑戰情境

您是一家新創公司的實習雲端工程師。在您的第一項專案中,新主管要求您以快速有效的方式打造基礎架構,並建立機制追蹤該基礎架構,以做為日後參考及調整之用。您必須依照指示使用 Terraform 完成這項專案。

針對這項專案,您將使用 Terraform 在新創公司的首選供應商 Google Cloud 上建立、部署及追蹤基礎架構;此外,還必須將一些管理不善的執行個體匯入設定中進行修正。

在這個研究室中,您將使用 Terraform 匯入並建立多個 VM 執行個體、一個具有兩個子網路的虛擬私有雲網路,還要建立一項防火牆規則,讓虛擬私有雲允許兩個執行個體之間的連線。此外,您也將建立 Cloud Storage 值區來託管遠端後端。

注意:在每個部分完成之後,請執行 planapply 來建立執行計畫並套用變更,讓作業順利通過驗證。我們會更新這個研究室中的許多 Terraform 檔案,因此請務必使用正確的檔案路徑,並維持正確的縮排設定。

工作 1:建立設定檔

  1. 在 Cloud Shell 中建立 Terraform 設定檔和類似下列內容的目錄結構:
main.tf variables.tf modules/ └── instances ├── instances.tf ├── outputs.tf └── variables.tf └── storage ├── storage.tf ├── outputs.tf └── variables.tf
  1. 在根目錄和模組中填寫 variables.tf 檔案。將這三個變數新增至各個檔案中:regionzoneproject_id。至於變數的預設值,請使用 和您的 Google Cloud 專案 ID。
注意:請在資源設定中的適用位置使用這些變數。
  1. 將 Terraform 區塊和 Google Provider 新增至 main.tf 檔案中。請確認將 zone 引數連同 projectregion 引數一起新增至 Google Provider 區塊中。

  2. 初始化 Terraform。

工作 2:匯入基礎架構

  1. 在 Google Cloud 控制台中的「導覽選單」上,依序點選「Compute Engine」>「VM 執行個體」。系統已為您建立了兩個執行個體,名稱分別為 tf-instance-1tf-instance-2
注意:點選其中一個執行個體,就會顯示執行個體 ID開機磁碟映像檔機器類型。如要正確編寫設定並匯入 Terraform,這些都是所需內容。
  1. 將現有的執行個體匯入instances 模組中。如要這麼做,您需要執行下列步驟:
  • 首先,將模組參照新增至 main.tf 檔案中,然後重新初始化 Terraform。
  • 接著將資源設定寫入 instances.tf 檔案,以符合現有的執行個體。
    • 將執行個體命名為 tf-instance-1tf-instance-2
    • 為配合本研究室的學習目標,請盡可能縮短資源設定時間。為達成此需求,您只需在設定中包含下列其他的引數:machine_typeboot_disknetwork_interfacemetadata_startup_scriptallow_stopping_for_update。針對最後兩個引數,請使用下列設定,如此一來,就不必再重新建立:
    metadata_startup_script = <<-EOT #!/bin/bash EOT allow_stopping_for_update = true
  • 在模組中寫入資源設定後,使用 terraform import 指令將設定匯入 instances 模組中。
  1. 套用變更。請注意,由於您沒有填寫整個設定中的所有引數,因此 apply就地更新執行個體。雖然這不會對研究室的學習目標造成影響,但在正式環境中,建議您確實填寫所有引數後再執行匯入作業。

點選「Check my progress」,確認目標已達成。匯入基礎架構。

工作 3:設定遠端後端

  1. storage 模組中建立 Cloud Storage 值區資源。至於值區的名稱,請使用 。而剩下的引數,使用下列內容即可:

    • location = "US"
    • force_destroy = true
    • uniform_bucket_level_access = true
注意:您可以選擇在 outputs.tf 檔案中新增輸出值。
  1. 將模組參照新增至 main.tf 檔案中。初始化這個模組,並執行 apply 套用變更,以使用 Terraform 建立值區。

  2. 將這個 Storage 值區設為 main.tf 檔案中的遠端後端。請務必使用這個前置字串 terraform/state,以便順利評分。

  3. 只要您已正確寫入設定,在執行 init 時,Terraform 就會詢問您是否要將現有的狀態資料複製到新的後端。在提示訊息中,輸入 yes

點選「Check my progress」,確認目標已達成。設定遠端後端。

工作 4:修改及更新基礎架構

  1. 前往 instances 模組修改 tf-instance-1 資源,以使用 e2-standard-2 機器類型。

  2. tf-instance-2 資源改為使用 e2-standard-2 機器類型。

  3. 新增第三個執行個體資源,並命名為 。至於這個第三資源,請使用 e2-standard-2 機器類型。請務必將這三個執行個體的機器類型全部變更為 e2-standard-2

  4. 初始化 Terraform 並執行 apply 套用變更。

注意:您也可以選擇在模組的 outputs.tf 檔案中新增這些資源的輸出值。

點選「Check my progress」,確認目標已達成。修改及更新基礎架構。

工作 5:移除資源

  1. 從設定檔中移除資源,刪除第三個執行個體 。移除後,請初始化 Terraform 並執行 apply 套用變更。

點選「Check my progress」,確認目標已達成。移除資源。

工作 6:使用 Registry 中的模組

  1. 在 Terraform Registry 中,前往網路模組

  2. 將這個模組新增至 main.tf 檔案中。請使用下列設定:

  • 使用版本 6.0.0 (如果使用其他版本,可能會導致相容性錯誤)。
  • 將虛擬私有雲命名為 ,並採用「全域」轉送模式。
  • 區域中指定 2 個子網路,分別命名為 subnet-01subnet-02。至於子網路的引數,只需要 NameIPRegion 即可。
  • 至於 IP,subnet-01 請使用 10.10.10.0/24subnet-02 則使用 10.10.20.0/24
  • 由於您不需要任何與虛擬私有雲相關聯的次要範圍或路徑,因此可省略這部分的設定。
  1. 寫入模組設定後,請初始化 Terraform 並執行 apply 建立網路。

  2. 接著,前往 instances.tf 檔案並更新設定資源,將 tf-instance-1 連結至 subnet-01,以及將 tf-instance-2 連結至 subnet-02

注意:在這個執行個體設定中,您需要將 network 引數更新為 ,然後新增 subnetwork 引數,讓每個執行個體都有正確的子網路。

點選「Check my progress」,確認目標已達成。使用 Registry 中的模組。

工作 7:設定防火牆

  • main.tf 檔案中,建立一項防火牆規則並命名為 tf-firewall
    • 這項防火牆規則應准許 網路允許下列連線:TCP 通訊埠 80 上「所有」IP 範圍 (0.0.0.0/0) 內的輸入連線。
    • 請務必新增具有正確 IP 範圍 (0.0.0.0/0) 的 source_ranges 引數。
    • 初始化 Terraform 並執行 apply 套用變更。
注意:如要擷取所需的 network 引數,您可以檢查狀態,找出您建立的 google_compute_network 資源 IDself_link,格式為 projects/PROJECT_ID/global/networks/

點選「Check my progress」,確認目標已達成。設定防火牆。

連線能力測試 (選用)

建立防火牆規則以允許透過虛擬私有雲進行內部連線後,您可以選擇執行連線能力測試。

  1. 確定兩個 VM 都在執行中。

  2. 依序前往「網路智慧」>「Connectivity Tests」。在兩個 VM 上執行連線能力測試,驗證可以正常連線。您成功驗證了執行個體之間的連線能力。

注意:請確定「Network Management API」已順利啟用。如果沒有,請點選「啟用」

配置設定應會如下所示:

恭喜!

如果您在規定的時間內,完成匯入、建立、修改及設定架構,代表您在 Terraform 技能方面展現了出色的能力!在本研究室中,您一開始是將兩個預先設定的 VM 匯入 Terraform,並建立 Cloud Storage 值區來設定後端。接著,您新增了另一個執行個體,並練習修改及更新模組中的資源設定。最後,您使用 Terraform Registry 中的模組建立了有兩個子網路的虛擬私有雲、將執行個體連線至該虛擬私有雲,並建立防火牆規則來允許這兩項資源之間的連線。

取得下一枚技能徽章

這個自修研究室屬於 Build Infrastructure with Terraform on Google Cloud 技能徽章課程的一部分。完成這個技能徽章課程即可獲得上方的徽章,表彰您的成就。您可以在履歷表和社群平台分享徽章,並使用 #GoogleCloudBadge 公開成就。

後續步驟

現在,您已證明自己在 Terraform 方面的能力,您可能會想報考 HashiCorp Infrastructure Automation 認證。Terraform Associate 認證適用於瞭解開放原始碼 HashiCorp Terraform 相關基本概念與技能的使用者,比方說,專門從事營運、IT 或開發的雲端工程師。如果考生具備專業經驗,能在正式環境中使用 Terraform,就表示已準備好參加測驗,不過如果能在個人示範環境中達成測驗目標,或許也已足夠。所以如果您想精進技能、驗證自己基礎架構自動化的能力,我們建議您查看應考指南測驗複習,並在準備好時報名測驗。祝您順利!

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2024 年 3 月 22 日

研究室上次測試日期:2024 年 3 月 22 日

Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.