

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

# 跨帳戶跨區域 CloudWatch 主控台
<a name="Cross-Account-Cross-Region"></a>

**注意**  
我們建議您使用 CloudWatch 跨帳戶可觀測性功能，以在區域內為您的指標、日誌和追蹤提供最豐富的跨帳戶可觀測性與偵測體驗。如需詳細資訊，請參閱[CloudWatch 跨帳戶觀察功能](CloudWatch-Unified-Cross-Account.md)。

透過跨帳戶跨區域 CloudWatch 主控台，您可以使用主控台中的選取器，檢視其他帳戶和區域中的儀表板、警示和指標，輕鬆在不同帳戶和區域之間切換。此功能也可讓您建立跨帳戶、跨區域儀表板，將多個 AWS 帳戶和多個區域的 CloudWatch 指標摘要為單一儀表板，使其可存取，而無需切換帳戶或區域。

許多組織在多個帳戶中部署 AWS 了資源，以提供帳單和安全性界限。在此情況下，我們建議您將一或多個帳戶指定為*監控帳戶*，並在這些帳戶中建立跨帳戶跨區域儀表板。跨帳戶跨區域主控台功能已與 整合 AWS Organizations，可協助您有效率地建置跨帳戶跨區域儀表板。

跨帳戶跨區域 CloudWatch 主控台體驗不提供日誌的跨帳戶跨區域可見性。此外，監控帳戶無法在其內部建立針對其他帳戶或區域中指標的警示。

