arrow_back

Set Up a Google Cloud Network:挑戰研究室

加入 登录
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Set Up a Google Cloud Network:挑戰研究室

Lab 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 中级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP314

Google Cloud 自修研究室標誌

總覽

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

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

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

本研究室適合已參加 Set up a Google Cloud Network 技能徽章課程的學員。準備好迎接挑戰了嗎?

設定

點選「Start Lab」按鈕前的須知事項

請詳閱以下操作說明。研究室活動會計時,而且中途無法暫停。點選「Start Lab」 後就會開始計時,讓您瞭解有多少時間可以使用 Google Cloud 資源。

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

如要完成這個研究室活動,請先確認:

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

挑戰情境

Cymbal Direct 標誌

Cymbal Direct 是直接面對消費者的線上零售商,販售鞋子與服飾,您在裡面擔任雲端工程師。Cymbal Direct 迅速擴大規模,並在期間收購了一家新公司 Antern。Antern 是現有的電子商務商店,擁有大量資料,若能妥善整合至您現有的雲端環境,將能發揮極大助益,讓貴公司進一步拓展業務並觸及更多顧客。收購過程中,Cymbal Direct 希望將 Antern 現有的工作負載和基礎架構,從地端部署環境遷移至 Google Cloud。

以下是 Antern 需要遷移、複製的資源,或在 Cymbal Direct 現有雲端環境中,重新建立的內容:

  • PostgreSQL 資料庫 (在虛擬機器上運作):需遷移至 PostgreSQL 適用的 Cloud SQL
  • 容器化微服務應用程式程式碼:需在 GKE 上部署 (測試期間曾回報出現可靠性問題,必須排解)
  • 虛擬私有雲網路:需建立兩個子網路及防火牆,以互相連結新資源
  • 多項專案中的 IAM 使用者:需取得特定資源的適當權限及角色

您的工作是協助 Cymbal Direct 達成上述目標。

工作 1:將獨立 PostgreSQL 資料庫,遷移至 PostgreSQL 適用的 Cloud SQL 執行個體

Antern 在儲存電子商務商店訂單時,都是使用地端部署 VM 的 PostgreSQL 資料庫。做為收購策略的一環,Cymbal 要求使用資料庫移轉服務,將此資料庫遷移至 PostgreSQL 適用的 Cloud SQL。在 Cloud SQL 上執行資料庫,可讓 Cymbal 發揮 PostgreSQL 作業方面的所有優勢,並取得企業級的可用性、穩定性及安全性。

在這項工作中,您必須使用資料庫移轉服務持續遷移工作,以及虛擬私有雲對等互連連線,將 antern-postgresql-vm 虛擬機器的獨立 PostgreSQL orders 資料庫,遷移至 PostgreSQL 適用的 Cloud SQL 執行個體。

為 PostgreSQL 資料庫準備遷移作業

注意:第一項工作中,您必須使用 Antern 擁有者憑證登入 Antern 專案

在這項子工作中,您必須為獨立 PostgreSQL 資料庫做準備,滿足資料庫移轉服務的遷移要求。

請採取下列步驟,完成這項子工作:

  1. 啟用資料庫移轉服務所需的 Google Cloud API。

需啟用 Database Migration APIService Networking API,資料庫移轉服務才能運作。請為專案啟用這些 API。

  1. 使用 pglogical 資料庫擴充功能,升級 antern-postgresql-vm 虛擬機器的目標資料庫。

您必須在 antern-postgresql-vm Compute 執行個體 VM 的獨立 PostgreSQL 資料庫上,安裝並設定 pglogical 資料庫擴充功能。您必須安裝的 pglogical 資料庫擴充功能套件名為 postgresql-13-pglogical

如要完成 pglogical 資料庫擴充功能設定,請編輯 PostgreSQL 設定檔 /etc/postgresql/13/main/postgresql.conf,以啟用 pglogical 資料庫擴充功能,並編輯 /etc/postgresql/13/main/pg_hba.conf,以允許所有主機傳出的存取要求。

  1. 為獨立資料庫的資料庫遷移作業建立專屬使用者。

