检查点
Create a Compute Engine instance and add Nginx Server to your instance with necessary firewall rules.
/ 50
Create a new instance with gcloud.
/ 50
建立虛擬機器 - Creating a Virtual Machine
GSP001
總覽
透過 Compute Engine,您可以在 Google 基礎架構上建立虛擬機器 (VM) 來執行不同作業系統,包括多種 Linux 發行版 (Debian、Ubuntu、Suse、Red Hat、CoreOS) 和 Windows Server。您可以在系統上執行數千個虛擬 CPU,並享有飛快的速度與效能同步一致性。
在這個實作研究室中,您將透過 Google Cloud 控制台和 Cloud Shell 中的 gcloud
指令列工具,建立多種機器類型的 VM 執行個體,並且學習如何將 NGINX 網路伺服器連線至 VM。
雖然您可以輕鬆複製研究室中的指令並貼至合適的地方,但還是建議您親自輸入指令,以強化對核心概念的理解。
學習內容
- 透過 Cloud 控制台建立 VM。
- 透過
gcloud
指令列建立 VM。 - 部署網路伺服器並連線至 VM。
先備知識
- 瞭解如何使用標準的 Linux 文字編輯器 (例如
vim
、emacs
或nano
)。
設定和需求
點選「Start Lab」按鈕前的須知事項
請詳閱以下操作說明。研究室活動會計時,而且中途無法暫停。點選「Start Lab」 後就會開始計時,讓您瞭解有多少時間可以使用 Google Cloud 資源。
您將在真正的雲端環境中完成實作研究室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。
如要完成這個研究室活動,請先確認:
- 您可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
- 是時候完成研究室活動了!別忘了,活動一開始將無法暫停。
如何開始研究室及登入 Google Cloud 控制台
-
按一下「Start Lab」(開始研究室) 按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側的「Lab Details」窗格會顯示下列項目:
- 「Open Google Cloud console」按鈕
- 剩餘時間
- 必須在這個研究室中使用的暫時憑證
- 完成這個實驗室所需的其他資訊 (如有)
-
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,然後選取「在無痕式視窗中開啟連結」。
接著,實驗室會啟動相關資源並開啟另一個分頁,當中顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」。 -
如有必要,請將下方的 Username 貼到「登入」對話方塊。
{{{user_0.username | "Username"}}} 您也可以在「Lab Details」窗格找到 Username。
-
點選「下一步」。
-
複製下方的 Password,並貼到「歡迎使用」對話方塊。
{{{user_0.password | "Password"}}} 您也可以在「Lab Details」窗格找到 Password。
-
點選「下一步」。
重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。 -
按過後續的所有頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Google Cloud 控制台稍後會在這個分頁開啟。
啟動 Cloud Shell
Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
- 點按 Google Cloud 控制台上方的「啟用 Cloud Shell」圖示 。
連線完成即代表已通過驗證,且專案已設為您的 PROJECT_ID。輸出內容中有一行宣告本工作階段 PROJECT_ID 的文字:
gcloud
是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。
- (選用) 您可以執行下列指令來列出使用中的帳戶:
-
點按「授權」。
-
輸出畫面應如下所示:
輸出內容:
- (選用) 您可以使用下列指令來列出專案 ID:
輸出內容:
輸出內容範例:
gcloud
的完整說明,請前往 Google Cloud 並參閱「gcloud CLI overview guide」(gcloud CLI 總覽指南)。
瞭解區域和可用區
某些 Compute Engine 資源專屬於特定的區域或可用區。「區域」是您可以執行資源的特定地理位置,每個區域會有一或多個「可用區」。舉例來說,us-central1 區域是指美國中部,其中有 us-central1-a
、us-central1-b
、us-central1-c
和 us-central1-f
等多個可用區。
區域 | 可用區 |
---|---|
美國西部 | us-west1-a、us-west1-b |
美國中部 | us-central1-a、us-central1-b、us-central1-d、us-central1-f |
美國東部 | us-east1-b、us-east1-c、us-east1-d |
西歐 | europe-west1-b、europe-west1-c、europe-west1-d |
東亞 | asia-east1-a、asia-east1-b、asia-east1-c |
可用區中的資源稱為「可用區資源」,像是虛擬機器執行個體和永久磁碟。如要將永久磁碟連接至虛擬機器執行個體,這兩項資源都必須位於同一個可用區。同樣地,如要將靜態 IP 位址指派給執行個體,這兩項資源的所在區域也須相同。
設定區域和可用區
- 設定這個研究室的專案區域:
- 建立區域的變數:
- 建立可用區的變數:
詳情請參閱區域和可用區說明文件。
gcloud
,各個工作階段都會保留這些設定,但如果在 Cloud Shell 中,每次啟動新工作階段或重新連線時,都必須進行這項設定。
工作 1:透過 Cloud 控制台建立新的執行個體
在本節中,您將在 Cloud 控制台中使用 Compute Engine 新建預先定義的機器類型。
-
在 Cloud 控制台中,依序點選「導覽選單」 中的「Compute Engine」>「VM 執行個體」。
第一次執行初始化作業可能需要幾分鐘才能完成。
-
如要建立新執行個體,請點選「建立執行個體」。
-
建立新的執行個體時,您可以設定許多參數。本研究室將使用下列參數:
欄位 | 值 | 其他資訊 |
---|---|---|
名稱 | gcelab | VM 執行個體的名稱 |
區域 | 如要進一步瞭解區域,請參閱 Compute Engine 指南:區域和可用區。 | |
可用區 | 注意:請記住您選取的可用區,稍後會用到。如要進一步瞭解可用區,請參閱 Compute Engine 指南:區域和可用區。 | |
系列 | E2 | 系列名稱 |
機器類型 | 2 個 vCPU | 這個執行個體是 e2-medium,具備 2 個 CPU 和 4 GB RAM。我們提供多種機器類型,包括 micro 執行個體類型和 32 個核心/208 GB RAM 的執行個體類型。如要瞭解詳情,請參閱 Compute Engine 指南:機器系列簡介。注意:新專案設有預設資源配額,可能會對 CPU 核心數量設限。在本研究室以外的使用情境下處理專案時,您可以申請更多配額。 |
開機磁碟 | 全新 10 GB 已平衡的永久磁碟 OS 映像檔:Debian GNU/Linux 11 (bullseye) | 我們提供多種映像檔,包括 Debian、Ubuntu、CoreOS 和 Red Hat Enterprise Linux 及 Windows Server 等付費映像檔。如要瞭解詳情,請參閱「作業系統」說明文件。 |
防火牆 | 允許 HTTP 流量 | 為了存取您在後續步驟安裝的網路伺服器,請選取這個選項。注意:如果啟用這個選項,系統就會自動建立防火牆規則,接受通訊埠 80 的 HTTP 流量。 |
-
點選「建立」。
VM
gcelab
的建立作業大約需要一分鐘。建立完畢後,gcelab
就會出現在「VM 執行個體」頁面的 VM 執行個體清單中。 -
如要透過 SSH 連線至 VM,請找到執行個體名稱
gcelab
,點選右側的「SSH」。這樣系統就會直接在瀏覽器中啟動 SSH 用戶端。
注意:如要進一步瞭解如何透過 SSH 連線至執行個體,請參閱 Compute Engine 指南:使用 Google 工具連線至 Linux VM。
工作 2:安裝 NGINX 網路伺服器
您現在要安裝 NGINX 網路伺服器 (全球最熱門的網路伺服器之一),以將 VM 連線至其他位置。
-
更新 OS:
sudo apt-get update 預期的輸出內容:
Get:1 http://security.debian.org stretch/updates InRelease [94.3 kB] Ign http://deb.debian.org strech InRelease Get:2 http://deb.debian.org strech-updates InRelease [91.0 kB] ... -
安裝 NGINX:
sudo apt-get install -y nginx 預期的輸出內容:
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: ... -
確認 NGINX 正在運作中:
ps auwx | grep nginx 預期的輸出內容:
root 2330 0.0 0.0 159532 1628 ? Ss 14:06 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; www-data 2331 0.0 0.0 159864 3204 ? S 14:06 0:00 nginx: worker process www-data 2332 0.0 0.0 159864 3204 ? S 14:06 0:00 nginx: worker process root 2342 0.0 0.0 12780 988 pts/0 S+ 14:07 0:00 grep nginx -
如要查看網頁,請返回 Cloud 控制台,然後點選與機器位於同一列的「外部 IP」 連結,或在新的瀏覽器視窗或分頁中為
http://EXTERNAL_IP/
新增「外部 IP」值。預設網頁應會開啟:
如要查看研究室進度,請點選下方的「Check my progress」。如果顯示勾號,表示您已達成目標。
建立 Compute Engine 執行個體,並使用必要的防火牆規則,將 NGINX 伺服器新增至執行個體。
工作 3:透過 gcloud 建立新的執行個體
這次要使用 Google Cloud Shell 內建的指令列工具 gcloud
建立 VM 執行個體,而非透過 Cloud 控制台。Cloud Shell 是 Google Cloud 的互動式殼層環境,搭載 gcloud
、git
等各種必要的開發工具,而且主目錄提供 5 GB 的永久儲存空間。
-
在 Cloud Shell 中,使用
gcloud
透過以下指令列建立新的 VM 執行個體:gcloud compute instances create gcelab2 --machine-type e2-medium --zone=$ZONE 預期的輸出內容:
Created [...gcelab2]. NAME: gcelab2 ZONE: {{{project_0.default_zone | Zone}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.128.0.3 EXTERNAL_IP: 34.136.51.150 STATUS: RUNNING 如要查看研究室進度,請點選下方的「Check my progress」。如果顯示勾號,表示您已達成目標。
透過 gcloud 建立新的執行個體。 新執行個體的預設值如下:
- 最新版 Debian 11 (bullseye) 映像檔。
-
e2-medium
機器類型。 - 名稱與執行個體相同的根永久磁碟;該磁碟會自動連接至執行個體。
處理自己的專案時,您可以指定自訂機器類型。
-
如要查看所有預設值,請執行下列指令:
gcloud compute instances create --help 注意:如果您只會在同一個區域/可用區內工作,或是不想每次都附加 --zone
旗標,可以將預設區域和可用區設為與gcloud
相同。如要這麼做,請執行下列指令:
gcloud config set compute/zone ...
gcloud config set compute/region ...
-
如要退出
help
,請按 CTRL + C 鍵。 -
在 Cloud 控制台中,依序點選「導覽選單」中的「Compute Engine」>「VM 執行個體」。
畫面上應該會列出兩個新的執行個體。 -
您也可以使用
gcloud
來透過 SSH 連線至執行個體。請務必新增可用區,如果已設定通用選項,則可省略--zone
旗標:gcloud compute ssh gcelab2 --zone=$ZONE __Expected output__: WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys. -
輸入 Y 繼續操作。
Do you want to continue? (Y/n) -
在通關密語部分中按下 ENTER 鍵將此處留白。
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase) -
連線完成後,結束遠端殼層即可中斷 SSH 連線:
exit
工作 4:學以致用
接受測驗,測試您對 Google Cloud 瞭解多少。如適用,請選擇多個正確的選項。
恭喜!
Compute Engine 是 Google Cloud 基礎架構式服務 (IaaS) 的根基。您成功透過 Compute Engine 建立了 VM,現在可將現有的伺服器基礎架構、負載平衡器和網路拓撲對應至 Google Cloud。
完成任務
這個自修研究室是 Google Cloud Essentials 任務的一部分。任務是指一系列相關聯的研究室,構成完整的學習路徑。您可以報名參加這個任務,立即取得本研究室的完成學分,或是查看其他可開始進行的任務。
參加下一個研究室
您可以繼續參加「開始使用 Cloud Shell 和 gcloud」來完成任務,或進行下列研究室:
後續步驟/瞭解詳情
- 如需 VM 簡介,請參閱虛擬機器執行個體。
- 瞭解如何將 VM 遷移至 Google Cloud。
- 進一步瞭解子網路和網路拓撲。
- 請務必參閱「選擇 VM 機器」一文,瞭解如何選擇合適的 VM 類型。
Google Cloud 教育訓練與認證
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2023 年 9 月 13 日
研究室上次測試日期:2023 年 9 月 13 日
Copyright 2024 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。