建立流程日誌收集器

您可以為特定 Virtual Private Cloud (VPC)、子網路、實例或介面訂購並佈建流程日誌收集器。 開始之前,請確定您已檢閱 關於流程日誌 中列出的使用案例,並滿足下列必要條件。

當您佈建流程日誌收集器時,請記住 最細微精度獲勝

主控台中的先決條件

在建立流程日誌收集器之前,請確定您符合下列必要條件:

  1. 請確定至少存在一個 VPC、子網路及虛擬伺服器實例。 如需指示,請參閱 建立 VPC 和子網路建立虛擬伺服器實例

  2. 請確保流程日誌存在具有儲存區的 IBM Cloud® Object Storage 實例。 若要建立 Object Storage 儲存區,請參閱 IBM Cloud Object Storage 訂購頁面。

    Object Storage 桶必須是與目標資源位於相同區域的單區域桶。 此外,建議您透過 IAM 存取群組及審核記載來保護儲存區的安全。

  3. 授權類型為 Flow Logs for VPC 使用在步驟 2 中建立的 Object Storage 範例。

    要執行此操作,請依照以下步驟:

    • 在 IBM Cloud 主控台中,按一下 管理> 存取權 (IAM),然後從導覽窗格中選取 授權

    • 按一下 建立,並完成下列資訊:

      對於「來源」服務:

      • 請選擇「VPC 基礎架構服務」。
      • 請選擇「根據選定屬性篩選的資源」。
      • 對於資源類型,選取 Flow Logs for VPC
      • 針對來源服務實例,選取 所有實例

      目標服務:

      • 選取 Cloud Object Storage
      • 請選擇「根據選定屬性篩選的資源」。
      • 對於服務實例,選取 字串等於> 所有實例

      為了更精細,您可以指定是否要目標包含 特定資源。 如果您選擇特定資源作為目標,則可以新增屬性以進一步設定存取權範圍。 屬性類型視您選取的目標服務而定。 例如,您可以 指派對特定儲存區的存取權,而不是單一實例。

      對於服務存取權,選取 撰寫者 角色,以指派存取目標服務之來源服務的存取權。

    • 按一下授權

    如需相關資訊,請參閱使用授權來授與服務之間的存取權

CLI 中的必要條件

在建立流程日誌收集器之前,請確定您符合下列必要條件:

  1. 請確定至少存在一個 VPC、子網路及虛擬伺服器實例。 如需指示,請參閱 建立 VPC 和子網路建立虛擬伺服器實例

  2. 請確保流程日誌存在具有儲存區的 IBM Cloud® Object Storage 實例。 若要建立 Object Storage 儲存區,請參閱 IBM Cloud Object Storage 訂購頁面。

    Object Storage 桶必須是與目標資源位於相同區域的單區域桶。 此外,建議您透過 IAM 存取群組及審核記載來保護儲存區的安全。

  3. 授權 Flow Logs for VPC 類型的資源使用在步驟 2 中建立的 Object Storage 實例。

    要執行此操作,請輸入以下指令:

    ibmcloud iam authorization-policy-create is cloud-object-storage Writer --source-resource-type flow-log-collector --target-service-instance-id $COS_INSTANCE_GUID
    ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id $COS_INSTANCE_GUID
    

    您可以從 Object Storage 實例的「服務認證」區段取得 COS_INSTANCE_GUID,如下所示。

    Object Storage 服務認證
    Object Storage 服務認證

    如需相關資訊,請參閱使用授權來授與服務之間的存取權

使用 API 的必要條件

在建立流程日誌收集器之前,請確定您符合下列必要條件:

  1. 請確定至少存在一個 VPC、子網路及虛擬伺服器實例。 如需指示,請參閱 建立 VPC 和子網路建立虛擬伺服器實例

  2. 請確保流程日誌存在具有儲存區的 IBM Cloud® Object Storage 實例。 若要建立 Object Storage 儲存區,請參閱 IBM Cloud Object Storage 訂購頁面。

    Object Storage 桶必須是與目標資源位於相同區域的單區域桶。 此外,建議您透過 IAM 存取群組及審核記載來保護儲存區的安全。

  3. 授權 Flow Logs for VPC 類型的資源使用在步驟 2 中建立的 Object Storage 實例。

    要執行此操作,請依照以下步驟:

    • 在 IBM Cloud 主控台中,按一下 管理> 存取權 (IAM),然後從導覽窗格中選取 授權

    • 按一下 建立,並完成下列資訊:

      對於「來源」服務:

      • 請選擇「VPC 基礎架構服務」。
      • 請選擇「根據選定屬性篩選的資源」。
      • 對於資源類型,選取 Flow Logs for VPC
      • 針對來源服務實例,選取 所有實例

      目標服務:

      • 選取 Cloud Object Storage
      • 請選擇「根據選定屬性篩選的資源」。
      • 對於服務實例,選取 字串等於> 所有實例

      對於服務存取權,選取 撰寫者 角色,以指派存取目標服務之來源服務的存取權。

    • 按一下授權

    如需相關資訊,請參閱使用授權來授與服務之間的存取權

在主控台中建立流量日誌收集器

