arrow_back

使用虛擬機器 (VM)

登录 加入
访问 700 多个实验和课程

使用虛擬機器 (VM)

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

總覽

您將在本實驗室中設定一個遊戲應用程式:Minecraft 伺服器。

這個 Minecraft 伺服器軟體將透過 Compute Engine 執行個體運作。

您會使用搭載 10 GB 開機磁碟、2 個虛擬 CPU (vCPU) 和 4 GB RAM 的 e2-medium 機型。根據預設,這種機型執行的是 Debian Linux。

為了確保有充足的空間能夠存放 Minecraft 伺服器的世界資料,您還需要將高效能的 50 GB 永久固態硬碟 (SSD) 連接至執行個體。這個專屬 Minecraft 伺服器最多可支援 50 名玩家。

目標

在本實驗室中,您將瞭解如何執行下列工作:

  • 自訂應用程式伺服器
  • 安裝及設定必要的軟體
  • 設定網路存取權
  • 安排定期備份

設定和需求

每個實驗室都會提供新的 Google Cloud 專案和一組資源,讓您在時限內免費使用。

  1. 按一下「Start Lab」按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側的「Lab Details」窗格會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的臨時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」

    接著,實驗室會啟動相關資源並開啟另一個分頁,當中顯示「登入」頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

    {{{user_0.username | "Username"}}}

    您也可以在「Lab Details」窗格找到 Username

  4. 點選「下一步」

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

    {{{user_0.password | "Password"}}}

    您也可以在「Lab Details」窗格找到 Password

  6. 點選「下一步」

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

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

注意:如要查看列出 Google Cloud 產品和服務的選單,請點選左上角的「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。 「導覽選單」圖示

工作 1:建立 VM

這項工作中,您會建立 VM 來託管 Minecraft 伺服器及安裝軟體。

使用進階選項定義 VM

  1. 前往 Google Cloud 控制台的「導覽選單」導覽選單,依序點按「Compute Engine」>「VM 執行個體」
  2. 點按「建立執行個體」
  3. 指定下列屬性,其他設定則保留預設值:
屬性 值 (依指示輸入值或選取選項)
名稱 mc-server
區域
可用區
  1. 點按「OS 和儲存空間」

  2. 確認開機磁碟映像檔顯示為 Debian GNU/Linux 12 (bookworm)。如果不是,請點按「變更」,從「版本」下拉式清單中選擇正確版本,然後按一下「選取」

  3. 點按「新增磁碟」

  4. 指定下列屬性,其他設定則保留預設值:

屬性 值 (依指示輸入值或選取選項)
名稱 minecraft-disk
磁碟來源類型 空白磁碟
磁碟設定 SSD 永久磁碟
大小 (GB) 50
加密 Google 代管的加密金鑰
  1. 點選「儲存」。系統會隨即建立磁碟,並自動將磁碟連接至建立完成的 VM。

  2. 點選「網路」

  3. 指定下列屬性,其他設定則保留預設值:

屬性 值 (依指示輸入值或選取選項)
網路標記 minecraft-server
網路介面 點選「預設」並編輯介面
外部 IPv4 位址 保留靜態外部 IP 位址
名稱 mc-server-ip
  1. 依序點按「保留」>「完成」

  2. 點按「安全性」

  3. 指定下列屬性,其他設定則保留預設值:

屬性 值 (依指示輸入值或選取選項)
身分及 API 存取權 > 存取權範圍 對各個 API 設定存取權
儲存空間 讀寫
  1. 點按「建立」

工作 2:準備資料磁碟

這項工作中,您會格式化並掛接 Minecraft 磁碟。

建立目錄,然後格式化並掛接磁碟

磁碟已連接至執行個體,但尚未掛接或進行格式化。

  1. 點選 mc-server 的「SSH」選項,開啟終端機並進行連線。
  2. 如要建立當做資料磁碟掛接點的目錄,請執行以下指令:
sudo mkdir -p /home/minecraft
  1. 如要將磁碟格式化,請執行以下指令:
sudo mkfs.ext4 -F -E lazy_itable_init=0,\ lazy_journal_init=0,discard \ /dev/disk/by-id/google-minecraft-disk

結果 (這是輸出內容範例)

mke2fs 1.47.0 (5-Feb-2023) Discarding device blocks: done Creating filesystem with 13107200 4k blocks and 3276800 inodes Filesystem UUID: 3d5b0563-f29e-4107-ad1a-ba7bf11dcf7c Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
  1. 請執行下列指令來掛接磁碟:
sudo mount -o discard,defaults /dev/disk/by-id/google-minecraft-disk /home/minecraft

磁碟掛接完成後不會顯示任何輸出內容。