為了 antern-postgresql-vm 虛擬機器上獨立 PostgreSQL 建立的新使用者,請使用下列使用者名稱及密碼:

  • 遷移使用者名稱
  • 遷移使用者密碼DMS_1s_cool!
  1. 授予該使用者遷移資料庫所需的權限。

資料庫移轉服務要求遷移使用者須具備特定結構定義的權限,以及要遷移的目標資料庫關聯,在本例中為 orderspostgres 資料庫。

  1. 資料庫移轉服務要求所有遷移的資料表均具備主鍵。授予使用者必要權限後,請執行下列指令,將主鍵加入 inventory_items 資料表並退出 psql。
ALTER TABLE public.inventory_items ADD PRIMARY KEY(id); \q exit 注意:將獨立 PostgreSQL 資料庫遷移至 PostgreSQL 適用的 Cloud SQL 前,請先前往資料庫移轉服務的 Cloud 控制台 GUI,並點按建議連結查看詳細的事前準備。在必要步驟方面如需協助,請參考上述文件,或查看遷移研究室中的詳細步驟,該研究室為此技能徽章課程的一部分。

點選「Check my progress」,確認目標已達成。 為獨立 PostgreSQL 資料庫做準備,以遷移至 PostgreSQL 適用的 Cloud SQL。

將獨立 PostgreSQL 資料庫,遷移至 PostgreSQL 適用的 Cloud SQL 執行個體

在這項子工作中,您必須使用資料庫移轉服務執行遷移工作。

請採取下列步驟,完成這項子工作:

  1. 使用先前建立的 遷移使用者憑證,為獨立 PostgreSQL 資料庫建立新的資料庫移轉服務連線設定檔。
  • 使用者名稱
  • 密碼DMS_1s_cool!
  • 區域

您必須使用來源運算執行個體的內部 IP 位址,設定連線設定檔。

  1. 建立新的持續資料庫移轉服務工作。
  • 對於「遷移工作名稱」,請輸入
  • 在「來源資料庫引擎」部分,請選取「PostgreSQL」。
  • 在「目的地資料庫引擎」部分,請選取「Cloud SQL for PostgreSQL」。
  • 目的地區域

做為遷移設定的一部分,請務必為目的地 Cloud SQL 執行個體指定下列屬性:

  • 「目的地執行個體 ID」必須設為「
  • 遷移的執行個體「密碼」必須設為「supersecret!
  • 「資料庫版本」必須設為「Cloud SQL for PostgreSQL 13」
  • 在「選擇 Cloud SQL 版本」部分,請只選取「Enterprise」
  • 「區域」必須設為「
  • 在「連線」部分,請設定「公開 IP」和「私人 IP」
  • 在「私人 IP」部分,請使用系統自動分配的 IP 範圍,然後點選「分配並連線」
  • 選取配備 4 個 vCPU 和 16 GB 的標準機器類型
  • 在「儲存空間類型」部分,使用「SSD」
  • 儲存空間容量設為「10 GB」

在「連線方式」部分,請使用「虛擬私有雲對等互連」和「預設」虛擬私有雲網路

  1. 測試並開始持續遷移工作。
注意:若未妥善準備來源 PostgreSQL 環境,遷移工作可能會完全失敗,或無法遷移部分資料表。如果遷移作業看起來沒問題,但缺少部分資料表,請檢查您是否正確設定所有來源資料庫資料表。

點選「Check my progress」,確認目標已達成。 將獨立 PostgreSQL 資料庫,遷移至 PostgreSQL 適用的 Cloud SQL 執行個體。

將 Cloud SQL 升級為適用於讀取與寫入資料的獨立執行個體

  • 在這項工作中,您必須將 PostgreSQL 適用的 Cloud SQL 升級為獨立執行個體,以完成遷移作業。
  • 升級完成時,工作狀態會更新為「已完成」。

點選「Check my progress」,確認目標已達成。 將 Cloud SQL 遷移備用資源升級為獨立執行個體。

注意:在本研究室中,您不必等待遷移完成,即可升級為獨立執行個體。如果控制台中有此動作,您可以執行這項操作。