**Topics**
+ [在 CloudWatch 中啟用跨帳戶跨區域功能](#enable-cross-account-cross-Region)
+ [（選用） 與 整合 AWS Organizations](#cross-account-and-AWS-organizations)
+ [對您的 CloudWatch 跨帳戶設定進行故障診斷](#troubleshooting-cross-account-cross-Region)
+ [監控跨帳戶存取的帳戶許可](#cross-account-cross-region-limitations)
+ [使用跨帳戶後停用和清除](#cleanup-cross-account-cross-Region)

## 在 CloudWatch 中啟用跨帳戶跨區域功能
<a name="enable-cross-account-cross-Region"></a>

若要在 CloudWatch 主控台中設定跨帳戶跨區域功能，請使用 CloudWatch 主控台來設定共用帳戶和監控帳戶。

**設定共用帳戶**

您必須在每個帳戶中啟用共用，讓資料可供監控帳戶使用。

這會將您在步驟 5 中選擇的唯讀許可授予所有在您共用的帳戶中檢視跨帳戶儀表板的使用者，如果使用者在您共用的帳戶中擁有對應的許可。

**若要讓您的帳戶能夠與其他帳戶共用 CloudWatch 資料**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 ** Settings** (設定)。

1. 在 **Share your CloudWatch data** (共用您的 CloudWatch 資料) 中，選擇 **Configure** (設定)。

1. 在 **Sharing (共用)** 中，選擇 **Specific accounts (特定帳戶)**，然後輸入您要共用資料之帳戶 ID。

   您在此指定的任何帳戶都可以檢視您帳戶的 CloudWatch 資料。僅指定您知道且信任的帳戶 ID。

1. 在 **Permissions (權限)**，請指定如何使用下列其中一個選項以共用您的資料：
   + **對您的 CloudWatch 指標、儀表板和警示提供唯讀存取權**。此選項可讓監控帳戶建立包含您帳戶 CloudWatch 資料的小工具之跨帳戶儀表板。
   + **包含 CloudWatch 自動儀表板**。如果您選取此選項，監控帳戶中的使用者也可以檢視此帳戶自動儀表板中的資訊。如需詳細資訊，請參閱[開始使用 CloudWatch 自動儀表板](GettingStarted.md)。
   + **包含 X-Ray 追蹤地圖的 X-Ray 唯讀存取權**。如果您選取此選項，監控帳戶中的使用者也可以檢視此帳戶中的 X-Ray 追蹤地圖和 X-Ray 追蹤資訊。如需詳細資訊，請參閱[使用 X-Ray 追蹤地圖](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-servicemap.html)。
   + **包含 Database Insights 的唯讀存取權**。如果您選取此選項，監控帳戶中的使用者也可以在此帳戶中檢視 Database Insights 遙測。如需詳細資訊，請參閱[設定 CloudWatch Database Insights 的跨帳戶跨區域監控](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Database-Insights-Cross-Account-Cross-Region.html)。
   + **完整唯讀存取您帳戶中的所有內容**。此選項可讓您用來共用的帳戶，建立其中包含帳戶 CloudWatch 資料小工具的跨帳戶儀表板。它也可以讓這些帳戶更深入地查看您的帳戶，並在其他 AWS 服務的主控台中檢視您帳戶的資料。

1. 選擇 **Launch CloudFormation template (啟動 CloudFormation 範本)**。

   在確認畫面中輸入 **Confirm**，並選擇 **Launch template (啟動範本)**。

1. 選取 **I acknowledge... (我知道...)** 核取方塊，然後選擇 **Create stack (建立堆疊)**。

**與整個組織共用**

完成前述程序會建立一個 IAM 角色，讓您的帳戶能夠與一個帳戶共用資料。您可以建立或編輯與組織中所有帳戶共用資料的 IAM 角色。請在您知道並信任組織中的所有帳戶時，才執行這項操作。

這會將先前程序的步驟 5 中所示政策中列出的唯讀許可授予所有在您共用的帳戶中檢視跨帳戶儀表板的使用者，如果使用者在您共用的帳戶中擁有對應的許可。

**若要與組織中的所有帳戶共用您的 CloudWatch 帳戶資料**

1. 如果您還沒有，請完成上述程序，以與一個 AWS 帳戶共用您的資料。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在導覽窗格中，選擇**角色**。

1. 在角色清單中，選擇 **CloudWatch-CrossAccountSharingRole**。

1. 選擇 **Trust relationships (信任關係)**、**Edit trust relationship (編輯信任關係)**。

   您會看到以下政策：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::123456789012:root"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 將該政策變更為下列內容，以您組織的 ID 取代 *org-id*。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "*"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:PrincipalOrgID": "org-id"
           }
         }
   
       }
     ]
   }
   ```

------

1. 選擇 **Update Trust Policy** (更新信任政策)。

**設定監控帳戶**

如果您要檢視跨帳戶 CloudWatch 資料，請啟用每個監控帳戶。

當您完成下列程序時，CloudWatch 會建立 CloudWatch 用於監控帳戶從其他帳戶存取共用資料的服務連結角色。此服務連結角色稱為 **AWSServiceRoleForCloudWatchCrossAccount**。如需詳細資訊，請參閱[對 CloudWatch 使用服務連結角色](using-service-linked-roles.md)。

**若要讓您的帳戶能檢視跨帳戶 CloudWatch 資料**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Settings** (設定)，然後在 **Cross-account cross-region** (跨帳戶跨區域) 區段中，選擇 **Configure** (設定)。

1. 在 **View cross-account cross-region** (檢視跨帳戶跨區域) 區段下方，選擇 **Enable** (啟用)，然後勾選 **Show selector in the console** (在主控台中顯示選擇器) 核取方塊，讓帳户選擇器在您繪製指標圖表或建立警示時能在 CloudWatch 主控台中顯示。

1. 在 **View cross-account cross-region (檢視跨帳戶跨區域)** 下，選擇下列其中一個選項：
   + **Account Id Input (帳戶 ID 輸入)**。此選項會在您每次檢視跨帳戶資料，並想切換帳戶時，提示您手動輸入帳戶 ID。
   + **AWS 組織帳戶選擇器**。此選項會導致帳戶出現 (此帳戶是當您完成跨帳戶與 Organizations 的整合時所指定的帳戶)。當您下次使用主控台時，CloudWatch 會顯示這些帳戶的下拉式清單，供您在檢視跨帳戶資料時選取。

     若要執行此操作，您必須先使用組織管理帳戶來允許 CloudWatch 查看組織中的帳戶清單。如需詳細資訊，請參閱[（選用） 與 整合 AWS Organizations](#cross-account-and-AWS-organizations)。
   + **Custom account selector (自訂帳戶選擇器)**。此選項會提示您輸入帳戶 ID 清單。當您下次使用主控台時，CloudWatch 會顯示這些帳戶的下拉式清單，供您在檢視跨帳戶資料時選取。

     您也可以為這些帳戶個別輸入標籤，以協助您在選擇要檢視的帳戶時識別這些帳戶。

     使用者在此處進行的帳戶選擇器設定只會保留供該使用者使用，不適用於監控帳戶中的所有其他使用者。

1. 選擇**啟用**。

完成此設定之後，您可以建立跨帳戶儀表板。如需詳細資訊，請參閱[建立自訂 CloudWatch 儀表板](create_dashboard.md)。

**跨區域功能** 

跨區域功能會自動內建至此功能。您不需要執行任何額外的步驟，就能在同一個圖形或同一個儀表板上顯示單一帳戶中來自不同區域的指標。警示不支援跨區域功能，因此您無法在一個觀察不同區域指標的區域中建立警示。

## （選用） 與 整合 AWS Organizations
<a name="cross-account-and-AWS-organizations"></a>

如果您想要將跨帳戶功能與 整合 AWS Organizations，您必須將組織中所有帳戶的清單提供給監控帳戶。

**若要讓跨帳戶 CloudWatch 功能存取組織中所有帳戶的清單，請執行下列步驟**

1. 登入您組織的管理帳戶。

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Settings (設定)**，然後選擇 **Configure (配置)**。

1. 在 **Grant permission to view the list of accounts in the organization (授與檢視組織中帳戶清單權限)** 中，請選擇要提示輸入帳戶 ID 清單的 **Specific accounts (特定帳戶)**。組織中的帳戶清單只會與您在此處指定的帳戶共用。

1. 選擇 **Share organization account list (共用組織帳戶清單)**。

1. 選擇 **Launch CloudFormation template (啟動 CloudFormation 範本)**。

   在確認畫面中輸入 **Confirm**，並選擇 **Launch template (啟動範本)**。

## 對您的 CloudWatch 跨帳戶設定進行故障診斷
<a name="troubleshooting-cross-account-cross-Region"></a>

本節包含針對 CloudWatch 中的跨帳戶主控台部署的故障診斷秘訣。

**我收到顯示跨帳戶資料的存取被拒錯誤**  
請檢查以下內容：  
+ 您的監控帳戶應該有一個名為 **AWSServiceRoleForCloudWatchCrossAccount** 的角色。如果沒有，則需要建立該角色。如需詳細資訊，請參閱[Set Up a Monitoring Account](#setup_monitoring_account)。
+ 每個共用帳戶都應具有名為 **CloudWatch-CrossAccountSharingRole** 的角色。如果沒有，則需要建立該角色。如需詳細資訊，請參閱[Set Up A Sharing Account](#setup_sharing_account)。
+ 該共用角色必須信任監控帳戶。

**若要確認您的角色已針對 CloudWatch 跨帳戶主控台正確設定**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在導覽窗格中，選擇**角色**。

1. 在角色清單中，確定所需的角色存在。在共用帳戶中，尋找 **CloudWatch-CrossAccountSharingRole**。在監控帳戶中，尋找 **AWSServiceRoleForCloudWatchCrossAccount**。

1. 如果您在共用帳戶中，且 **CloudWatch-CrossAccountSharingRole** 已經存在，請選擇 **CloudWatch-CrossAccountSharingRole**。

1. 選擇 **Trust relationships (信任關係)**、**Edit trust relationship (編輯信任關係)**。

1. 確認政策會列出監控帳戶的帳戶 ID，或包含監控帳戶之組織的組織 ID。

**我在主控台中看不到帳戶的下拉式清單**  
首先，請檢查您是否已建立正確的 IAM 角色，如前述故障診斷一節中所述。如果設定正確，請確定您已啟用此帳戶以檢視跨帳戶資料，如 [Enable Your Account to View Cross-Account Data](#view_cross_account) 中所述。

## 監控跨帳戶存取的帳戶許可
<a name="cross-account-cross-region-limitations"></a>

若要成功存取來源帳戶中的動作，監控帳戶中的使用者必須具有監控帳戶中該動作之所有資源 (\$1) 的同等許可。這是監控帳戶中的本機許可要求，與來源帳戶中跨帳戶共用角色的許可無關。

### 範例
<a name="policy-configuration-examples"></a>

若要在來源帳戶中啟動 Logs 查詢，您必須擁有監控帳戶中 StartQuery 的萬用字元 (\$1) 存取權。來源帳戶的跨帳戶角色仍然可以限制對特定日誌群組的存取。

**支援的 - 萬用字元資源：**

```
{
  "Effect": "Allow",
  "Action": "logs:StartQuery",
  "Resource": "*"
}
```

**不支援 - 特定 ARN：**

```
{
  "Effect": "Allow",
  "Action": "logs:StartQuery",
  "Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/my-function:*"
}
```

## 使用跨帳戶後停用和清除
<a name="cleanup-cross-account-cross-Region"></a>

若要停用 CloudWatch 的跨帳戶功能，請遵循這些步驟。

**步驟 1：移除跨帳戶堆疊或角色**

最佳方法是移除用於啟用跨帳戶功能的 CloudFormation 堆疊。
+ 在每個共用帳戶中，移除 **CloudWatch-CrossAccountSharingRole** 堆疊。
+ 如果您使用 AWS Organizations 來啟用組織中所有帳戶的跨帳戶功能，請移除組織管理帳戶中的 **CloudWatch-CrossAccountListAccountsRole ** 堆疊。

如果您未使用 CloudFormation 堆疊來啟用跨帳戶功能，請執行下列動作：
+ 在每個共用帳戶中，刪除 **CloudWatch-CrossAccountSharingRole** IAM 角色。
+ 如果您使用 AWS Organizations 來啟用組織中所有帳戶的跨帳戶功能，請刪除組織管理帳戶中的 **CloudWatch-CrossAccountSharing-ListAccountsRole** IAM 角色。

**步驟 2：移除服務連結角色**

在監控帳戶中，刪除 **AWSServiceRoleForCloudWatchCrossAccount** 服務連結 IAM 角色。