記錄檔和指標

記錄

透過 Cloud NAT 記錄,您可以記錄 NAT 連線和錯誤。Cloud NAT 記錄啟用後,當發生下列任一情況,您可以讓系統產生一個記錄項目:

  • 建立使用 NAT 的網路連線時。
  • 沒有可用於 NAT 的通訊埠而捨棄封包時。

您可以選擇記錄上述兩種事件,或只記錄其中一種事件。

記錄檔建立後會傳送至 Cloud Logging

規格

下列規格適用於 Cloud NAT 記錄:

  • Cloud NAT 記錄只會處理 TCP 和 UDP 流量。

  • 只有在捨棄的封包是輸出 (外送) TCP 和 UDP 封包時,Cloud NAT 記錄才會記錄這些封包。不會記錄捨棄的連入封包。舉例來說,如果外送要求的回覆因任何原因而遭捨棄,系統不會記錄任何錯誤。

每個 VM 執行個體在單位時間內只能產生一定數量的記錄檔項目,這與 vCPUs 數量成正比。每個 vCPU 每秒可產生 50 到 100 個記錄項目。

  • 這個速率門檻會影響記錄的事件數。即使篩除部分事件,發生次數仍會計入可能的記錄項目數。將記錄檔限制為僅顯示錯誤或僅顯示網路位址轉譯連線,不一定會增加檢視的記錄檔項目數量。舉例來說,如果您選擇只記錄連線成功事件,但連線嘗試失敗次數過多,或發生 NAT 錯誤,仍可能限制連線成功記錄項目的數量。

  • Cloud NAT 記錄不會記錄每個封包。即使 VM 的速率門檻尚未達到,某些情況仍可能導致事件從記錄中省略。您應根據 Cloud NAT 記錄中的項目做出明智決策,但不得假設沒有項目就表示沒有發生事件。

設定記錄功能

如要設定 Cloud NAT 記錄,請按照下列步驟操作。

啟用記錄功能

記錄功能啟用後,所有收集到的記錄檔依預設都會傳送至 Cloud Logging。您可以先行篩選,讓系統只傳送特定的記錄檔。

此外,您也能在建立或編輯 NAT 閘道時指定這些值。以下說明如何為現有 NAT 閘道啟用記錄功能。

控制台

  1. 前往 Google Cloud 控制台的「Cloud NAT」頁面。

    前往 Cloud NAT

  2. 按一下 NAT 閘道。

  3. 點選「Edit」(編輯)

  4. 按一下 [Advanced configurations] (進階設定)

  5. 在「記錄」部分,選取下列其中一個選項:

    • 未啟用記錄功能:停用記錄功能
    • 轉譯和錯誤:將所有記錄傳送至 Logging
    • 僅限翻譯:只會在建立連線時傳送記錄,不會記錄遭捨棄的封包
    • 僅限錯誤:封包因沒有可用通訊埠而遭到捨棄時,系統會傳送記錄,但不會記錄新連線
  6. 按一下 [儲存]

gcloud

使用 gcloud compute routers nats update 指令。

下列指令會為現有 NAT 閘道啟用記錄功能。

在每個指令中,請替換下列項目:

  • NAT_GATEWAY:NAT 閘道的名稱
  • ROUTER_NAME:代管 NAT 閘道的 Cloud Router 名稱
  • REGION:Cloud Router 的區域

如要記錄網路位址轉譯事件和錯誤,請按照下列步驟操作:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging

如要只記錄網路位址轉譯事件,請執行下列操作:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=TRANSLATIONS_ONLY

如要只記錄錯誤:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=ERRORS_ONLY

清除記錄篩選器

如果已設定篩選器,可以清除篩選器。清除記錄篩選器後,只要啟用記錄功能,系統就會記錄網路位址轉譯事件和錯誤。

控制台

  1. 前往 Google Cloud 控制台的「Cloud NAT」頁面。

    前往 Cloud NAT

  2. 按一下 NAT 閘道。

  3. 點選「Edit」(編輯)

  4. 按一下 [Advanced configurations] (進階設定)

  5. 在「記錄」部分,選取「轉譯和錯誤」

  6. 按一下 [儲存]

gcloud

使用 gcloud compute routers nats update 指令。下列指令中的 --log-filter=ALL 旗標會將記錄篩選器設為接受所有記錄。

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --log-filter=ALL

更改下列內容:

  • NAT_GATEWAY:NAT 閘道的名稱
  • ROUTER_NAME:代管 NAT 閘道的 Cloud Router 名稱
  • REGION:Cloud Router 的區域

停用記錄

如要停用記錄功能,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Cloud NAT」頁面。

    前往 Cloud NAT

  2. 按一下 NAT 閘道。

  3. 點選「Edit」(編輯)

  4. 按一下 [Advanced configurations] (進階設定)

  5. 在「記錄」部分,選取「不記錄」

  6. 按一下 [儲存]

gcloud

使用 gcloud compute routers nats update 指令。

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --no-enable-logging

更改下列內容:

  • NAT_GATEWAY:NAT 閘道的名稱
  • ROUTER_NAME:代管 NAT 閘道的 Cloud Router 名稱
  • REGION:Cloud Router 的區域

判斷記錄狀態

如要判斷記錄狀態,請執行下列操作:

控制台

  1. 前往 Google Cloud 控制台的「Cloud NAT」頁面。

    前往 Cloud NAT

  2. 按一下 NAT 閘道。

  3. 點選「Edit」(編輯)

  4. 按一下 [Advanced configurations] (進階設定)

  5. 檢查「記錄」部分中的選取項目。

gcloud

gcloud compute routers nats describe NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION

更改下列內容:

  • NAT_GATEWAY:NAT 閘道的名稱
  • ROUTER_NAME:代管 NAT 閘道的 Cloud Router 名稱
  • REGION:Cloud Router 的區域

查看記錄

如要查看 NAT 記錄,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往 Logs Explorer

    • 如要查看所有 NAT 記錄,請在「記錄名稱」選單中選取「Cloud NAT 閘道」
    • 如要只查看一個區域的記錄,請在「記錄檔名稱」選單中選取「Cloud NAT 閘道」,然後將游標向右滑動,選取一個區域。
    • 如要只查看某個閘道的記錄,請在「記錄檔名稱」選單中選取「Cloud NAT 閘道」,然後將游標向右滑動,選取所需區域。再次向右滑動游標,選取單一閘道。

或者,在查詢編輯器中輸入下列運算式:

resource.type="nat_gateway"
logName="projects/{#project_id}/logs/compute.googleapis.com%2Fnat_flows"

gcloud

gcloud logging read 'resource.type=nat_gateway' \
    --limit=10 \
    --format=json

其中:

  • resource.type=nat_gateway:將輸出內容限制為 NAT 閘道
  • --limit=10:將輸出內容限制為 10 個項目;您可以輸入不同的值來查看更多或更少的項目,也可以完全省略此值,以連續捲動方式查看記錄
  • --format=json:以 JSON 格式顯示輸出內容

如需更多選項,請參閱「讀取記錄檔項目」。

您可以針對資源記錄設定匯出記錄指標