將記錄檔區域化

本文說明如何使用 _Default 接收器,將記錄檔項目傳送至特定區域的 Cloud Logging 值區。如需支援的地區清單,請參閱「位置」。

您也可以為機構或資料夾設定預設設定,為新的 _Default_Required bucket 設定預設儲存位置。詳情請參閱設定預設儲存位置

本指南會以將所有記錄重新導向至一個區域為例,逐步說明這個程序。這項程序包含下列步驟:

  1. 在指定區域中建立記錄 bucket,用來儲存記錄。

  2. 重新導向 _Default 接收器,將記錄傳送至新的記錄值區。

  3. 在記錄檔探索工具中搜尋記錄。

總覽

在 Cloud Logging 中,記錄儲存區是區域資源:儲存、建立索引及搜尋記錄的基礎架構位於特定地理位置。除了 globaleuus 地區的記錄檔值區外,Google Cloud 會管理基礎架構,確保應用程式在記錄檔值區所在地區的各個區域中,都能以備援方式運作。

貴機構可能需要將記錄檔資料儲存在特定區域。選擇記錄儲存區域時,主要考量因素包括是否符合貴機構的延遲時間、可用性或法規遵循需求。選取記錄儲存地區時,請考量應用程式使用的其他Google Cloud 產品和服務所處的位置。

基本概念

以下是適用於 Logging 資料區域性的重要概念。

記錄路由器位置

記錄檔路由器會處理寫入 Cloud Logging API 的所有記錄項目。系統會根據現有規則檢查各個記錄項目,藉此判斷要將哪些記錄項目儲存在 Logging 儲存區,以及要使用接收器將哪些記錄項目轉送至支援的目的地。為確保記錄檔能順利傳送,記錄檔路由器也會暫時儲存記錄檔,以緩衝任何接收器暫時中斷的情況。

記錄檔路由器會在收到記錄檔的區域中處理記錄檔。 記錄檔路由器可能會根據接收器的定義,或您選擇與其他服務 (例如 Security Command Center 威脅偵測) 共用記錄檔資料,將記錄檔傳送至其他區域。 Google Cloud 無論記錄檔位於哪個區域,匯出目的地都適用於所有記錄檔。

記錄檔 bucket 位置

記錄 bucket 是Google Cloud 專案、帳單帳戶、資料夾和機構中的容器,用於儲存及整理記錄資料。

針對每個 Google Cloud 專案、帳單帳戶、資料夾和機構,Logging 會自動建立兩個記錄檔值區:_Required_Default,這兩個值區位於 global 位置。您無法變更現有 bucket 的位置。 不過,貴機構可以建立政策,為這些值區設定不同的預設位置。詳情請參閱「調整機構和資料夾的預設設定」。

您也可以為任何Google Cloud 專案建立使用者定義的記錄檔值區。建立使用者定義的記錄檔值區時,您可以指定記錄檔值區的位置。記錄檔 bucket 建立完成後,就無法變更位置,但您可以建立新的 bucket,然後使用接收器將記錄檔項目導向新的記錄檔 bucket。如要瞭解如何設定值區的位置,請參閱將記錄檔區域化

記錄功能支援同時查詢多個區域的記錄,在這種情況下,系統會在與所查詢值區相同的位置處理查詢,然後在收到查詢的區域中彙整結果。

記錄檔 bucket 的區域會顯示在「記錄檔儲存空間」頁面和部分對話方塊中。舉例來說,當您前往「記錄檔探索工具」頁面,並使用「縮小範圍」選取器列出記錄檢視畫面時,系統也會顯示區域資訊。如果選取器中的區域是 global,系統會以類似 GLOBAL (US-WEST4) 的格式顯示區域和目前的儲存位置。

