实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

使用 Terraform 和 Cloud Shell 變更防火牆規則

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。
「重要提醒」圖示 重要提醒:

「桌機/筆電」圖示 請務必使用桌機/筆電完成這個實作實驗室。

「勾選」圖示 每個實驗室都只有 5 次嘗試機會。

「測驗目標」圖示 提醒:第一次嘗試時,不一定能全部答對,甚至可能需要重做,這是正常的過程。

「計時器」圖示 實驗室活動開始後,計時器無法暫停。實驗室會在 1 小時 30 分鐘後結束,如果您沒做完,就必須重新開始。

「提示」圖示 您可查看實驗室技術提示瞭解詳情。

活動總覽

防火牆規則在雲端網路安全中扮演至關重要的角色,因為它們可控管哪些流量能進入和離開雲端環境。雲端網路的本質不斷變化,且相當複雜。隨著機構需求改變、雲端資源新增或移除,以及新安全漏洞的發現,您必須持續調整及維護防火牆規則設定,才能因應這些變化。

追蹤及管理雲端環境的重要更新可能充滿挑戰。好在您可以運用基礎架構即程式碼 (IaC),管理雲端資源的設定。IaC 是指透過可重複使用的指令碼,佈建及管理基礎架構,可用於自動執行更新防火牆規則等工作流程。

您可運用 Terraform 和 Cloud Shell,輕鬆管理及更新防火牆規則,有效提升效率。只要在 Terraform 設定檔中編寫所需的防火牆規則,並在 Cloud Shell 執行 Terraform 指令,就能確保網路安全政策保持一致,並受到版本管控。這種做法有助於長期維護及追蹤變更。

在本實驗室中,您將學習如何複製 Terraform 存放區,並部署虛擬私有雲網路和防火牆。

情境

Cymbal Bank 的新銀行應用程式已準備好部署,必須託管在虛擬私有雲 (VPC) 上。您的團隊主管 Chloe 希望使用 Terraform 定義及佈建應用程式的網路基礎架構。Terraform 可用於安全地佈建雲端基礎架構,讓流程能重複進行並保持一致。這樣一來,您就能輕鬆快速地完成必要變更。您的任務是使用 Terraform 建立網路和防火牆規則。

這項工作的步驟如下:首先,您要啟用 Cloud Shell。接著,複製 Terraform 存放區。最後,您將部署虛擬私有雲網路和防火牆。

設定

點選「Start Lab」之前

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

您會在實際雲端環境完成實驗室活動,而非模擬或示範環境。因此,我們會提供新的臨時憑證,讓您在實驗室活動期間登入及存取 Google Cloud。

如要順利完成這個實驗室活動,請先確認:

  • 可以使用標準的網路瀏覽器 (Chrome 瀏覽器為佳)。
注意:請使用無痕模式或私密瀏覽視窗執行此實驗室,防止個人帳戶和學生帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 該來完成實驗室活動了!別忘了,活動開始後就無法暫停。
注意:如有個人 Google Cloud 帳戶或專案,請勿用於本實驗室,以免產生額外費用。

如何啟動實驗室環境及登入 Google Cloud 控制台

  1. 點選「Start Lab」按鈕。左側的「Lab Details」面板會顯示下列項目:

    • 剩餘時間
    • 「Open Google Cloud console」按鈕
    • 這個實驗室中應使用的暫時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
    注意:如果實驗室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也可以按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。「登入」頁面會在新的瀏覽器分頁開啟。

    提示:為方便切換,可以將分頁安排在不同的視窗並排顯示。

    注意:如果顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有需要,請複製下方的 Google Cloud 使用者名稱,然後貼到「登入」對話方塊。點選「下一步」

{{{user_0.username | "Google Cloud username"}}}

您也可以在「Lab Details」面板找到 Google Cloud 使用者名稱

  1. 複製下方的 Google Cloud 密碼,並貼到「歡迎使用」對話方塊。點選「下一步」
{{{user_0.password | "Google Cloud password"}}}

您也可以在「Lab Details」面板找到 Google Cloud 密碼

重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:在這個實驗室中使用自己的 Google Cloud 帳戶,可能會產生額外費用。
  1. 繼續點選後續頁面:
    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Cloud 控制台稍後會在這個分頁中開啟。

注意事項:點選畫面左上方的導覽選單,即可查看 Google Cloud 產品與服務清單。Google Cloud 控制台選單:展示導覽選單圖示

工作 1:複製 Terraform 存放區

在這項工作中,您將使用 Cloud Shell 終端機,複製 Terraform 範例存放區。Terraform 範例包含設定檔,您將使用該檔案佈建防火牆規則。

  1. 在 Google Cloud 控制台,點按「啟用 Cloud Shell」圖示 (「啟用 Cloud Shell」圖示)。
  2. 按一下「繼續」

佈建並連線至 Cloud Shell 環境的作業,應該很快就能完成。

  1. 將下列指令複製到 Cloud Shell 終端機:
cloudshell_open --repo_url "https://github.com/terraform-google-modules/docs-examples.git" --print_file "./motd" --dir "firewall_basic" --page "editor" --tutorial "./tutorial.md" --open_in_editor "main.tf" --force_new_clone

