使用 Compute Engine 的一般提示

本頁面提供 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 工具發出的所有要求和相關回應資訊。

選擇資源名稱

在選擇資源名稱時,請留意這些好記名稱可能會顯示在 Compute Engine 中的支援和操作資訊主頁。因此,我們不建議您在資源名稱中使用任何機密資訊。

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

只有具備外部 IP 位址的執行個體才能直接存取網際網路。只要執行個體具備外部 IP,就能隨時建立網際網路連線。如果防火牆規則設定為允許存取,執行個體也能接收連線。您可以新增自訂防火牆規則至 default 虛擬私人雲端網路,或是透過自訂防火牆新增網路。另外,您可以在虛擬私人雲端網路環境中設定網路 Proxy,讓沒有外部 IP 位址的執行個體透過 Proxy 存取網路。

請注意,系統最多會追蹤閒置的連線 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 使用者的身分存取 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 執行個體進行通訊的用戶端應用程式時,您最多只能傳送 1,432 位元組的酬載,否則就會發生分段情況。

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

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

這個網頁
Compute Engine 說明文件