

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

# 使用 Amazon CloudWatch Observability Access Manager 集中監控
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager"></a>

*Anand Krishna Varanasi、JAGDISH KOMAKULA、Ashish Kumar、Jimmy Morgan、Sarat Chandra Pothula、Vivek Thangamuthu 和 Balaji Vedagiri、Amazon Web Services*

## 摘要
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-summary"></a>

可觀測性對於監控、了解和疑難排解應用程式至關重要。跨越多個帳戶的應用程式，如同 AWS Control Tower 或登陸區域實作，會產生大量日誌和追蹤資料。若要快速疑難排解問題或了解使用者分析或商業分析，您需要所有帳戶的通用可觀測性平台。Amazon CloudWatch Observability Access Manager 可讓您從中央位置存取和控制多個帳戶日誌。

您可以使用可觀測性存取管理員來檢視和管理來源帳戶產生的可觀測性資料日誌。來源帳戶是為其資源 AWS 帳戶 產生可觀測性資料的個人。可觀測性資料會在來源帳戶和監控帳戶之間共用。共用的可觀測性資料可包含 Amazon CloudWatch 中的指標、Amazon CloudWatch Logs 中的日誌，以及 中的追蹤 AWS X-Ray。如需詳細資訊，請參閱 [Observability Access Manager 文件](https://docs.aws.amazon.com/OAM/latest/APIReference/Welcome.html)。

此模式適用於應用程式或基礎設施在多個 中執行， AWS 帳戶 且需要常見位置來檢視日誌的使用者。它說明如何使用 Terraform 設定可觀測性存取管理員，以監控這些應用程式或基礎設施的狀態和運作狀態。您可以透過多種方式安裝此解決方案：
+ 作為您手動設定的獨立 Terraform 模組
+ 透過使用持續整合和持續交付 (CI/CD) 管道
+ 透過與其他解決方案整合，例如 [AWS Control Tower Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html)

[Epics](#centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-epics) 區段中的指示涵蓋了手動實作。如需 AFT 安裝步驟，請參閱 GitHub [Observability Access Manager](https://github.com/aws-samples/cloudwatch-obervability-access-manager-terraform) 儲存庫的 README 檔案。

## 先決條件和限制
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-prereqs"></a>

**先決條件**
+ 系統或自動化管道中已安裝或參考[的 Terraform](https://www.terraform.io/)。（我們建議您使用[最新版本](https://releases.hashicorp.com/terraform/)。)
+ 您可以使用 做為中央監控帳戶的帳戶。其他帳戶會建立中央監控帳戶的連結，以檢視日誌。
+ （選用） 來源碼儲存庫，例如 GitHub AWS CodeCommit、Atlassian Bitbucket 或類似系統。如果您使用的是自動化 CI/CD 管道，則不需要原始程式碼儲存庫。
+ （選用） 在 GitHub 中建立提取請求 (PRs) 以進行程式碼檢閱和程式碼協同合作的許可。

**限制**

Observability Access Manager 具有下列服務配額，無法變更。部署此功能之前，請考慮這些配額。如需詳細資訊，請參閱 [CloudWatch 文件中的 CloudWatch 服務配額](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html)。 CloudWatch 
+ **來源帳戶連結**：您可以將每個來源帳戶連結至最多五個監控帳戶。
+ **接收器**：您可以為帳戶建立多個接收器，但每個 僅允許一個接收器 AWS 區域 。

此外：
+ 接收器和連結必須在相同的 中建立 AWS 區域；它們不能是跨區域。

**跨區域和跨帳戶監控**

對於跨區域、跨帳戶監控，您可以選擇下列其中一個選項：
+ 建立警示[和指標的跨帳戶和跨區域 CloudWatch 儀表板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)。此選項不支援日誌和追蹤。
+ 使用 Amazon OpenSearch Service 實作[集中式記錄](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)。
+ 從所有租戶帳戶為每個區域建立一個接收器，將指標推送至集中式監控帳戶 （如此模式所述），然後使用 [CloudWatch 指標串流](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Streams.html)將資料傳送至常見的外部目的地或第三方監控產品，例如 Datadog、Dynatrace、Sumo Logic、Splunk 或 New Relic。

## Architecture
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-architecture"></a>

**元件**

CloudWatch Observability Access Manager 包含兩個主要元件，可啟用跨帳戶可觀測性：
+ *接收器*可讓來源帳戶將可觀測性資料傳送至中央監控帳戶。目的地基本上提供閘道連接，供來源帳戶連線。只能有一個接收器閘道或連線，而且多個帳戶可以與其連線。
+ 每個來源帳戶都有目的地閘道連接*的連結*，而可觀測性資料會透過此連結傳送。您必須建立接收器，才能從每個來源帳戶建立連結。

**架構**

下圖說明 Observability Access Manager 及其元件。

![\[使用接收器和連結跨帳戶可觀測性的架構。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/00603763-4f99-456e-85e7-a80d803b087d/images/5188caf9-348b-4d91-b560-2b3d6ea81191.png)


## 工具
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-tools"></a>

**AWS 服務**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 可協助您 AWS 即時監控 AWS 資源的指標，以及您執行的應用程式。
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) 是一種帳戶管理服務，可協助您將多個 合併 AWS 帳戶 到您建立並集中管理的組織。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 透過控制已驗證並獲授權使用的人員，協助您安全地管理對 AWS 資源的存取。

**工具**
+ [Terraform](https://www.terraform.io/) 是 HashiCorp 的基礎設施即程式碼 (IaC) 工具，可協助您建立和管理雲端和內部部署資源。
+ [AWS Control Tower Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) 會設定 Terraform 管道，協助您在其中佈建和自訂帳戶 AWS Control Tower。您可以選擇性地使用 AFT，跨多個帳戶大規模設定可觀測性存取管理員。

**程式碼儲存庫**

此模式的程式碼可在 GitHub [Observability Access Manager](https://github.com/aws-samples/cloudwatch-obervability-access-manager-terraform) 儲存庫中使用。

## 最佳實務
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-best-practices"></a>
+ 在 AWS Control Tower 環境中，將記錄帳戶標記為中央監控帳戶 （接收器）。
+ 如果您在 中有多個組織擁有多個帳戶 AWS Organizations，建議您在組態政策中包含組織，而非個別帳戶。如果您有少量帳戶，或帳戶不在目的地組態政策中，您可以決定改為包含個別帳戶。

## 史詩
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-epics"></a>

### 設定接收器模組
<a name="set-up-the-sink-module"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 複製儲存庫。 | 複製 GitHub 可觀測性存取管理員儲存庫：<pre>git clone https://github.com/aws-samples/cloudwatch-obervability-access-manager-terraform</pre> | AWS DevOps、雲端管理員、AWS 管理員 | 
| 指定目的地模組的屬性值。 | 在 `main.tf` 檔案中 （在儲存庫的`deployments/aft-account-customizations/LOGGING/terraform/`** **資料夾中），指定下列屬性的值：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)如需詳細資訊，請參閱 CloudFormation 文件中的 [AWS::Oam::Sink](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)。 | AWS DevOps、雲端管理員、AWS 管理員 | 
| 安裝接收器模組。 | 匯出 AWS 帳戶 您選取做為監控帳戶的 登入資料，並安裝可觀測性 Access Manager 接收器模組：<pre>Terraform Init<br />Terrafom Plan<br />Terraform Apply</pre> | AWS DevOps、雲端管理員、AWS 管理員 | 

### 設定連結模組
<a name="set-up-the-link-module"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 指定連結模組的屬性值。 | 在 `main.tf `檔案中 （在儲存庫的`deployments/aft-account-customizations/LOGGING/terraform/`** **資料夾中），指定下列屬性的值：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)如需詳細資訊，請參閱 CloudFormation 文件中的 [AWS::Oam::Link](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)。 | AWS DevOps、雲端管理員、雲端架構師 | 
| 安裝個別帳戶的連結模組。 | 匯出個別帳戶的登入資料，並安裝 Observability Access Manager 連結模組：<pre>Terraform Plan<br />Terraform Apply</pre>您可以為每個帳戶個別設定連結模組，或使用 [AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) 在大量帳戶中自動安裝此模組。 | AWS DevOps、雲端管理員、雲端架構師 | 

### 核准sink-to-link連線
<a name="approve-sink-to-link-connections"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 檢查狀態訊息。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)在右側，您應該會看到狀態訊息 **監控帳戶已啟用**綠色核取記號。這表示監控帳戶具有可觀測性 Access Manager 接收器，而其他帳戶的連結將連接到該接收器。 |  | 
| 核准link-to-sink連線。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)如需詳細資訊，請參閱 CloudWatch 文件中的將[監控帳戶與來源帳戶連結](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account-Setup.html)。 | AWS DevOps、雲端管理員、雲端架構師 | 

### 驗證跨帳戶可觀測性資料
<a name="verify-cross-account-observability-data"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 檢視跨帳戶資料。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html) | AWS DevOps、雲端管理員、雲端架構師 | 