點選「檢查我的進度」可確認自己是否已達成目標。

建立 VM 並準備資料磁碟

工作 3:安裝並執行應用程式

這項工作中,您會安裝並執行 Minecraft 應用程式。Minecraft 伺服器會在 Java Virtual Machine (JVM) 上運作,因此您必須先執行 Java Runtime Environment (JRE)。伺服器不需要圖形使用者介面,所以要使用無頭版本的 JRE。

這麼做可減少 JRE 的機器資源用量,確保 Minecraft 伺服器有足夠的空間,可視需要增加自身的資源用量。

安裝 Java Runtime Environment (JRE) 和 Minecraft 伺服器

  1. mc-server 的 SSH 終端機中,如要更新 VM 上的 Debian 存放區,請執行以下指令:
sudo apt-get update
  1. 存放區更新完成後,如要安裝無頭 JRE,請執行以下指令:
sudo apt-get install -y default-jre-headless
  1. 如要前往已掛接永久磁碟的目錄,請執行以下指令:
cd /home/minecraft
  1. 如要安裝 wget,請執行以下指令:
sudo apt-get install wget
  1. 如果系統提示您繼續操作,請輸入「Y」

  2. 如要下載目前 Minecraft 伺服器的 JAR 檔案 (1.11.2 JAR),請執行以下指令:

sudo wget https://launcher.mojang.com/v1/objects/d0d0fe2b1dc6ab4c65554cb734270872b72dadd6/server.jar

初始化 Minecraft 伺服器

  1. 如要初始化 Minecraft 伺服器,請執行以下指令:
sudo java -Xmx1024M -Xms1024M -jar server.jar nogui

結果 (輸出內容範例)

[21:01:54] [main/ERROR]: Failed to load properties from file: server.properties [21:01:54] [main/WARN]: Failed to load eula.txt [21:01:54] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info. 注意:您必須接受《使用者授權協議》(EULA) 的條款,Minecraft 伺服器才能運作。

點選「檢查我的進度」可確認自己是否已達成目標。

安裝 Java Runtime Environment (JRE) 和 Minecraft 伺服器
  1. 如要查看系統在 Minecraft 伺服器首次初始化時建立的檔案,請執行以下指令:
sudo ls -l 附註:您可以編輯 server.properties 檔案,變更 Minecraft 伺服器的預設行為。
  1. 如要編輯《使用者授權協議》,請執行以下指令:
sudo nano eula.txt
  1. 將檔案最後一行的 eula=false 變更為 eula=true
  2. 依序按下 Ctrl+OEnter 鍵儲存檔案,然後按下 Ctrl+X 退出 nano。
注意:目前請先不要重新啟動 Minecraft 伺服器,您將在下一個程序中使用其他技巧。

建立虛擬終端機畫面,啟動 Minecraft 伺服器

如果您這時再次啟動 Minecraft 伺服器,伺服器會在 SSH 工作階段的生命週期結束時終止運作。也就是說,如果您關閉 SSH 終端機,就會一併關閉伺服器。如要避免這個問題,您可以透過 screen 應用程式建立虛擬終端機。這類終端機可在「卸離」後成為背景程序,或是在「重新連接」後成為前景程序。當虛擬終端機卸離至背景後,無論您處於登入或登出狀態,該終端機都會繼續執行。

  1. 如要安裝 screen,請執行以下指令:
sudo apt-get install -y screen
  1. 如要在 screen 虛擬終端機中啟動 Minecraft 伺服器,請執行以下指令,並使用 -S 旗標為終端機 mcs 命名:
sudo screen -S mcs java -Xmx1024M -Xms1024M -jar server.jar nogui

結果 (輸出內容範例)

... [21:06:06] [Server-Worker-1/INFO]: Preparing spawn area: 83% [21:06:07] [Server-Worker-1/INFO]: Preparing spawn area: 85% [21:06:07] [Server-Worker-1/INFO]: Preparing spawn area: 86% [21:06:08] [Server-Worker-1/INFO]: Preparing spawn area: 88% [21:06:08] [Server-Worker-1/INFO]: Preparing spawn area: 89% [21:06:09] [Server-Worker-1/INFO]: Preparing spawn area: 91% [21:06:09] [Server-Worker-1/INFO]: Preparing spawn area: 93% [21:06:10] [Server-Worker-1/INFO]: Preparing spawn area: 95% [21:06:10] [Server-Worker-1/INFO]: Preparing spawn area: 98% [21:06:11] [Server-Worker-1/INFO]: Preparing spawn area: 99% [21:06:11] [Server thread/INFO]: Time elapsed: 55512 ms [21:06:11] [Server thread/INFO]: Done (102.484s)! For help, type "help"