工作 2:更新權限並為使用者新增 IAM 角色

現在資料庫已遷移至 PostgreSQL 適用的 Cloud SQL 執行個體,請透過 IAM,為 Antern 和 Cymbal 團隊的不同成員更新使用者角色。具體來說,您需要授予權限,讓 Antern 編輯者使用者可存取 Cloud SQL 資料庫、Cymbal 擁有者可全權管理 Cloud SQL 資源,以及 Cymbal 編輯者可編輯專案。

注意:在這項工作中,您必須使用 Antern 擁有者憑證登入 Antern 專案 提示:使用 Cloud IAM 將所需角色授予指定使用者。
  1. Antern 編輯者使用者授予 CloudSQL 資料庫的 Cloud SQL 執行個體使用者角色。使用者名稱:

    • 前往剛建立的 Cloud SQL 資料庫。在「使用者」部分,將 Antern 編輯者使用者帳戶新增至建立的資料庫。使用 Cloud IAM 驗證,對主體使用上方使用者名稱。
  2. Cymbal 擁有者使用者授予 CloudSQL 資料庫的 Cloud SQL 管理員角色。使用者名稱:

    • 前往剛建立的 Cloud SQL 資料庫。在「使用者」部分,將 Cymbal 擁有者使用者帳戶新增至建立的資料庫。使用 Cloud IAM 驗證,對主體使用上方使用者名稱。
  3. 將「Cymbal 編輯者」使用者角色從「檢視者」變更為「編輯者」。使用者名稱:

點選「Check my progress」,確認目標已達成。 更新權限並為使用者新增 IAM 角色

工作 3:建立網路和防火牆

做為收購策略的一環,您必須在 Cymbal 專案中重新建立虛擬私有雲網路,從內部連接資源。具體來說,您需要建立具有兩個子網路的虛擬私有雲網路,以及防火牆,建立資源間的連線。此外,您的團隊必須能透過這個網路,使用 SSH 和 RDP 連至 Linux 及 Windows 機器,並透過 ICMP 診斷網路通訊問題。

在這項工作中,您將建立虛擬私有雲網路和防火牆規則,並滿足上述要求。

注意:第一項工作中,您必須使用 Cymbal 擁有者憑證登入 Cymbal 專案

建立具有兩個子網路的虛擬私有雲網路

  1. 建立虛擬私有雲網路 ,當中具有兩個子網路:。使用「區域」動態轉送模式。

  2. 在「」部分,將區域設為「」。

    • 將「IP 堆疊類型」設為「IPv4 (單一堆疊)」
    • 將「IPv4 範圍」設為「10.10.10.0/24
  3. 在「」部分,將區域設為「」。

    • 將「IP 堆疊類型」設為「IPv4 (單一堆疊)」
    • 將「IPv4 範圍」設為「10.10.20.0/24

為虛擬私有雲網路建立防火牆規則

  1. 建立防火牆規則

    • 在網路部分,使用「」。
    • 將優先順序設為「65535」、將流量設為「Ingress」,並將動作設為「允許」
    • 目標應設為「網路中的所有執行個體」,而「IPv4 範圍」應設為「0.0.0.0/24
    • 將「通訊協定」設為「TCP」,並將「通訊埠」設為「22」。
  2. 建立防火牆規則

    • 在網路部分,使用「」。
    • 將優先順序設為「65535」、將流量設為「Ingress」,並將動作設為「允許」
    • 目標應設為「網路中的所有執行個體」,而「IPv4 範圍」應設為「0.0.0.0/24
    • 將「通訊協定」設為「TCP」,並將「通訊埠」設為「3389」。
  3. 建立防火牆規則

    • 在網路部分,使用「」。
    • 將優先順序設為「65535」、將流量設為「Ingress」,並將動作設為「允許」
    • 目標應設為「網路中的所有執行個體」,而「IPv4 範圍」應設為「0.0.0.0/24
    • 將「通訊協定」設為「icmp」

點選「Check my progress」,確認目標已達成。 建立網路與防火牆

工作 4:排解並修正 GKE 叢集故障問題