這個指令會複製 Terraform 範例目錄。

  1. 按下 Enter 鍵。

這個指令會執行下列動作:

  • 複製 terraform-google-modules
  • 顯示 motd 檔案名稱。
  • 切換至 firewall_basic 目錄。
  • 檢查複製的檔案,例如 tutorial.md
  • 在 Cloud Shell 編輯器中開啟 main.tf

複製完成後,終端機會顯示位置在 ~/cloudshell_open/docs-examples/firewall_basic。Cloud Shell 提示所顯示的輸出內容應類似下列範例:

student_01_c2e095df84e2@cloudshell:~/cloudshell_open/docs-examples/firewall_basic (qwiklabs-gcp-04-fde36f013e65)$
  1. 將下列指令複製到 Cloud Shell 終端機,列出目錄內容:
ls

您應該會發現目錄中已下載數個檔案:backing_file.tfmain.tfmotdtutorial.md

  1. 將下列指令複製到 Cloud Shell 終端機,分析防火牆規則的設定:
cat main.tf
  1. 按下 Enter 鍵。

main.tf 檔案是設定檔,定義 Terraform 將建立的資源。系統會建立兩個資源:防火牆規則 google_compute_firewall (名稱為 test-firewall-${local.name_suffix}),規則是允許 ICMP 和 TCP 流量通過通訊埠 80、8080 和 1000 至 2000;以及虛擬私有雲網路 google_compute_network (名稱為 test-network-${local.name_suffix})。變數 ${local.name_suffix} 是本機變數,能自動為資源產生專屬名稱。

工作 2:部署虛擬私有雲網路和防火牆

在這項工作中,您將部署新的虛擬私有雲網路和防火牆規則。這項工作將提供實作經驗,讓您瞭解如何建構虛擬私有雲網路和子網路。

注意:請在 Cloud Shell 終端機中依序執行下列指令。
  1. 將下列指令複製到 Cloud Shell 終端機。
export GOOGLE_CLOUD_PROJECT={{{project_0.project_id | Project ID}}}

這個指令會設定專案 ID。

  1. 按下 Enter 鍵。

  2. 將下列指令複製到 Cloud Shell 終端機:

terraform init

這個指令會初始化 Terraform 指令碼。

  1. 按下 Enter 鍵。

輸出內容應回傳訊息,指出 Terraform 已成功初始化。請花點時間查看輸出內容。您會發現 Terraform 將建立新的防火牆和虛擬私有雲網路:

成功初始化 Terraform 後的輸出訊息。

  1. 初始化完成後,將下列指令複製到 Cloud Shell 終端機:
terraform apply

這個指令會套用變更並部署 Terraform 指令碼。

  1. 按下 Enter 鍵。
注意:如果出現「授權 Cloud Shell」對話方塊,請點選「授權」授予權限,讓 gcloud 指令使用您的憑證。
  1. 命令提示字元會要求您輸入值。輸入「yes」並按下 Enter 鍵

系統會開始建立虛擬私有雲網路和防火牆規則。

完成後,輸出內容應傳回下列訊息:

Apply complete! Resources: 4 added, 0 changed, 0 destroyed.

這表示虛擬私有雲和防火牆已成功部署。

點按「Check my progress」,確認您已正確完成這項工作。 Check my progress

工作 3:驗證資源的部署作業

在這項工作中,您將驗證新建立的虛擬私有雲和防火牆規則是否已成功部署。

  1. 在 Google Cloud 控制台的「導覽選單」「導覽選單」圖示 中,依序選取「虛擬私有雲網路」>「虛擬私有雲網路」,對應頁面便會開啟。
  2. 您應該會看到兩個虛擬私有雲網路:default 和您剛建立的 test-network。點選 test-network,即可查看虛擬私有雲網路詳細資料。
  3. 按一下「防火牆」。點選箭頭展開「vpc-firewall-rules」。在「通訊協定和通訊埠」和「動作」下方,您應該會看到防火牆規則與設定檔中定義的規則相同:允許tcp:801000-20008080 icmp
注意:為確保資源名稱不重複,系統會動態在 test-networktest-firewall 名稱後方加上專屬 ID。例如 test-network-curly-penguin。這個專屬 ID 由設定檔中定義的 ${local.name_suffix} 本機變數自動產生。這有助於避免資源命名衝突,確保基礎架構元件井然有序。

結論

太棒了!

您已成功使用 Terraform 和 Cloud Shell 建構虛擬私有雲網路和子網路。這個實驗室將奠定基礎,您可進一步開發出進階自動化解決方案,供系統管理員搭配 Terraform 使用。

建立虛擬私有雲網路和防火牆後,您已經更瞭解如何自動佈建及修改防火牆規則。這有助於跨各個環境達到一致性,同時降低人為錯誤的機率。

關閉實驗室

結束實驗室前,請確認已完成所有工作。如果已確定完成,請依序點選「End Lab」和「Submit」

關閉實驗室後,就無法進入實驗室環境,也無法再次存取在實驗室完成的工作。

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

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

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

太好了!

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

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。