检查点
Create a bucket, VM instance with necessary firewall rule and an IAM service account
/ 25
Create a second bucket, VM instance and an IAM service account
/ 25
Work with Cloud Storage in Cloud Shell
/ 25
Install the nginx Web server and customize the welcome page
/ 25
存取 Google Cloud 控制台和 Cloud Shell
總覽
本研究室將幫助您熟悉 Google Cloud 網頁式介面。我們提供兩種整合式環境:
- 名為 Google Cloud 控制台的 GUI 環境
- 名為 Cloud Shell 的指令列介面,已預先安裝 Cloud SDK 提供的指令
本課程中會用到上述兩種環境。
以下是有關 Google Cloud 控制台的須知事項:
- 我們仍在持續開發 Google Cloud 控制台,因此圖形版面配置偶爾會改變。這些變更通常是為了配合 Google Cloud 新功能或技術異動而推出,會造成工作流程略有不同。
- 您可以在 Google Cloud 控制台中執行大多數常見的 Google Cloud 操作。新功能有時會先導入 Cloud SDK,然後才在 Google Cloud 控制台中開放使用。
- Google Cloud 控制台能夠以極快的速度完成某些活動,並可代替您執行可能需要不少指令列操作的多種動作。
- 對自動化作業而言,Cloud SDK 中的指令是很實用的工具。
目標
在本研究室中,您將可:
- 瞭解如何存取 Google Cloud 控制台和 Cloud Shell
- 熟悉 Google Cloud 控制台
- 熟悉各項 Cloud Shell 功能,包括 Cloud Shell 編輯器
- 瞭解如何使用 Google Cloud 控制台與 Cloud Shell 建立值區、VM 和服務帳戶
- 瞭解如何在 Cloud Shell 中執行其他指令
設定研究室
存取 Qwiklabs
在每個研究室中,您都能在固定時間內免付費建立新的 Google Cloud 專案,並使用一組資源。
-
請透過無痕式視窗登入 Qwiklabs。
-
請記下研究室的存取時間 (例如
1:15:00
),並確保自己能在時間限制內完成作業。
研究室不提供暫停功能。如有需要,您可以重新開始,但原先的進度恕無法保留。 -
準備就緒後,請按一下「Start lab」。
-
請記下研究室憑證 (使用者名稱和密碼),這組資訊將用於登入 Google Cloud 控制台。
-
按一下「Open Google Console」。
-
按一下「Use another account」,然後複製這個研究室的憑證,並貼入提示訊息。
如果使用其他憑證,系統會顯示錯誤或向您收取費用。 -
接受條款,然後略過資源復原頁面。
完成初始登入步驟後,就會看到專案資訊主頁。
工作 1:探索 Google Cloud 控制台
在這項工作中,您將探索 Google Cloud 控制台並建立資源。
確認已選取專案
-
在 Google Cloud 控制台標題列中,點選「選取專案」下拉式清單,然後選取 Qwiklabs 提供的專案 ID,這個 ID 會與驗證憑證一併提供。
-
專案 ID 的格式為 [qwiklabs-gcp-],後面加上一長串十六進位數字。
-
按一下「取消」即可關閉對話方塊。
標題列應該會顯示專案 ID,如下方螢幕截圖所示。Qwiklabs 環境中的每個研究室都有專屬的專案 ID 和驗證憑證。
前往 Google Cloud Storage 並建立值區
Cloud Storage 可讓您在世界各地隨時儲存及擷取大小不限的資料。這項服務有多種用途,包括提供網站內容、儲存資料以供封存和災難復原之用,或是透過直接下載功能,將大型資料物件提供給使用者。
Cloud Storage 值區必須設定全域不重複名稱。在貴機構中,您應該按照 Google Cloud 的 Cloud Storage 最佳做法指南操作。而在本研究室中,Qwiklabs 已為我們建立 Google Cloud 專案,由於 Google Cloud 專案 ID 也是全域不重複,因此只要使用該專案的 ID,就能輕鬆設定不重複的值區名稱。
-
在 Google Cloud 控制台的「導覽選單」 中,依序點選「Cloud 總覽」>「資訊主頁」。
-
在顯示畫面的「資訊主頁」分頁中,「專案資訊」部分會列出您的 Google Cloud 專案 ID。
-
選取並複製專案 ID。這個 ID 是由 Qwiklabs 為您建立,因此格式為 [qwiklabs-gcp-],後面加上一長串十六進位數字。
-
在 Google Cloud 控制台的「導覽選單」 中,依序點選「Cloud Storage」>「值區」。
-
點選「建立值區」。
-
在「名稱」部分,貼上先前步驟中複製的 Google Cloud 專案 ID 字串。本研究室的後續操作說明將以
[BUCKET_NAME]
表示您輸入的名稱。 -
點選「Continue」(繼續)。
-
在「Location Type」(位置類型) 下方選取「Region」(區域),然後在下拉式選單中選取「
」。 -
點選「Continue」(繼續)。
-
點選「選取如何控制物件的存取權」,並取消勾選「強制禁止公開存取這個值區」,然後選取「精細」。
-
點選「Continue」(繼續)。
-
保留其他所有值的預設狀態。
-
按一下「建立」。
建立虛擬機器 (VM) 執行個體
Google Compute Engine 以服務的形式提供在 Google 的資料中心和網路上運作的虛擬機器,而 Google Kubernetes Engine 採用 Compute Engine 做為架構元件。因此,在瞭解 Google Kubernetes Engine 前,先掌握一些有關 Compute Engine 的知識會很有幫助。
- 在「導覽選單」 中,依序點選「Compute Engine」>「VM 執行個體」。
- 點選「建立執行個體」。
- 在「Name」(名稱) 部分,輸入 first-vm 做為執行個體的名稱。
- 在「Region」(區域) 部分,選取「
」。 - 在「Zone」(可用區) 部分,選取「
」。 - 在「Machine type」(機器類型) 部分,查看各個選項。
gcloud
指令建立 VM 時,這類名稱是用於選取機器類型的參數。區域、可用區和機器類型的右側會顯示每月預估費用。
- 如要查看預估費用的細目,請在該費用下方,按一下「機器類型」清單右側的「詳細資料」。
- 在「機器類型」部分,按一下「2 個 vCPU (e2-standard-2)」。
請留意費用如何變化。
- 在「機器類型」部分,按一下「e2-micro (2 個共用 vCPU)」。
Micro 類型是費用較低廉的共用核心 VM。
- 在「防火牆」部分,按一下「允許 HTTP 流量」。
- 保留剩餘設定的預設狀態,然後點選「建立」。
請等待新的 VM 建立完成。
查看 VM 詳細資料
- 在「VM 執行個體」頁面中,點選 VM 名稱「first-vm」。
- 請留意「機器設定」中的「CPU 平台」值,然後點選「編輯」。
- 按一下頂端的鉛筆圖示來編輯「first-vm」
執行個體。
- 向下捲動至「管理」部分,並查看「可用性政策」。
- 按一下「取消」。
建立 IAM 服務帳戶
IAM 服務帳戶是應用程式或虛擬機器擁有的特殊 Google 帳戶類型,不歸個別使用者所有。
- 在「導覽選單」上,依序點選「IAM 與管理」>「服務帳戶」。
- 按一下「+ 建立服務帳戶」。
- 在「服務帳戶詳細資料」頁面上,將「服務帳戶名稱」設為
test-service-account
。 - 按一下「建立並繼續」。
- 在「將專案存取權授予這個服務帳戶」頁面的角色選單中,依序選取「基本」>「編輯者」。
- 點選「Continue」(繼續)。
- 按一下「完成」。
- 在「服務帳戶」頁面上,按一下
test-service-account
最右側的三點圖示。 - 按一下「管理金鑰」。
- 按一下「新增金鑰」。
- 選取「建立新的金鑰」。
- 選取「JSON」做為金鑰類型。
- 按一下「建立」。
系統會下載 JSON 金鑰檔案。在後續步驟中,您需要找出這個金鑰檔案並上傳到 VM。
- 按一下「關閉」。
點選「Check my progress」,確認目標已達成。
工作 2:探索 Cloud Shell
Cloud Shell 可讓您直接在瀏覽器中使用指令列存取雲端資源。透過 Cloud Shell,您隨時都能使用通過完整驗證的最新 Cloud SDK 指令列工具,例如 gcloud。
Cloud Shell 提供下列功能:
- 臨時 Compute Engine VM
- 透過瀏覽器使用指令列存取執行個體
- 5 GB 的永久磁碟儲存空間 (
$HOME dir
) - 預先安裝的 Cloud SDK 和其他工具
-
gcloud
:適用於 Compute Engine、Google Kubernetes Engine (GKE) 和許多 Google Cloud 服務 -
gcloud storage
和gsutil
:適用於 Cloud Storage -
kubectl
:適用於 GKE 和 Kubernetes -
bq
:適用於 BigQuery - 支援 Java、Go、Python、Node.js、PHP 和 Ruby 程式語言
- 網頁預覽功能
- 內建的資源與執行個體存取權授權機制
系統會回收閒置超過一小時的 Cloud Shell 執行個體,只保留 /home
目錄。系統設定 (包括環境變數) 的所有變更都會在切換工作階段時遺失。
在這項工作中,您將使用 Cloud Shell 建立及檢查資源。
開啟 Cloud Shell 並探索當中的功能
- 在 Google Cloud 控制台的標題列中,按一下「啟用 Cloud Shell」圖示 。
- 出現提示訊息時,請點選「繼續」。
Cloud Shell 會在 Google Cloud 控制台視窗的底部開啟。
Cloud Shell 工具列的最右側會顯示下列圖示:
- 隱藏/還原:點選這個圖示可隱藏或還原視窗,不必關閉 Cloud Shell 即可使用 Google Cloud 控制台的所有功能。
- 在新視窗中開啟:發送個別指令時,將 Cloud Shell 顯示在 Google Cloud 控制台底部會很方便。不過,如果您想編輯檔案或查看指令的所有輸出內容,點選這個圖示即可在完整大小的終端機視窗中顯示 Cloud Shell。
- 關閉所有分頁:點選這個圖示會關閉 Cloud Shell。每當關閉 Cloud Shell 時,系統都會回收虛擬機器,與機器相關的所有資訊也都會遺失。不過,下次啟動 Cloud Shell 時,您還是可以使用主目錄中儲存的資料。
使用 Cloud Shell 設定這項工作的環境變數
請在 Cloud Shell 中使用下列指令,定義這項工作所用的環境變數。
- 將 [BUCKET_NAME] 替換成工作 1 中第一個值區的名稱。
- 將 [BUCKET_NAME_2] 替換成您自行選擇的全域不重複名稱。
- 在 Cloud Shell 執行下列指令,建立環境變數:
[BUCKET_NAME]
等預留位置字串完全替換成您選擇的不重複名稱,例如 MY_BUCKET_NAME_1=unique_bucket_name
。將先前建立的憑證檔案移至 Cloud Shell 中
在先前的工作中建立第一個 Cloud IAM 服務帳戶時,您下載了採用 JSON 編碼的憑證檔案。
- 在本機工作站上找出剛才下載的 JSON 金鑰,並將該檔案重新命名為
credentials.json
。 - 在 Cloud Shell 中,點選 Cloud Shell 工具列中的「三點圖示選單」圖示 ,即可顯示更多選項。
- 點選「上傳」,然後選擇本機電腦中的
credentials.json
檔案。 - 點選「開啟」。
- 點選「上傳」,將
credentials.json
檔案轉移至 Cloud Shell VM。 - 點選「X」圖示,即可關閉用來上傳檔案的彈出式視窗。
- 在 Cloud Shell 中輸入 ls,然後按下 ENTER 鍵確認檔案已上傳完成。
在 Google Cloud 控制台建立第二個 Cloud Storage 值區,並加以確認
有了 gcloud storage
和 gsutil
指令,您就能透過指令列使用 Cloud Storage。
在這項工作中,您將透過 Cloud Shell 執行 gcloud storage
指令。
- 在 Cloud Shell 執行
gcloud storage
指令,建立值區:
如果出現提示訊息,請點選「Authorize」(授權)。
- 在 Google Cloud 控制台的「導覽選單」 中,依序點選「Cloud Storage」>「值區」;如果您已在「Cloud Storage」頁面中,則請點選「重新整理」。
「值區」清單中應該會出現第二個值區。
使用 gcloud 指令列建立第二個虛擬機器
- 在 Cloud Shell 中執行以下指令,列出指定區域的所有可用區:
- 從清單的第一欄中選取可用區。請注意,Google Cloud 可用區名稱的格式為所屬區域名稱後面加上一個連字號和一個字母。
您可以選擇工作 1 中第一個 VM 使用的可用區,或是其他可用區。
- 執行下列指令,將所選可用區儲存在環境變數中。
[ZONE]
應替換成您選擇的可用區:
- 執行下列指令,將這個可用區設為預設可用區:
- 執行下列指令,儲存一個名稱到稍後用來建立 VM 的環境變數中。請將第二個 VM 命名為
second-vm
:
- 在這項工作中先前設定的預設可用區建立 VM,並以新的環境變數來指派 VM 名稱:
- 列出專案中的虛擬機器執行個體:
清單中會顯示第一個虛擬機器和新建立的虛擬機器。
-
在 Google Cloud 控制台中的「導覽選單」 上,依序點選「Compute Engine」>「VM 執行個體」。與
gcloud compute instances list
指令的輸出內容相同,這個頁面也會顯示您建立的兩個虛擬機器。 -
查看「外部 IP」資料欄。請注意,您所建立第一個 VM 的外部 IP 位址會顯示為連結 (有時必須點選「隱藏資訊面板」按鈕,才能看到「外部 IP」資料欄)。由於您將這個 VM 的防火牆設為允許 HTTP 流量,因此 Google Cloud 控制台會提供連結。
-
點選第一個 VM「外部 IP」資料欄中的連結。瀏覽器會在新分頁中顯示「連線遭拒」的訊息,這是因為雖然有防火牆通訊埠允許 HTTP 流量傳送至 VM,VM 內卻沒有運作中的網路伺服器。請關閉剛建立的瀏覽器分頁。
使用 gcloud 指令列建立第二個服務帳戶
- 在 Cloud Shell 中執行下列指令,建立新的服務帳戶:
- 在 Google Cloud 控制台的「導覽選單」 中,依序點選「IAM 與管理」>「服務帳戶」。
點選「Check my progress」,確認目標已達成。
- 在 Cloud Shell 中執行下列指令,將
viewer
角色授予第二個服務帳戶:
GOOGLE_CLOUD_PROJECT
環境變數,並將這個變數設為當前環境的專案 ID。-
在 Google Cloud 控制台的「導覽選單」 中,依序點選「IAM 與管理」>「身分與存取權管理」。
-
您會看到系統將名為
test-service-account2
的新服務帳戶列為viewer
角色的成員。
工作 3:在 Cloud Shell 中使用 Cloud Storage
將檔案下載至 Cloud Shell 並複製到 Cloud Storage
- 從 Google 提供的 Cloud Storage 值區,將貓咪圖片複製到 Cloud Shell:
- 將檔案複製到先前建立的第一個值區:
- 將檔案從第一個值區複製到第二個值區:
- 前往 Google Cloud 控制台,依序點選「Navigation menu」(導覽選單) >「Cloud Storage」>「Buckets」(值區),選取您建立的兩個值區,並確認兩者都含有
cat.jpg
檔案。
設定 Cloud Storage 物件的存取控制清單 (ACL)
-
如要取得指派給
cat.jpg
的預設存取清單 (將檔案上傳到 Cloud Storage 值區時可獲派該清單),請執行下列兩個指令。 -
首先,在 Cloud Shell 中執行下列指令:
輸出內容應該會與下方示例類似,只是數字不同。這項輸出內容指出,取得專案 owner
、editor
或 viewer
角色的使用者都具有存取權 (擁有者和編輯者具備 OWNER
權限,檢視者則具備 READER
權限)。
- 接著,如要將物件改為僅限私人存取,請執行下列指令:
- 如要確認指派給
cat.jpg
的新 ACL,請執行下列兩個指令:
輸出內容應該會與下方示例類似。
現在,只有物件的原始建立者 (即您的研究室帳戶) 具備 OWNER
權限。
在 Cloud Shell 中以服務帳戶的身分進行驗證
- 在 Cloud Shell 中執行下列指令,查看目前的設定:
輸出內容應如下所示。這些內容中的可用區應為在工作 2 中建立第二個 VM 時所設定的可用區。此外,帳戶和專案也應符合您的 Qwiklabs 研究室憑證。
- 在 Cloud Shell 執行下列指令,透過您下載至本機並上傳到 Cloud Shell 的憑證 (
credentials.json
),將通過驗證的使用者變更為先前工作中建立的第一個服務帳戶:
Cloud Shell 現在已經以 test-service-account
的身分通過驗證。
- 如要確認使用中的帳戶,請執行下列指令:
輸出內容應如下所示。帳戶現已設為 test-service-account
服務帳戶。
- 如要透過 Cloud Shell 驗證授權帳戶清單,請執行下列指令:
輸出內容應該會與下方示例類似。
- 如要確認目前的帳戶 (
test-service-account
) 無法存取第一個值區中的cat.jpg
檔案,請執行下列指令:
您先前在這項工作中只將這個檔案的存取權授予擁有者,輸出內容應如下所示:
輸出內容
- 確認目前的帳戶 (
test-service-account
) 可以存取第二個值區中的cat.jpg
檔案:
這個檔案的存取權並未設限,輸出內容應如下所示:
- 如要切換為研究室帳戶,請執行下列指令,將 [USERNAME] 替換為 Qwiklabs「連線詳細資料」窗格中提供的使用者名稱,這個窗格位於研究室操作說明頁面的左側:
- 如要確認您是否能存取 [BUCKET_NAME] 值區 (先前建立的第一個值區) 中的
cat.jpg
檔案,請執行下列指令:
輸出內容應如下所示。物件的存取控制清單 (ACL) 轉換為不公開時,建立值區和物件的研究室帳戶依然是擁有者,因此這個帳戶仍可存取該物件。
- 將第一個 Cloud Storage 值區設為開放所有人讀取,包括未經驗證的使用者:
-
在 Cloud 控制台的「導覽選單」 中,依序點選「Cloud Storage」>「值區」。
-
選取由您建立,且具備專案 ID 的第一個 Storage 值區。請注意,
cat.jpg
檔案具備Public access
。 -
點選「複製網址」即可複製連結。
-
開啟新的無痕模式瀏覽器分頁,並在網址列中貼上該連結。畫面上會顯示貓咪圖片。請將這個瀏覽器分頁保持開啟。
點選「Check my progress」,確認目標已達成。
工作 4:探索 Cloud Shell 編輯器
在這項工作中,您將瞭解如何使用 Cloud Shell 程式碼編輯器。
開啟 Cloud Shell 編輯器
- 在 Cloud Shell 中點選「開啟編輯器」圖示 ,然後點選「在新視窗中開啟」連結。
Cloud Shell 編輯器隨即會在新分頁中開啟,而 Google Cloud 控制台和 Cloud Shell 仍會保留在原本的分頁中。點選分頁即可在 Cloud Shell 與程式碼編輯器間切換。
- 前往 Cloud Shell 編輯器,點選選單並依序選取「File」>「Open Folder」。
- 點選「OK」。
資料夾隨即會開啟,左窗格也會顯示檔案和目錄清單。
- 前往 Google Cloud 控制台分頁,點選「Open Terminal」(開啟終端機),然後透過 Cloud Shell 執行下列指令,複製
Git
存放區:
Cloud Shell 編輯器視窗的左側窗格中會顯示 orchestrate-with-kubernetes
資料夾。
- 在 Cloud Shell 中執行下列指令,建立測試目錄:
現在 Cloud Shell 編輯器視窗的左側窗格中會顯示 test
資料夾。
- 在 Cloud Shell 編輯器中點選
orchestrate-with-kubernetes
左側的箭頭,以展開資料夾。
-
點選左側窗格中的
cleanup.sh
檔案,在 Cloud Shell 編輯器視窗的右側窗格中開啟該檔案。 -
在
cleanup.sh
檔案的最後一行新增下列文字:
- 在 Cloud Shell 中執行下列指令,藉此變更目錄並顯示
cleanup.sh
的內容:
-
確認
cat cleanup.sh
的輸出內容包含您新增的文字。 -
前往 Cloud Shell 程式碼編輯器,在「
orchestrate-with-kubernetes
」資料夾上按一下右鍵,然後選取「New File」。 -
將檔案命名為 index.html。
-
點選「Save」。
-
將下列 HTML 文字貼到右窗格:
- 將
REPLACE_WITH_CAT_URL
字串替換成先前工作中的貓咪圖片網址,網址應與以下網址類似:
-
依序點選「Navigation menu」(導覽選單) >「Compute Engine」>「VM instances」(VM 執行個體)。
-
在「first-vm」資料列中,點選「SSH」按鈕。
-
在 VM 上開啟的「SSH 登入」視窗中,安裝
nginx
網路伺服器:
Y
鍵繼續操作。- 在 Cloud Shell 視窗中,將透過 Cloud Shell 編輯器建立的 HTML 檔案複製到虛擬機器:
- 在 VM 的「SSH 登入」視窗中,將 HTML 檔案從主目錄複製到
nginx
網路伺服器的文件根目錄:
點選「Check my progress」,確認目標已達成。
-
在「導覽選單」 上,依序點選「Compute Engine」>「VM 執行個體」。
-
找到「first-vm」的「外部 IP」資料欄,並點選當中的連結。新的瀏覽器分頁隨即開啟,當中會顯示含有貓咪圖片的網頁。
關閉研究室
如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。
您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)。
星級評等代表您的滿意程度:
- 1 星 = 非常不滿意
- 2 星 = 不滿意
- 3 星 = 普通
- 4 星 = 滿意
- 5 星 = 非常滿意
如果不想提供意見回饋,您可以直接關閉對話方塊。
如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。
Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。