

# 교차 계정 조사
<a name="Investigations-cross-account"></a>

 교차 계정 CloudWatch 조사를 사용하면 중앙 집중식 모니터링 계정의 여러 AWS 계정에 걸쳐 있는 애플리케이션 문제를 조사할 수 있습니다. 이 기능을 사용하면 모니터링 계정 외에도 최대 25개의 계정에서 원격 측정 데이터, 지표, 로그를 상호 연관시켜 분산 애플리케이션에 대한 포괄적인 가시성을 확보하고 복잡한 다중 계정 시나리오 문제를 해결할 수 있습니다.

**Topics**
+ [사전 조건](#Investigations-cross-account-prereq)
+ [교차 계정 액세스를 위한 모니터링 계정 설정](#Investigations-cross-account-monitoring-account)
+ [교차 계정 액세스를 위한 소스 계정 설정](#Investigations-cross-account-source-account)
+ [다중 계정 문제 조사](#Investigations-cross-account-investigation)

## 사전 조건
<a name="Investigations-cross-account-prereq"></a>
+ 다중 계정 조사를 수행하려면 교차 계정 원격 측정을 보기 위해 교차 계정 관찰성이 이미 설정되어 있어야 합니다. 사전 요구 사항을 완료하려면 [교차 계정 관찰성](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.html) 또는 [교차 계정 대시보드](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html)를 설정합니다.
+ 조사 그룹을 설정합니다. 교차 계정 관찰성을 위해 조사 그룹이 모니터링 계정에 있어야 합니다. 조사 그룹을 소스 계정에서 설정하고 여기에서 단일 계정 조사를 실행할 수도 있습니다.

## 교차 계정 액세스를 위한 모니터링 계정 설정
<a name="Investigations-cross-account-monitoring-account"></a>

**교차 계정 액세스를 위한 모니터링 계정 설정**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **AI Operations**, **구성**을 선택합니다.

1. **교차 계정 액세스 구성**에서 **구성**을 선택합니다.

1. **소스 계정 나열** 섹션에서 최대 25개 계정의 계정 ID를 추가합니다.

1. IAM 역할을 업데이트합니다.

   1. 자동으로
      + **어시스턴트 역할 자동 업데이트(권장)**를 선택하면 지정된 소스 계정에서 어시스턴트 역할을 수임하는 데 필요한 `sts:AssumeRole` 문이 포함된 `AIOpsAssistantCrossAccountPolicy-${guid}`라는 고객 관리형 정책이 생성됩니다. 자동 업데이트 옵션을 선택하면 소스 계정에서 IAM 역할 이름이 기본적으로 `AIOps-CrossAccountInvestigationRole`로 설정됩니다.

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

****  

        ```
        {
            "Version":"2012-10-17",		 	 	 
            "Statement": {
                "Effect": "Allow",
                "Action": "sts:AssumeRole",
                "Resource": [
                    "arn:aws:iam::777777777777:role/AIOps-CrossAccountInvestigationRole",
                    "arn:aws:iam::555555555555:role/AIOps-CrossAccountInvestigationRole",
                    "arn:aws:iam::666666666666:role/AIOps-CrossAccountInvestigationRole"
                ]
            }
        }
        ```

------
      + 모니터링 계정 소유자가 교차 계정 구성에서 소스 계정을 제거하면 IAM 정책이 자동으로 업데이트되지 않습니다. 항상 가능한 한 최소 권한을 부여하도록 IAM 역할 및 정책을 수동으로 업데이트해야 합니다.
      + 소스 계정을 제거할 때 권한을 수동으로 업데이트하지 않으면 역할당 관리형 정책 한도에 도달할 수 있습니다. 조사 역할에 연결된 미사용 관리형 정책을 모두 삭제해야 합니다.

   1. 직접
      + 다음 예제에서는 어시스턴트 역할에 필요한 신뢰 정책을 보여줍니다.

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

****  

        ```
        {
            "Version":"2012-10-17",		 	 	 
            "Statement": [
                {
                    "Sid": "AllowAIOpsAssumeRole",
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "aiops.amazonaws.com"
                    },
                    "Action": "sts:AssumeRole",
                    "Condition": {
                        "StringEquals": {
                            "sts:ExternalId": "arn:aws:aiops:{{us-east-1}}:{{123456789012}}:investigation-group/AaBbcCDde1EfFG2g{{}}"
                        }
                    }
                }
            ]
        }
        ```

------

        AWS CLI를 사용하여 사용자 지정 소스 계정 역할을 생성하고 다음 명령으로 `AIOpsAssistantPolicy`를 역할에 연결할 수 있습니다. 이때 자리 표시자 값은 환경에 적합한 값으로 바꿉니다.

        ```
        aws iam create-role
         --role-name {{custom-role-name}}
         --assume-role-policy-document 
            '{ 
               "Version": "2012-10-17",		 	 	  
               "Statement": [ 
                         { 
                              "Effect": "Allow",
                              "Principal": { "AWS": "{{investigation-group-role-arn}}"
                                  }, 
                              "Action": "sts:AssumeRole", 
                              "Condition": {
                                         "StringEquals": { 
                                                  "sts:ExternalId": "{{investigation-group-arn}}"
                                                    } } } ] }' 
        
        aws iam attach-role-policy 
         --role-name {{custom-role-name}}
         --policy-arn arn:aws:iam::aws:policy/AIOpsAssistantPolicy
        ```
      + 교차 계정 액세스 권한을 부여하려면 모니터링 계정에 있는 어시스턴트 역할의 권한 정책에 다음이 포함되어야 합니다. 모니터링 계정을 수동으로 구성하는 경우 역할 이름을 임의로 선택할 수 있습니다. 기본값은 `AIOps-CrossAccountInvestigationRole`이 아니므로 각 소스 계정에 대한 어시스턴트 역할의 이름을 지정해야 합니다.

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

****  

        ```
        {
            "Version":"2012-10-17",		 	 	 
            "Statement": {
                "Effect": "Allow",
                "Action": "sts:AssumeRole",
                "Resource": [
                    "arn:aws:iam::{{777777777777}}:role/{{custom_source_account_role_name}}",
                    "arn:aws:iam::{{555555555555}}:role/{{custom_source_account_role_name}}",
                    "arn:aws:iam::{{666666666666}}:role/{{custom_source_account_role_name}}"
                ]
            }
        }
        ```

------
      + AWS CLI를 사용하여 다음 명령으로 모니터링 계정 조사 그룹을 사용자 지정 소스 계정 역할 ARN으로 업데이트합니다. 이때 자리 표시자 값을 환경에 적합한 값으로 바꿉니다.

        ```
        aws aiops update-investigation-group 
         --identifier {{investigation-group-id}}
         --cross-account-configurations sourceRoleArn={{sourceRoleArn1}}  sourceRoleArn={{sourceRoleArn2}}
        ```

        이 명령에 대한 자세한 내용은 [AWS CLI 명령 참조](https://docs.aws.amazon.com/cli/latest/reference/aiops/update-investigation-group.html)를 참조하세요.

## 교차 계정 액세스를 위한 소스 계정 설정
<a name="Investigations-cross-account-source-account"></a>

1. **어시스턴트 역할 자동 업데이트** 옵션을 선택하여 모니터링 계정을 설정한 경우 `AIOps-CrossAccountInvestigationRole` 이름으로 IAM 역할을 프로비저닝합니다. 수동 설정 옵션을 사용한 경우 사용자 지정 소스 계정 역할 이름으로 IAM 역할을 프로비저닝합니다.

   1. IAM 콘솔에서 AWS 관리형 정책 `AIOpsAssistantPolicy`를 IAM 역할에 연결합니다.

   1. 소스 계정에 있는 역할의 신뢰 정책은 다음과 같습니다. `ExternalID`는 정책에 지정되어야 합니다. 모니터링 계정 조사 그룹 ARN을 사용하세요.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::123456789012:role/investigation-role-name"
                  },
                  "Action": "sts:AssumeRole",
                  "Condition": {
                      "StringEquals": {
                          "sts:ExternalId": "investigation-group-arn"
                      }
                  }
              }
          ]
      }
      ```

------

1. 이 작업은 각 소스 계정에서 수행해야 합니다.

1. 콘솔을 통해 모니터링 계정 역할을 설정하는 경우 소스 계정의 역할 이름은 기본적으로 `AIOps-CrossAccountInvestionRole`로 설정됩니다.

1. 모니터링 계정에 로그인하고 **조사 그룹**으로 이동한 다음 **구성**, **교차 계정 설정**을 차례로 선택하여 액세스 권한을 확인합니다.

   교차 계정 구성에 소스 계정이 표시되고 상태가 **모니터링 계정에 연결됨**인지 확인합니다.

## 다중 계정 문제 조사
<a name="Investigations-cross-account-investigation"></a>

CloudWatch 교차 계정 관찰성 대시보드를 설정한 후 모니터링 계정의 교차 계정 원격 분석에서 보고 조사할 수 있습니다. 소스 계정에 대한 조사를 실행하려면 해당 소스 계정에서 교차 계정 원격 측정을 추가해야 합니다.

조사를 생성하는 방법에 대한 자세한 내용은 [환경의 운영 문제 조사](Investigations-Investigate.md) 섹션을 참조하세요.