從 screen 卸離並關閉 SSH 工作階段

  1. 如要卸離 screen 終端機,請依序按下 Ctrl+ACtrl+D。終端機會繼續在背景執行。如要重新連接終端機,請執行以下指令:
sudo screen -r mcs
  1. 如有需要,請依序按下 Ctrl+ACtrl+D 退出 screen 終端機。
  2. 如要退出 SSH 終端機,請執行以下指令:
exit

恭喜!您已成功設定及自訂 VM,並且安裝及設定了應用程式軟體:Minecraft 伺服器!

工作 4:允許用戶端流量

這項工作中,您會設定防火牆規則,允許用戶端連線至 Minecraft 伺服器。目前伺服器具有外部靜態 IP 位址,但尚未設定防火牆規則,因此無法接收流量。

Minecraft 伺服器預設會使用 TCP 通訊埠 25565。

建立防火牆規則

  1. 前往 Google Cloud 控制台的「導覽選單」導覽選單,依序點按「虛擬私有雲網路」>「防火牆」
  2. 點按「建立防火牆規則」
  3. 指定下列屬性,其他設定則保留預設值:
屬性 值 (依指示輸入值或選取選項)
名稱 minecraft-rule
目標 指定的目標標記
目標標記 minecraft-server
來源篩選器 IPv4 範圍
來源 IPv4 範圍 0.0.0.0/0
通訊協定和通訊埠 指定的通訊協定和通訊埠
  1. 針對「TCP」,請指定通訊埠 25565
  2. 點選「建立」。使用者現在可以透過自己的 Minecraft 用戶端存取您的伺服器了。

驗證伺服器的可用性

  1. 前往 Cloud 控制台的「導覽選單」導覽選單,點按「虛擬私有雲網路」
  2. 在左側窗格點按「IP 位址」
  3. 找出並複製 mc-server VM 的外部 IP 位址
  4. 使用 Minecraft Server Status 網站測試 Minecraft 伺服器。

附註:如果上述網站無法使用,您可以改用其他網站或以下 Chrome 擴充功能:

點選「檢查我的進度」可確認自己是否已達成目標。

允許用戶端流量

工作 5:安排定期備份

這項工作中,您會進行一系列設定,讓系統將 Minecraft 世界資料備份至 Cloud Storage。備份應用程式資料是常見的活動。

建立 Cloud Storage bucket

  1. 前往 Google Cloud 控制台的「導覽選單」導覽選單,依序點按「Compute Engine」>「VM 執行個體」
  2. 點按 mc-server 的「SSH」選項。
  3. 建立全域不重複的值區名稱,並儲存在環境變數 YOUR_BUCKET_NAME 中。如要確保名稱不重複,您可以使用專案 ID。請執行下列指令:
export YOUR_BUCKET_NAME=<在這裡輸入值區名稱>
  1. 使用 echo 進行驗證:
echo $YOUR_BUCKET_NAME
  1. 如要使用 Cloud SDK 的 gcloud storage 工具建立值區,請執行下列指令:
gcloud storage buckets create gs://$YOUR_BUCKET_NAME-minecraft-backup 注意:如果這項指令執行失敗,代表建立的值區名稱可能重複了。在這種情況下,請選擇其他值區名稱並更新環境變數,然後再次嘗試建立值區。 附註:如要讓這個環境變數永久存在,您可以執行以下指令將其新增至根層級的 .profile 中:
echo YOUR_BUCKET_NAME=$YOUR_BUCKET_NAME >> ~/.profile

建立備份指令碼

  1. 在 mc-server SSH 終端機中前往主目錄:
cd /home/minecraft
  1. 如要建立指令碼,請執行以下指令:
sudo nano /home/minecraft/backup.sh
  1. 複製下列指令碼並貼到檔案中:
#!/bin/bash screen -r mcs -X stuff '/save-all\n/save-off\n' /usr/bin/gcloud storage cp -R ${BASH_SOURCE%/*}/world gs://${YOUR_BUCKET_NAME}-minecraft-backup/$(date "+%Y%m%d-%H%M%S")-world screen -r mcs -X stuff '/save-on\n'
  1. 依序按下 Ctrl+OEnter 鍵儲存檔案,然後按下 Ctrl+X 退出 nano 編輯器。
附註:這個指令碼會儲存伺服器世界資料目前的狀態,並暫停伺服器的自動儲存功能。接著,指令碼會備份伺服器的世界資料目錄 (world),並將內容存放在 Cloud Storage bucket 中已加上時間戳記的目錄 (<timestamp>-world)。指令碼完成資料備份後,就會重新啟用 Minecraft 伺服器的自動儲存功能。
  1. 如要將指令碼設為可執行狀態,請執行以下指令:
