使用 Compute Engine 的一般提示

本頁面提供了一些提示,若在使用 Google Compute Engine 時碰到問題,這些提示應該可以派上用場。

如需協助疑難排解特定的問題,請參閱以下其中一節:

檢視不同的回應格式

gcloud 指令列工具可發出 REST API 呼叫,藉此執行大部分的動作。有效列印的結果僅會顯示特定指令傳回的最重要資訊。若要查看不同的回應格式,請使用 --format 標記,其會以不同的輸出格式顯示回應,包括 jsonyamltext。舉例而言,若要查看採用 JSON 格式的執行個體清單,請使用 --format json

gcloud compute instances list --format json

檢視 gcloud compute 記錄

gcloud 工具會建立記錄並儲存在可供查詢的記錄檔中,記錄檔位於 $HOME/.config/gcloud/logs。若要查看 Linux 作業系統上的最新記錄檔,請執行:

$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)

記錄檔中包含了使用 gcloud compute 工具建立的所有要求和回應的相關資訊。

挑選資源名稱

挑選資源名稱時,請別忘了,這些方便記憶的名稱可能會顯示於 Google Compute Engine 中的支援與操作資訊主頁。 因此,建議不要在資源名稱中曝漏任何機密資訊。

在執行個體與網際網路間進行通訊

執行個體只有在具有外部 IP 位址時,才可直接存取網際網路。若執行個體具有外部 IP,即可隨時啟動網際網路連線。若防火牆規則設為允許存取,執行個體也可以接收連線。您可以新增自訂防火牆規則,將規則加入至 default 虛擬私人雲端網路,或是透過自訂防火牆新增網路。此外也可以在 VPC 網路環境中設定網路 Proxy,以便由執行個體提供經過 Proxy 處理的存取,而無需使用外部 IP 位址。

請注意,系統會追蹤閒置連線最多 10 分鐘的時間,在此之後,其流量會受防火牆規則管制,包括默示拒絕輸入規則在內。若執行個體啟動或接受了與外部主機的長久連線,則應將 Compute Engine 執行個體的 TCP 保持運作設定調整為短於 600 秒,以確保在發生逾時之前重新整理連線。下列範例將保持運作的時間設為一分鐘 (60 秒)。請注意,在 Linux 系統上執行的應用程式需要明確設定 TCP 連線的 SO_KEEPALIVE 通訊端選項以啟用 TCP 保持運作 (另請參閱 Linux TCP 保持運作教學)。

Compute Engine 執行個體或 Linux 用戶端


請執行下列指令:

$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
為了確保設定能夠在重新啟動後繼續保持正常運作,請將設定新增至您的 /etc/sysctl.conf 檔案。

Mac OSX 用戶端


請執行下列指令:

$ sudo sysctl -w net.inet.tcp.always_keepalive=1 net.inet.tcp.keepidle=60000 net.inet.tcp.keepinit=60000 net.inet.tcp.keepintvl=60000

Windows 用戶端


請在註冊資料庫路徑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ 下方,使用 DWORD 資料類型新增下列設定;若設定已存在,請編輯設定值:

KeepAliveInterval: 1000
KeepAliveTime: 60000
TcpMaxDataRetransmissions: 10

以其他安全殼層 (SSH) 使用者身分存取 Google Compute Engine

根據預設,gcloud compute 指令列工具會使用 $USER 變數,將使用者新增至 /etc/passwd 檔案,以使用 SSH 連線至虛擬機器執行個體。在執行 gcloud compute ssh 指令時,可以使用 --ssh-key-file PRIVATE_KEY_FILE 標記來指定不同的使用者。例如:

gcloud compute ssh example-instance --ssh-key-file my-private-key-file

如需更多資訊,請參閱 gcloud 參考說明文件

與序列主控台互動

您可以啟用對執行個體序列主控台的互動式存取權,如此就能透過序列主控台連線並對執行個體進行疑難排解。

如要進一步瞭解,請參閱與序列主控台互動

避免自訂映像檔建置的執行個體發生封包分段

對於 Linux 映像檔和 Windows Server 映像檔,虛擬私人雲端網路的最大傳輸單位 (MTU) 為 1460 位元組。Compute Engine 提供的作業系統映像檔是以適當的 MTU 加以設定,因此若使用的是上述其中一種映像檔,則無須採取任何動作。若為自訂映像檔,請將自訂 Linux 映像檔與 Windows Server 映像檔的 MTU 設為 1460,以免因分段而導致增加延遲與封包負擔。

若是要建立透過 UDP 封包與 Compute Engine 執行個體進行通訊的用戶端應用程式,請傳送上限為 1432 位元組的酬載,以防發生分段情形。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Compute Engine 說明文件