

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

# AWS CloudTrail 或 Amazon CloudWatch？
<a name="cloudtrail-or-cloudwatch"></a>

**了解差異並挑選適合您的差異** 


|  |  | 
| --- |--- |
| **用途** | 為了協助您判斷 AWS CloudTrail 或 Amazon CloudWatch 是維持雲端環境可見性、安全性和營運效率的正確選擇。 | 
| **上次更新** | 2024 年 9 月 20 日 | 
| **涵蓋的服務** |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/decision-guides/latest/cloudtrail-or-cloudwatch/cloudtrail-or-cloudwatch.html)  | 

## 簡介
<a name="introduction"></a>

 將關鍵業務工作負載部署到 時 AWS 雲端，請務必在雲端環境中維持可見性、安全性和營運效率。有幾個關鍵領域需要解決：
+  **營運透明度** — 追蹤誰在雲端環境中執行作業，並監控資源的效能。
+  **安全保證** — 偵測可能表示安全威脅的異常 API 呼叫或資源使用率。
+  **合規** — 維護使用者活動和基礎設施變更的詳細日誌，以供稽核之用。
+  **效能管理** — 監控資源使用率和應用程式效能指標。
+  **事件回應** — 資料和提醒，以快速識別和回應操作問題。
+  **成本控制** — 深入了解資源用量，以協助管理雲端支出。
+  **自動化** — 自動化對特定事件或效能閾值的回應。

 AWS 提供兩種關鍵服務，以協助解決這些問題：
+ **[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)** 主要專注於控管、合規和營運稽核。它會記錄在您 AWS 環境中進行的所有 API 呼叫。主要特色 
  +  追蹤所有 AWS 帳戶 活動，包括 API 呼叫、在 AWS 管理主控台、 AWS SDKs、命令列工具和其他 AWS 服務中採取的動作。
  +  提供每個動作的詳細日誌，包括撥打電話的人員、使用的服務，以及受影響的資源。
  +  可用於安全稽核、追蹤使用者活動，以及識別潛在的惡意動作。
+  **[Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)** 是一種監控和可觀測性服務 AWS，可為內部部署和混合式應用程式和基礎設施提供資料和可行的洞見。主要特色包括：
  +  AWS 即時監控 AWS 資源和在 上執行的應用程式，包括指標、日誌和警示。
  +  提供系統效能、錯誤率、資源使用率等的詳細洞見。
  +  允許設定警示，根據特定條件觸發動作 （例如擴展資源）。

雖然這兩種服務對強大、安全的雲端環境都至關重要，但它們的使用案例和提供的功能有所不同。

以下是這些服務之間主要差異的高階檢視，讓您開始使用。


