設定代理程式傳送指標的許可 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定代理程式傳送指標的許可

安裝 Network Flow Monitor 代理程式後,必須啟用這些代理程式,使其能夠將網路指標傳送至 Network Flow Monitor 擷取 API。Network Flow Monitor 中的代理程式必須具有存取 Network Flow Monitor 擷取 API 許可,以便他們可以傳送為每個執行個體收集的網路流量指標。您可以透過為服務帳戶 (IRSA) 實作 IAM 角色來授與此存取權。

若要讓代理程式能夠將網路指標傳送至 Network Flow Monitor,請依循本節中的步驟。

  1. 為服務帳戶實作 IAM 角色

    服務帳戶的 IAM 角色提供管理應用程式憑證的功能,類似 Amazon EC2 執行個體設定檔將憑證提供給 Amazon EC2 執行個體的方式。若要提供 Network Flow Monitor 代理程式所需的所有許可,使其能夠成功存取 Network Flow Monitor 擷取 API,建議的做法是實作 IRSA。如需詳細資訊,請參閱《Amazon EKS 使用者指南》中的服務帳戶的 IAM 角色

    為 Network Flow Monitor 代理程式設定 IRSA 時,請使用下列資訊:

    • 服務帳戶:當您定義 IAM 角色信任政策時,對於 ServiceAccount,指定 aws-network-flow-monitor-agent-service-account

    • 命名空間:對於 namespace,指定 amazon-network-flow-monitor

    • 暫時憑證部署:當您在部署完 Network Flow Monitor 代理程式 Pod 之後設定許可時,ServiceAccount請使用 IAM 角色更新 ,Kubernetes 不會部署 IAM 角色憑證。為了確保 Network Flow Monitor 代理程式取得您指定的 IAM 角色憑證,必須逐步重新啟動 DaemonSet。例如,使用如下命令:

      kubectl rollout restart daemonset -n amazon-network-flow-monitor aws-network-flow-monitor-agent

  2. 確認 Network Flow Monitor 代理程式可成功存取 Network Flow Monitor 擷取 API

    可以透過檢視 Network Flow Monitor 代理程式 Pod 的 HTTP 200 日誌,確認代理程式的設定是否運作正常。首先,搜尋 Network Flow Monitor 代理程式 Pod,然後搜尋日誌檔案以尋找成功的 HTTP 200 請求。例如,您可以執行下列動作:

    1. 尋找網路流量監控代理程式 Pod 名稱。舉例而言,您可以使用下列命令:

      RANDOM_AGENT_POD_NAME=$(kubectl get pods -o wide -A | grep amazon-network-flow-monitor | grep Running | head -n 1 | tr -s ' ' | cut -d " " -f 2)
    2. 在所有 HTTP 日誌中搜尋您已定位的 Pod 名稱。如果您已變更 NAMESPACE,請務必使用新的命名空間。

      NAMESPACE=amazon-network-flow-monitor kubectl logs $RANDOM_AGENT_POD_NAME -\-namespace ${NAMESPACE} | grep HTTP

    如果已成功授與存取權,您應該會看到類似如下的日誌項目:

    ... {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027525679} {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027552827}

    請注意,Network Flow Monitor 代理程式會呼叫 Network Flow Monitor 擷取 API,每 30 秒發布一次網路流量報告。