### （選用） 啟用來源帳戶以信任監控帳戶
<a name="optional-enable-source-accounts-to-trust-monitoring-account"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 檢視來自其他帳戶的指標、儀表板、日誌、小工具和警示。 | 作為其他功能，** **您可以與其他帳戶共用 CloudWatch 指標、儀表板、日誌、小工具和警示。每個帳戶使用稱為 **CloudWatch-CrossAccountSharingRole **的 IAM 角色來存取此資料。與中央監控帳戶具有信任關係的來源帳戶可以擔任此角色，並檢視來自監控帳戶的資料。CloudWatch 提供範例 CloudFormation 指令碼來建立角色。選擇在 **IAM 中管理角色 **d 會在您要檢視資料的帳戶中執行此指令碼。<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Principal": {<br />                "AWS": [<br />                    "arn:aws:iam::XXXXXXXXX:root",<br />                    "arn:aws:iam::XXXXXXXXX:root",<br />                    "arn:aws:iam::XXXXXXXXX:root",<br />                    "arn:aws:iam::XXXXXXXXX:root"<br />                ]<br />            },<br />            "Action": "sts:AssumeRole"<br />        }<br />    ]<br />}</pre>如需詳細資訊，請參閱 [ CloudWatch 文件中的在 CloudWatch 中啟用跨帳戶功能](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html#enable-cross-account-cross-Region)。 CloudWatch  | AWS DevOps、雲端管理員、雲端架構師 | 

### （選用） 從監控帳戶檢視跨帳戶跨區域
<a name="optional-view-cross-account-cross-region-from-the-monitoring-account"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 設定跨帳戶、跨區域存取。 | 在中央監控帳戶中，您可以選擇新增帳戶選擇器，以便在帳戶之間輕鬆切換並檢視其資料，而無需進行身分驗證。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html)如需詳細資訊，請參閱 [ CloudWatch 文件中的跨帳戶跨區域 CloudWatch 主控台](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)。 CloudWatch  | AWS DevOps、雲端管理員、雲端架構師 | 

## 相關資源
<a name="centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager-resources"></a>
+ [CloudWatch 跨帳戶可觀測性 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)(Amazon CloudWatch 文件）
+ [Amazon CloudWatch Observability Access Manager API 參考](https://docs.aws.amazon.com/OAM/latest/APIReference/Welcome.html) (Amazon CloudWatch 文件）
+ [資源：aws\$1oam\$1sink ](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/oam_sink)(Terraform 文件）
+ [資料來源：aws\$1oam\$1link ](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/oam_link)(Terraform 文件）
+ [CloudWatchObservabilityAccessManager](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/oam.html) (AWS Boto3 文件）