若要使用 IBM Cloud 主控台來建立流程日誌收集器,請遵循下列步驟:

  1. 移至 IBM Cloud 主控台,並登入您的帳戶。

  2. 選取導覽功能表 功能表圖示,然後按一下 Infrastructure VPC 圖示 > Network > Flow Logs

    即會出現 VPC 儀表板的流程日誌。

  3. 按一下 Create(建立 )前往流量記錄佈建頁面。

  4. 輸入下列欄位的值:

    • 名稱-鍵入流程日誌收集器的唯一名稱。
    • 資源群組-選取流程日誌收集器的資源群組。 您可以使用此流程日誌的預設群組,或從清單中選擇(若已定義)。 如需相關資訊,請參閱組織資源群組中資源的最佳作法
    • 標籤-選擇性地新增標籤,以組織、追蹤使用成本或管理對資源的存取權。
    • 存取管理標籤-選擇性地將存取管理標籤新增至資源,以協助組織存取控制關係。 存取權管理標籤唯一支援的格式是 key:value。 如需相關資訊,請參閱 使用標籤控制對資源的存取權
  5. 如需收集器詳細資訊,請為流量記錄選擇目標服務。 視您的選擇而定,可能需要其他欄位。

    • 虛擬私有雲- 選擇一個 VPC。 會記載所選 VPC 內的所有網路資料流量。
    • 子網路-選取 VPC 及所選取 VPC 內的子網路。 會記載所選子網路內的所有資料流量。
    • 實例-選取 VPC 及存在於所選取 VPC 內的虛擬伺服器實例。 會記載虛擬伺服器實例的所有資料流量。
    • 介面-選取 VPC、所選取 VPC 內的虛擬伺服器實例,以及所選取虛擬伺服器實例的特定網路介面。 會記載所選取網路介面的所有資料流量。
    • 未連接的虛擬網路介面- 指定未連接虛擬網路介面的 ID。 這對於建立專用且隔離的記錄路徑非常有用,可在準備就緒時附加到記錄收集服務。
  6. 指定日誌的儲存位置。 流程日誌會寫入 Object Storage 儲存區,該儲存區必須建立為與目標資源相同地區中的單一地區儲存區。

    • Cloud Object Storage 實例-所需儲存區所在的 Object Storage 實例。
    • 位置-此輸入無法使用,因為它直接關聯於目標資源所在的區域。
    • 儲存區-流程日誌收集器服務寫入至想要的 IBM Cloud® Object Storage 儲存區。

從 CLI 建立流程日誌收集器

開始之前,請 設定 CLI 環境

若要透過 CLI 建立流量日誌收集器,請執行以下指令:

  ibmcloud is flow-log-create \
    --bucket STORAGE_BUCKET_NAME \
    --target TARGET_ID [--name NAME] \
    --active ACTIVE \
    [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] \
    [--json]

其中:

--bucket
Object Storage 儲存桶的名稱。 --target
流量記錄的目標。 --name
流程日誌的新名稱。 --active
指出此收集器是否在作用中。 --resource-group-id
資源群組的 ID。 此選項與 --resource-group-name 互斥。 --resource-group-name
資源群組的名稱。 此選項與 --resource-group-id 互斥。 --json
將輸出格式化為 JSON。

使用 API 建立流程日誌收集器

若要使用 API 來建立流程日誌收集器,請遵循下列步驟:

  1. 使用正確的變數來設定 API 環境

  2. 將下列值儲存在要在 API 指令中使用的變數中:

    • ResourceGroupId-首先,取得資源群組,然後移入變數:
    export ResourceGroupId=<your_resourcegroup_id>
    
    • VpcId-使用 list vpc 指令 (含前述變數) 尋找,然後根據提供的 ID 移入變數:
    export VpcId=<your_VPC_id>
    
    • COSbucket- Object Storage 儲存區的名稱。
    export COSbucket=<your_COS_bucket_name>
    
  3. 起始所有變數時,請為特定 VPC 佈建流程日誌收集器:

    curl -X POST
      -sH "Authorization:${iam_token}"
      "$vpc_api_endpoint/v1/flow_log_collectors?version=$api_version&generation=2" \
      -d  '{ \
           "name": "flow-logs-1", \
           "resource_group": { "id": "'$ResourceGroupId'"  }, \
           "storage_bucket": { "name": "'$COSbucket'" }, \
           "target": { "id": "'$VpcId'" } \
           }' | jq
    

    此範例使用 jq 作為解析器,這是一個依據 MIT 授權條款 發佈的第三方工具。 某些作業系統預設並未內建 jq。 使用前請先安裝 jq ,或改用其他 JSON 解析器。

  4. 若要供應以子網路、虛擬伺服器實例或 VNIC 為目標的收集器,您必須提供子網路 ID、虛擬伺服器實例 ID 或 VNIC ID 作為收集器目標。 例如,下列要求會建立以虛擬伺服器實例 ID 為目標的收集器:

    export VsiId=<your_vsi_id>
    
    curl -X POST \
      -sH "Authorization:${iam_token}" \
      "$vpc_api_endpoint/v1/flow_log_collectors?version=$api_version&generation=2" \
      -d '{ \
       	 "name": "flow-logs-1", \
          "resource_group": { "id": "'$ResourceGroupId'"  }, \
          "storage_bucket": { "name": "'$COSbucket'" }, \
          "target": { "id": "'$VsiId'" } \
          }' | jq
    

下一步