建立流程日誌收集器
您可以為特定 Virtual Private Cloud (VPC)、子網路、實例或介面訂購並佈建流程日誌收集器。 開始之前,請確定您已檢閱 關於流程日誌 中列出的使用案例,並滿足下列必要條件。
當您佈建流程日誌收集器時,請記住 最細微精度獲勝。
主控台中的先決條件
在建立流程日誌收集器之前,請確定您符合下列必要條件:
-
請確定至少存在一個 VPC、子網路及虛擬伺服器實例。 如需指示,請參閱 建立 VPC 和子網路 及 建立虛擬伺服器實例。
-
請確保流程日誌存在具有儲存區的 IBM Cloud® Object Storage 實例。 若要建立 Object Storage 儲存區,請參閱 IBM Cloud Object Storage 訂購頁面。
Object Storage 桶必須是與目標資源位於相同區域的單區域桶。 此外,建議您透過 IAM 存取群組及審核記載來保護儲存區的安全。
CLI 中的必要條件
在建立流程日誌收集器之前,請確定您符合下列必要條件:
-
請確定至少存在一個 VPC、子網路及虛擬伺服器實例。 如需指示,請參閱 建立 VPC 和子網路 及 建立虛擬伺服器實例。
-
請確保流程日誌存在具有儲存區的 IBM Cloud® Object Storage 實例。 若要建立 Object Storage 儲存區,請參閱 IBM Cloud Object Storage 訂購頁面。
Object Storage 桶必須是與目標資源位於相同區域的單區域桶。 此外,建議您透過 IAM 存取群組及審核記載來保護儲存區的安全。
-
授權 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 服務認證 如需相關資訊,請參閱使用授權來授與服務之間的存取權。
使用 API 的必要條件
在建立流程日誌收集器之前,請確定您符合下列必要條件:
-
請確定至少存在一個 VPC、子網路及虛擬伺服器實例。 如需指示,請參閱 建立 VPC 和子網路 及 建立虛擬伺服器實例。
-
請確保流程日誌存在具有儲存區的 IBM Cloud® Object Storage 實例。 若要建立 Object Storage 儲存區,請參閱 IBM Cloud Object Storage 訂購頁面。
Object Storage 桶必須是與目標資源位於相同區域的單區域桶。 此外,建議您透過 IAM 存取群組及審核記載來保護儲存區的安全。
-
授權 Flow Logs for VPC 類型的資源使用在步驟 2 中建立的 Object Storage 實例。
要執行此操作,請依照以下步驟:
-
在 IBM Cloud 主控台中,按一下 管理> 存取權 (IAM),然後從導覽窗格中選取 授權。
-
按一下 建立,並完成下列資訊:
對於「來源」服務:
- 請選擇「VPC 基礎架構服務」。
- 請選擇「根據選定屬性篩選的資源」。
- 對於資源類型,選取 Flow Logs for VPC。
- 針對來源服務實例,選取 所有實例。
目標服務:
- 選取 Cloud Object Storage。
- 請選擇「根據選定屬性篩選的資源」。
- 對於服務實例,選取 字串等於> 所有實例。
對於服務存取權,選取 撰寫者 角色,以指派存取目標服務之來源服務的存取權。
-
按一下授權。
如需相關資訊,請參閱使用授權來授與服務之間的存取權。
-
在主控台中建立流量日誌收集器
若要使用 IBM Cloud 主控台來建立流程日誌收集器,請遵循下列步驟:
-
移至 IBM Cloud 主控台,並登入您的帳戶。
-
選取導覽功能表
,然後按一下 Infrastructure
> Network > Flow Logs。
即會出現 VPC 儀表板的流程日誌。
-
按一下 Create(建立 )前往流量記錄佈建頁面。
-
輸入下列欄位的值:
- 名稱-鍵入流程日誌收集器的唯一名稱。
- 資源群組-選取流程日誌收集器的資源群組。 您可以使用此流程日誌的預設群組,或從清單中選擇(若已定義)。 如需相關資訊,請參閱組織資源群組中資源的最佳作法。
- 標籤-選擇性地新增標籤,以組織、追蹤使用成本或管理對資源的存取權。
- 存取管理標籤-選擇性地將存取管理標籤新增至資源,以協助組織存取控制關係。 存取權管理標籤唯一支援的格式是
key:value。 如需相關資訊,請參閱 使用標籤控制對資源的存取權。
-
如需收集器詳細資訊,請為流量記錄選擇目標服務。 視您的選擇而定,可能需要其他欄位。
- 虛擬私有雲- 選擇一個 VPC。 會記載所選 VPC 內的所有網路資料流量。
- 子網路-選取 VPC 及所選取 VPC 內的子網路。 會記載所選子網路內的所有資料流量。
- 實例-選取 VPC 及存在於所選取 VPC 內的虛擬伺服器實例。 會記載虛擬伺服器實例的所有資料流量。
- 介面-選取 VPC、所選取 VPC 內的虛擬伺服器實例,以及所選取虛擬伺服器實例的特定網路介面。 會記載所選取網路介面的所有資料流量。
- 未連接的虛擬網路介面- 指定未連接虛擬網路介面的 ID。 這對於建立專用且隔離的記錄路徑非常有用,可在準備就緒時附加到記錄收集服務。
-
指定日誌的儲存位置。 流程日誌會寫入 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 來建立流程日誌收集器,請遵循下列步驟:
-
使用正確的變數來設定 API 環境。
-
將下列值儲存在要在 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> -
起始所有變數時,請為特定 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 解析器。 -
若要供應以子網路、虛擬伺服器實例或 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