注意:第一項工作中,您必須使用 Cymbal 擁有者憑證登入 Cymbal 專案

部署電子商務網站 GKE 叢集後,您收到團隊的通知,表示有幾個已知的 GKE 叢集問題需要解決。他們發現三個需要修正的錯誤:

  • 錯誤 1:前端服務延遲時間過長
  • 錯誤 2:評分過時
  • 錯誤 3:推薦服務異常終止

做為收購策略的一環,您需要修正 。團隊的其他工程師為這些問題提供了額外資訊,供您排解問題。

提示:

  • 錯誤 1:前往示範應用程式的外部 IP,確認是否有變更。您也能使用監控資訊主頁,查看與各項服務相關的指標。
  • 錯誤 2:產品評分由「評分服務」代管,託管於 Google App Engine,透過定期呼叫 API 端點將評分資料保持在最新狀態。這個 API 端點會收集每項產品最近傳送的所有新分數,並計算新評分。請查看 App Engine 服務的記錄檔,確認評分服務是否正常運作。另一位團隊成員表示這可能與 main.py 檔案中的問題有關。
  • 錯誤 3:瀏覽您的網站,直到遇到問題為止,接著使用 Cloud Logging 查看每項服務匯出的記錄檔。另一位團隊成員表示,這個異常終止錯誤可能是由服務中的整數轉換階段造成。

建立 BigQuery 記錄檔接收器

修正根本問題前,您已要求建立記錄檔接收器,傳送與故障服務相關的錯誤。屆時您必須使用 IAM 授予 Antern 使用者不同層級的 BigQuery 存取權,方便他們查看資料庫並互動。

  1. 使用記錄檔探索工具調查運作中的 GKE 應用程式,並檢查服務是否有誤。提示:請找出嚴重性為 ERROR 的記錄檔。

  2. 找出服務錯誤記錄檔後,請建立接收器,將記錄檔傳送至 BigQuery。

    • 將接收器命名為
    • 在「目的地」部分,建立 BigQuery 資料集 gke_app_errors_sink,且位置為「美國 (多個美國地區)」
    • 在「包含」篩選器中,請務必包括:「resource.type、「」及「severity」。
注意:如果遇到任何權限錯誤,請確認是用 Cymbal 擁有者憑證登入 Cymbal 專案
  1. 將這項專案的 BigQuery 資料檢視者角色,授予 Antern 編輯者使用者。使用者名稱:

  2. 將這項專案的 BigQuery 管理員角色,授予 Antern 擁有者使用者。使用者名稱:

點選「Check my progress」,確認目標已達成。 建立 BigQuery 記錄檔接收器

修正 GKE 叢集

您已在 BigQuery 中對服務錯誤建立記錄檔接收器,團隊中的幾位工程師在查看後,找出了修正問題的正確步驟。在這項工作中,您將下載、執行解決方案程式碼,修正 GKE 叢集中的服務。

  1. 連至 cloud-ops-sandbox GKE 叢集並執行下列指令來修復問題。在系統提示時,回答驗證問題。
git clone --depth 1 --branch csb_1220 https://github.com/GoogleCloudPlatform/cloud-ops-sandbox.git cd cloud-ops-sandbox/sre-recipes ./sandboxctl sre-recipes restore {{{ cymbal_project.startup_script.recipe_number | recipe number }}} ./sandboxctl sre-recipes verify {{{ cymbal_project.startup_script.recipe_number | recipe number }}}
  1. 確認電子商務商店是否正常運作。

恭喜!

您已完成雲端工程師一天的工作!您把 PostgreSQL 資料庫遷移至 PostgreSQL 適用的 Cloud SQL 執行個體,並建立具有子網路和防火牆的虛擬私有雲網路。此外,您也排解某個 GKE 叢集的問題,並為多項專案授予 IAM 使用者權限。

「Deploy and Manage Cloud Environments with Google Cloud」技能徽章

取得下一枚技能徽章

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

Google Cloud 教育訓練與認證

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

使用手冊上次更新日期:2024 年 3 月 8 日 研究室上次測試日期:2024 年 3 月 8 日

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