事前準備

  1. 找出要儲存記錄項目的 Google Cloud 專案。
  2. 找出用於儲存記錄檔項目的記錄 bucket 名稱和位置。
  3. 決定要將哪些記錄項目傳送至記錄值區。 本指南會列出 _Default 接收器路由的所有記錄。
  4. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    支援的地區

    建立記錄值區時,您可以選擇記錄的儲存位置。 如需支援的地區清單,請參閱「位置」一文。

    建立記錄檔 bucket

    記錄檔值區會儲存記錄項目。專案、資料夾和機構包含記錄接收器,可將記錄項目轉送至記錄檔值區或其他目的地。如果接收器的目的地是記錄值區,該記錄值區可以與記錄接收器位於相同資源,也可以位於不同資源。詳情請參閱「設定記錄值區」。

    1. 開啟殼層。

      舉例來說,如要使用 Cloud Shell,請執行下列操作:

      1. 前往 Google Cloud 控制台:

        前往 Google Cloud 控制台

      2. 按一下工具列中的「啟用 Cloud Shell」
    2. 如要建立記錄值區,請在殼層中執行 gcloud logging buckets create 指令。執行範例指令前,請先進行下列替換:

      • BUCKET_ID:記錄值區的名稱或 ID。
      • LOCATION:記錄值區的位置。
      • PROJECT_ID:專案的 ID。

      範例指令:

      gcloud logging buckets create BUCKET_ID \
        --location=LOCATION \
        --project=PROJECT_ID
      
    3. 確認值區已建立:

      gcloud logging buckets list --project=PROJECT_ID
      

    記錄檔 bucket 建立完成後,您可以變更部分屬性,例如說明和資料保留期限。如要進行這些變更,請使用 gcloud logging buckets update 指令。

    重新導向 _Default 記錄檔接收器

    建立接收器即可將記錄檔轉送至記錄檔值區。接收器包含篩選器,可選取要透過接收器匯出的記錄項目,以及目的地。在本指南中,我們會更新現有的 _Default 接收器,將記錄檔項目傳送至上一步建立的記錄檔 bucket。

    如要更新接收器,請執行 gcloud logging sinks update 指令。執行範例指令前,請進行下列替換:

    • _Default:這個範例會更新名為 _Default 的接收器目的地。如要更新其他接收器,請變更這個變數的名稱。
    • BUCKET_ID:記錄值區的名稱或 ID。
    • LOCATION:記錄值區的位置。
    • PROJECT_ID:專案的 ID。

    範例指令:

    gcloud logging sinks update _Default \
      logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID \
      --log-filter='NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT
        LOG_ID("externalaudit.googleapis.com/activity") AND NOT
        LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT
        LOG_ID("externalaudit.googleapis.com/system_event") AND NOT
        LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT
        LOG_ID("externalaudit.googleapis.com/access_transparency")' \
      --description="Updated the _Default sink to route logs to the LOCATION region"
    

    建立記錄項目來測試接收器

    如要確認您已正確更新接收器,請完成下列步驟:

    1. 使用 gcloud logging write 指令,將測試記錄訊息傳送至區域化值區。執行範例指令前,請先進行下列替換:

      • LOG_NAME:記錄的名稱。
      • BUCKET_ID:記錄值區的名稱或 ID。
      • PROJECT_ID:專案的 ID。

      範例指令:

      gcloud logging write LOG_NAME "Test to route logs to BUCKET_ID" \
      --project=PROJECT_ID
      
    2. 查看記錄項目:

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

        前往「Logs Explorer」(記錄檔探索工具)

        如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

      2. 在工具列中,按一下「縮小範圍」,然後選取「目前專案」

        記錄檔探索工具會設定為顯示專案中的記錄檔項目。

      3. 在「記錄欄位」窗格中,選取「全域」資源類型。

      4. 測試記錄項目會顯示在「Query results」(查詢結果) 面板中。

    在 Google Cloud 控制台中搜尋記錄

    如要查看記錄檔 bucket 中的記錄檔項目,請前往Google Cloud 控制台並完成下列步驟:

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

      前往「Logs Explorer」(記錄檔探索工具)

      如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

    2. 選取「調整範圍」

    3. 在「Refine scope」(縮小範圍) 面板中,選取「Log view」(記錄檢視)

    4. 選取與 BUCKET_NAME 相關聯的 _AllLogs 檢視畫面。

    5. 按一下 [套用]

      記錄檔探索工具會重新整理,顯示 bucket 中的記錄。

      如要瞭解如何使用記錄檔探索工具,請參閱「使用記錄檔探索工具查看記錄檔」。

    後續步驟