| **類別**  | **CloudTrail**  | **CloudWatch**  | 
| --- | --- | --- | 
| 主要用途  | API 活動追蹤和稽核  | 即時監控和效能管理  | 
| 收集的資料  | API 呼叫的日誌，包括撥打電話的人員、時間以及受影響的資源  | 與資源效能和應用程式行為相關的指標、日誌和事件  | 
| 使用案例  | 環境中的安全稽核、合規和追蹤變更  | 監控資源使用率、設定警示和效能管理  | 
| 安全與合規  | 透過提供詳細的活動日誌，協助滿足安全和合規要求  |  監控系統效能是否有安全性異常，並協助維持操作完整性  | 
| 日誌保留  | 事件歷史記錄的最後 90 天。可以建立線索和事件資料存放區 （使用 CloudTrail Lake)，以保留活動記錄超過 90 天。 | 用於即時監控和故障診斷的短期資料保留  | 
| 警示和通知  | 不主要用於警示，但可以根據 API 活動觸發動作  | 透過自動回應，啟用特定指標或日誌事件的設定警示  | 
| 整合  | 通常與 AWS Config 和 IAM 等安全服務搭配使用，以增強安全管理  |  與各種 AWS 服務整合，以實現全方位的監控和自動化  | 
| 成本考量  | 根據產生和存放之日誌數量的成本  | 根據監控指標、日誌和警示數量的成本  | 
| 資料精細程度  | 提供每個 API 呼叫的詳細日誌，其中包含精細資訊  | 提供彙總指標和日誌資料以進行即時監控  | 
| 存取控制  | 可讓您追蹤存取模式和使用者許可的變更  | 協助您根據效能指標監控和最佳化對 資源的存取  | 
| 資源涵蓋範圍  | AWS 帳戶全 範圍  | 個別 AWS 資源  | 
|  即時追蹤  | 近乎即時 (5 分鐘內）  | 即時或近乎即時  | 
| 視覺效果  | 有限；經常與其他工具搭配使用  | 內建儀表板和圖形  | 

## CloudTrail 與 CloudWatch 之間的差異
<a name="differences"></a>

 探索 CloudTrail 和 CloudWatch 在許多關鍵領域之間的差異。

------
#### [ Primary purpose ]

**AWS CloudTrail**
+ 提供 內所有 API 活動的完整稽核線索 AWS 帳戶。專注於記錄執行動作的人員、時間和地點。這包括透過 AWS 管理主控台、 AWS SDKs、命令列工具和其他 AWS 服務採取的動作。CloudTrail 回答以下問題：「誰終止了此 EC2 執行個體？」 或「對此 IAM 政策進行了哪些變更？」 

**Amazon CloudWatch**
+ 監控資源和應用程式的運作狀態和效能 AWS 。CloudWatch 會收集和追蹤指標、收集和監控日誌檔案，以及設定警示。它可協助您了解應用程式的效能，並回應整個系統的效能變更。CloudWatch 回答以下問題：「我的 Amazon EC2 執行個體的 CPU 使用率太高嗎？」 或「我的 Lambda 函數會產生多少錯誤？」

**摘要**

CloudTrail 可協助您追蹤和稽核使用者活動的安全性和合規性，而 CloudWatch 負責監控和最佳化系統效能和運作狀態。這兩種工具在管理雲端環境時提供不同但互補的角色。

------
#### [ Data collected ]

**AWS CloudTrail**
+ 專注於擷取 AWS 環境中所有 API 活動的詳細日誌。這包括發出 API 呼叫的人員、發出時間、採取的動作，以及涉及的資源等相關資訊。CloudTrail 的日誌提供全面的稽核線索，對於追蹤變更、確保合規性和調查安全事件至關重要。

**Amazon CloudWatch**
+ 從您的 AWS 資源和應用程式收集效能和操作資料。這包括 CPU 用量、記憶體使用率、網路流量和應用程式日誌等指標，以及您可以定義的自訂指標。CloudWatch 收集的資料用於即時監控、效能最佳化和設定警示，以根據特定條件觸發自動化動作。

**摘要**

CloudTrail 會收集與使用者活動和 API 使用量相關的資料，用於稽核和安全性目的，而 CloudWatch 會收集指標和日誌，以監控、管理和最佳化系統效能和運作狀態。兩者都提供重要的洞見，但提供不同的雲端管理層面。

------
#### [ Use cases ]

**AWS CloudTrail**
+ 主要用於安全稽核、合規和操作稽核。CloudTrail 提供您 AWS 環境中 API 呼叫和使用者活動的詳細記錄，這對於追蹤變更、調查安全事件以及確保您的組織符合法規要求至關重要。例如，CloudTrail 在您需要監控誰存取特定資源、追蹤對組態所做的變更或跨多個稽核活動的情況下非常有用 AWS 帳戶。

**Amazon CloudWatch**
+ 專為即時監控、效能管理和營運效率而設計。CloudWatch 用於透過收集和追蹤指標、日誌和事件來監控 AWS 資源和應用程式的運作狀態。CloudWatch 可讓您設定觸發自動動作的警示，例如擴展資源，或在達到特定閾值時傳送通知。CloudWatch 的使用案例包括監控應用程式效能、管理資源使用率、偵測異常情況，以及確保系統以最佳方式執行以防止停機。

------
#### [ Security and compliance ]

**AWS CloudTrail**
+ 在 AWS 環境中維護安全與合規的關鍵。CloudTrail 提供所有 API 呼叫的完整稽核線索，包括誰進行呼叫、何時進行呼叫，以及採取的動作。此詳細記錄對於符合合規標準、執行安全稽核和調查事件至關重要。透過追蹤使用者活動和資源的變更，CloudTrail 有助於確保責任和透明度，這是許多法規架構的關鍵要求。

**Amazon CloudWatch**
+ 透過啟用操作異常的偵測，在安全性中扮演角色。例如，您可以使用 CloudWatch 來監控指出潛在安全問題的指標，例如網路流量或 CPU 用量異常激增。此外，CloudWatch 可以在達到特定閾值時觸發警示和自動回應，允許主動事件管理。CloudWatch 中擷取的日誌也可用於追蹤操作事件，這對於了解安全事件的內容至關重要。

**摘要**

CloudTrail 共同提供合規所需的稽核日誌，而 CloudWatch 則提供即時監控，協助偵測和回應安全威脅，為安全且合規的雲端環境做出貢獻。

------
#### [ Log retention ]

**AWS CloudTrail**
+ 根據預設，CloudTrail 事件歷史記錄會記錄您帳戶過去 90 天的管理事件。
+ 使用者可以建立追蹤，無限期地將日誌存放在 S3 儲存貯體中。
+ 不會自動刪除存放在 Amazon S3 中的日誌，允許長期保留。
+ 使用者可以在 S3 儲存貯體上實作生命週期政策，以管理長期儲存成本。
+ CloudTrail 可設定為將日誌傳送至 CloudWatch Logs，以取得更靈活的保留選項。

**Amazon CloudWatch**
+ CloudWatch Logs 中的日誌保留更靈活且可設定。
+ 預設保留期間因日誌群組而異，通常設定為「永不過期」。
+ 使用者可以設定從一天到 10 年的自訂保留期間，或選擇無限期保留。
+ 不同的日誌群組可以有不同的保留期間。
+ 保留期間過後，日誌會自動刪除以管理儲存成本。
+ 如有需要，CloudWatch Logs 可以匯出至 Amazon S3 以進行長期儲存。

------
#### [ Alarms and notifications ]

**AWS CloudTrail**
+ 主要著重於記錄 API 活動，並且沒有內建警示或通知功能。不過，您可以與 CloudWatch Logs 和 CloudWatch 警示整合，以設定 CloudTrail 事件的警示。此設定通常用於提醒您與安全相關的事件，例如未經授權的存取嘗試或對關鍵資源的變更。

**Amazon CloudWatch**
+ 專為即時監控而設計，並包含強大的警示和通知功能。CloudWatch 可讓您根據指標、日誌資料或自訂定義的閾值來設定警示。違反這些閾值時，CloudWatch 可以透過 Amazon SNS (Amazon Simple Notification Service) 傳送通知、觸發自動動作，例如擴展執行個體，或使用 執行自訂修復步驟 AWS Lambda。這使得 CloudWatch 成為主動系統管理的重要工具，在發生效能問題或操作異常時提醒您。

------
#### [ Integration ]

CloudTrail 和 CloudWatch 提供與其他 AWS 服務和外部工具的廣泛整合選項，增強其功能和公用程式。

**CloudTrail 整合**
+ Amazon S3：長期儲存日誌以進行封存和分析 
+ CloudWatch Logs：啟用即時日誌分析和提醒 
+ Amazon EventBridge：根據 API 事件觸發自動化動作 
+ AWS Config：提供組態追蹤和合規的輸入 
+ AWS Security Hub CSPM：有助於集中式安全狀態管理 
+ AWS Lake Formation：啟用 CloudTrail 日誌的資料湖控管 
+ Amazon Athena：對存放在 Amazon S3 中的 CloudTrail 日誌執行 SQL 查詢 

**CloudWatch 整合**
+ Amazon SNS：傳送警示和事件的通知 
+ AWS Lambda：根據指標或日誌觸發無伺服器函數 
+ Amazon EC2 Auto Scaling：根據效能指標調整容量 
+ AWS Systems Manager：根據 CloudWatch 資料自動化操作任務 
+ AWS X-Ray：結合追蹤資料以取得深入的應用程式洞見 
+ 容器服務 (Amazon ECS、Amazon EKS)：監控容器化應用程式 
+ 第三方工具：將指標和日誌匯出至外部監控平台 

------
#### [ Cost considerations ]

**AWS CloudTrail**
+ CloudTrail 的定價主要取決於記錄和儲存的事件數量。根據預設，CloudTrail 事件歷史記錄會記錄並免費存放您帳戶過去 90 天的管理事件。不過，如果您啟用資料事件 （例如 S3 物件層級動作） 或建立多個線索，則會根據事件量和 Amazon S3 中所需的儲存體產生費用。如果您使用 CloudTrail Insights 等進階功能，可提供異常 API 活動的更深入分析，則可能會產生額外的成本。

**Amazon CloudWatch**
+ 根據幾個因素，CloudWatch 具有更複雜的定價結構，包括您監控的自訂指標數量、擷取和儲存的日誌事件數量，以及警示和儀表板的使用。 AWS 服務的基本監控是免費的，但詳細的監控和自訂指標會產生費用。日誌儲存會根據擷取和保留的資料量來定價，而設定和維護警示或使用 CloudWatch Logs Insights 進行進階日誌分析時，需支付額外費用。

------
#### [ Data granularity ]

**AWS CloudTrail**
+ CloudTrail 透過記錄您 AWS 環境中所做的每個個別 API 呼叫來提供高精細度。每個日誌項目都包含詳細資訊，例如提出請求的人員、執行的動作、受影響的資源，以及動作的時間。此詳細程度對於稽核、安全性監控和合規至關重要，因為它可讓您追蹤特定使用者動作，並變更為確切的 API 呼叫。

**Amazon CloudWatch**
+ CloudWatch 著重於監控和效能管理的彙總資料。它會定期收集指標 （通常是每分鐘或五分鐘），並從 AWS 資源記錄操作資料。雖然 CloudWatch 提供系統效能和應用程式行為的詳細洞見，但其資料比 CloudTrail 更彙總。例如，您可以監控一段時間內的平均 CPU 用量，而不是個別的請求或動作。不過，CloudWatch Logs 可以提供更精細的資料，類似於 CloudTrail，但通常用於分析操作日誌，而不是追蹤 API 呼叫。

------
#### [ Real-time tracking ]

**AWS CloudTrail**
+ CloudTrail 本身並非針對即時追蹤而設計，但可以設定為提供near-real-time提醒。根據預設，CloudTrail 會記錄 API 活動，但日誌交付會有些微延遲。如需更即時的追蹤，您可以將 CloudTrail 與 Amazon CloudWatch Events 整合 AWS Lambda ，或根據記錄的特定 API 呼叫或活動觸發動作。此設定允許near-real-time地監控關鍵安全事件或組態變更。

**Amazon CloudWatch**
+ 另一方面，CloudWatch 是專為即時追蹤系統和應用程式效能而建置。它會持續監控來自 AWS 資源的指標，並在超過預先定義的閾值時立即觸發警示或通知。CloudWatch 也會即時收集和分析日誌資料，讓您監控應用程式日誌、偵測異常，並在發生操作問題時加以回應。這使得 CloudWatch 成為即時維護 AWS 環境運作狀態和效能的必要工具。

------

## 使用
<a name="use"></a>

現在您已閱讀 AWS CloudTrail 和 Amazon CloudWatch 之間的選擇條件，您可以選擇符合您需求的服務，並使用以下資訊來協助您開始使用每個服務。

------
#### [ AWS CloudTrail ]
+  **入門 AWS CloudTrail** 

   AWS CloudTrail 是一種 AWS 服務，可協助您啟用 的操作和風險稽核、控管和合規 AWS 帳戶。以下是開始使用的方法。

   [探索指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
+  **檢閱 AWS 帳戶 活動** 

   了解如何 AWS 帳戶 使用 CloudTrail 的事件歷史記錄功能，在 中檢閱最近的 AWS API 活動。

   [使用教學課程](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) 
+  **建立線索** 

   了解如何建立追蹤記錄所有區域中的 AWS API 活動，包括資料和 Insights 事件。

   [使用教學課程](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) 
+  **中的安全最佳實務 AWS CloudTrail** 

   本指南提供 AWS CloudTrail 在您的組織中使用 的偵測和預防性安全最佳實務。

   [探索指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/best-practices-security.html) 

------
#### [ Amazon CloudWatch ]
+  **Amazon CloudWatch 入門** 

   使用 Amazon CloudWatch AWS 即時監控您的 AWS 資源和您在 上執行的應用程式。您可以使用 CloudWatch 收集和追蹤指標，這些是您可以為您的資源和應用程式測量的變數。

   [探索指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  **Amazon CloudWatch 指標入門** 

   本指南討論基本監控和詳細監控、如何繪製指標圖形，以及如何使用 CloudWatch 異常偵測。

   [探索指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+  **在 Amazon EKS 和 Kubernetes 上設定 Container Insights** 

   在 EKS 叢集上設定 Amazon CloudWatch 可觀測性 ESK 附加元件和 ADTO，以將指標傳送至 CloudWatch。您也將了解如何設定 Fluent Bit 或 Fluentd 將日誌傳送至 CloudWatch Logs。

   [探索指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-EKS.html) 
+  **Amazon CloudWatch Application Insights 入門** 

   了解如何使用 主控台讓 CloudWatch Application Insights 管理您的應用程式以進行監控。

   [探索指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-getting-started.html) 
+  **使用容器洞見** 

   了解 CloudWatch Container Insights 如何從容器化應用程式和微服務收集、彙總和摘要指標和日誌。

   [探索指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) 
+  **在 Amazon ECS 上設定 Container Insights** 

   了解如何設定叢集和服務層級指標、部署 ADOT 以收集 EC2 執行個體層級指標，以及設定 FireLens 將日誌傳送至 CloudWatch Logs。

   [探索指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS.html) 

------