sudo chmod 755 /home/minecraft/backup.sh

測試備份指令碼並安排 Cron 工作

  1. 在 mc-server SSH 終端機中執行備份指令碼:
. /home/minecraft/backup.sh
  1. 指令碼執行完成後,請返回 Cloud 控制台。
  2. 在「導覽選單」「導覽選單」圖示 依序點按「Cloud Storage」>「bucket」,確認備份檔案已編寫完成。
  3. 點按備份 bucket 名稱,您應該會看到名稱包含日期和時間戳記的資料夾。確認備份作業可順利進行後,您可以安排 Cron 工作,讓系統自動執行備份作業。
  4. 在 mc-server SSH 終端機中,開啟 Cron 資料表進行編輯:
sudo crontab -e
  1. 如果系統提示您選取編輯器,請輸入與 nano 對應的數字,然後按下 Enter 鍵
  2. 在 Cron 資料表底部,貼上以下這一行:
0 */4 * * * /home/minecraft/backup.sh 附註:這一行會指示 Cron 每 4 小時備份一次。
  1. 依序按下 Ctrl+OEnter 鍵儲存 Cron 資料表,然後按下 Ctrl+X 退出 nano。
附註:完成上述步驟後,系統每個月會在 Cloud Storage 中進行約 300 次備份作業,因此建議您定期刪除備份檔案,以免產生費用。Cloud Storage 提供物件生命週期管理功能,可讓您為物件設定存留時間 (TTL)、封存舊版物件,或是降低物件的儲存空間級別,藉此管理費用。

點選「檢查我的進度」可確認自己是否已達成目標。

安排定期備份

工作 6:維護伺服器

這項工作中,您會連線到伺服器,並將其關閉來進行維護。

透過 SSH 連線至伺服器,接著停止伺服器並關閉 VM

  1. 在 mc-server SSH 終端機中執行以下指令:
sudo screen -r -X stuff '/stop\n'
  1. 前往 Google Cloud 控制台的「導覽選單」「導覽選單」圖示,依序點按「Compute Engine」>「VM 執行個體」
  2. 選取「mc-server」
  3. 點選「Stop」
  4. 在確認對話方塊中,點選「Stop」進行確認。 系統會將您登出 SSH 工作階段。
附註:如要再次啟動執行個體,請前往執行個體頁面並點選「啟動」。如要再次啟動 Minecraft 伺服器,您可以依照先前做過的步驟與執行個體建立 SSH 連線,重新掛接永久磁碟,然後在新的 screen 終端機中啟動 Minecraft 伺服器。

透過開機和關機指令碼自動執行伺服器維護作業

如果不想手動掛接永久磁碟,並透過 screen 啟動伺服器安裝作業,您可以改用中繼資料指令碼,建立開機指令碼和關機指令碼,讓系統自動處理這項流程。

  1. 點選「mc-server」

  2. 點選「編輯」

  3. 在「中繼資料」部分,點選「+ 新增項目」並指定下列設定:

    startup-script-url https://storage.googleapis.com/cloud-training/archinfra/mcserver/startup.sh
    shutdown-script-url https://storage.googleapis.com/cloud-training/archinfra/mcserver/shutdown.sh
附註:您必須點選「新增項目」才能新增 shutdown-script-url。重新啟動執行個體時,開機指令碼會自動將 Minecraft 磁碟掛接到適當目錄,在 screen 工作階段中啟動 Minecraft 伺服器,然後卸離工作階段。停止執行個體時,關機指令碼會先將 Minecraft 伺服器關機再關閉執行個體。建議您將這些指令碼儲存在 Cloud Storage 中。
  1. 點選「儲存」

點選「檢查我的進度」可確認自己是否已達成目標。

維護伺服器

工作 7:回顧

在本實驗室中,您安裝了基本軟體 (無頭 JRE) 和應用程式軟體 (Minecraft 遊戲伺服器),藉此建立自訂虛擬機器執行個體。您還連接及準備了高速 SSD 資料磁碟自訂 VM,並保留靜態外部 IP 讓位址保持一致。接著,您驗證了遊戲伺服器在網路中的可用性。

此外,您也設定了備份系統,將伺服器資料備份至 Cloud Storage bucket,並測試這個備份系統。接著,您安排了 Cron 工作讓系統自動執行備份作業。最後,為了安全啟動及關閉伺服器,您使用中繼資料設定了維護指令碼。

關閉研究室

如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。

您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)

星級評等代表您的滿意程度:

  • 1 星 = 非常不滿意
  • 2 星 = 不滿意
  • 3 星 = 普通
  • 4 星 = 滿意
  • 5 星 = 非常滿意

如果不想提供意見回饋,您可以直接關閉對話方塊。

如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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