

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 여러 계정에서 구성을 검색하도록 AWS AppConfig 에이전트 구성
<a name="appconfig-agent-how-to-use-additional-features-multi-account"></a>

 AWS AppConfig 에이전트 매니페스트에 자격 증명 재정의를 입력하여 여러 AWS 계정 에서 구성을 검색하도록 AWS AppConfig 에이전트를 구성할 수 있습니다. *자격 증명 재정*의에는 AWS Identity and Access Management (IAM) 역할의 Amazon 리소스 이름(ARN), 역할 ID, 세션 이름 및 에이전트가 역할을 수임할 수 있는 기간이 포함됩니다.

매니페스트의 ‘credentials’ 섹션에 이러한 세부 정보를 입력합니다. ‘credentials’ 섹션에서는 다음 형식을 사용합니다.

```
{
    "application_name:environment_name:configuration_name": {
        "credentials": {
            "roleArn": "arn:partition:iam::account_ID:role/roleName",
            "roleExternalId": "string",
            "roleSessionName": "string",
            "credentialsDuration": "time_in_hours" 
        }
    }
}
```

다음 예를 참고하세요

```
{
    "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": {
        "credentials": {
            "roleArn": "arn:aws:us-west-1:iam::123456789012:role/MyTestRole",
            "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac",
            "roleSessionName": "AWSAppConfigAgent",
            "credentialsDuration": "2h" 
        }
    }
}
```

구성을 검색하기 전에 에이전트는 매니페스트에서 구성에 대한 자격 증명 세부 정보를 읽은 다음 해당 구성에 지정된 IAM 역할을 수임합니다. 단일 매니페스트에서 구성마다 서로 다른 자격 증명 재정의 집합을 지정할 수 있습니다. 다음 다이어그램은 AWS AppConfig 에이전트가 계정 A(검색 계정)에서 실행되는 동안 계정 B와 C(공급자 계정)에 지정된 별도의 역할을 수임한 다음 [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) API 작업을 호출하여 해당 계정에서 실행 중인 구성 데이터를 검색하는 AWS AppConfig 방법을 보여줍니다.

![\[AWS AppConfig 에이전트가 별도의에서 IAM 역할을 사용하는 방법 AWS 계정.\]](http://docs.aws.amazon.com/ko_kr/appconfig/latest/userguide/images/agent multi-account.png)


## 공급업체 계정에서 구성 데이터를 검색하는 권한 구성
<a name="appconfig-agent-how-to-use-additional-features-multi-account-permission"></a>

AWS AppConfig 검색 계정에서 실행되는 에이전트는 공급업체 계정에서 구성 데이터를 검색할 수 있는 권한이 필요합니다. 각 공급업체 계정에서 AWS Identity and Access Management (IAM) 역할을 생성하여 에이전트 권한을 부여합니다. 검색 계정의 AWS AppConfig 에이전트는 공급업체 계정에서 데이터를 가져오기 위해이 역할을 수임합니다. 이 단원의 절차에 따라 IAM 권한 정책, IAM 역할을 생성하고 매니페스트에 에이전트 재정의를 추가할 수 있습니다.

**시작하기 전 준비 사항**  
IAM에서 권한 정책과 역할을 생성하기 전에 다음 정보를 수집합니다.
+ 각의 IDs AWS 계정. *검색* 계정은 구성 데이터를 위해 다른 계정을 직접적으로 호출하는 계정입니다. *공급업체* 계정은 구성 데이터를 검색 계정에 제공하는 계정입니다.
+ 검색 계정 AWS AppConfig 에서가 사용하는 IAM 역할의 이름입니다. 다음은 AWS AppConfig기본적으로에서 사용하는 역할 목록입니다.
  + Amazon Elastic Compute Cloud(Amazon EC2)의 경우 인스턴스 역할을 AWS AppConfig 사용합니다.
  + 의 경우 Lambda 실행 역할을 AWS Lambda AWS AppConfig 사용합니다.
  + Amazon Elastic Container Service(Amazon ECS) 및 Amazon Elastic Kubernetes Service(Amazon EKS)의 경우는 컨테이너 역할을 AWS AppConfig 사용합니다.

  `ROLE_ARN` 환경 변수를 지정하여 다른 IAM 역할을 사용하도록 AWS AppConfig 에이전트를 구성한 경우 해당 이름을 기록해 둡니다.

**권한 정책 생성**  
다음 절차에 따라 IAM 콘솔을 사용하여 권한 정책을 생성할 수 있습니다. 검색 계정에 대한 구성 데이터를 벤딩 AWS 계정 할 각의 절차를 완료합니다.

**IAM 정책을 만들려면**

1. 공급업체 계정의 AWS Management Console 에 로그인합니다.

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

1. 탐색 창에서 **정책**을 선택한 후 **정책 생성**을 선택합니다.

1. **JSON** 옵션을 선택합니다.

1. **정책 편집기**에서 기본 JSON을 다음 정책 설명으로 바꿉니다. 각 *예제 리소스 자리 표시자*를 공급업체 계정 세부 정보로 업데이트합니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "appconfig:StartConfigurationSession",
                   "appconfig:GetLatestConfiguration"
               ],
               "Resource": "arn:aws:appconfig:us-east-1:111122223333:application/vendor_application_ID/environment/vendor_environment_ID/configuration/vendor_configuration_ID"
           }
       ]
   }
   ```

------

   다음은 그 예입니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Action": [
               "appconfig:StartConfigurationSession",
               "appconfig:GetLatestConfiguration"
           ],
           "Resource": "arn:aws:appconfig:us-east-2:111122223333:application/abc123/environment/def456/configuration/hij789"
       }
      ]
   }
   ```

------

1. **다음**을 선택합니다.

1. **정책 이름** 필드에 이름을 입력합니다.

1. (선택 사항) **태그 추가**에서 태그-키 값 페어를 하나 이상 추가하여 이 정책에 대한 액세스를 구성, 추적 또는 제어합니다.

1. **정책 생성**을 선택합니다. 시스템에서 **정책** 페이지로 돌아갑니다.

1. 검색 계정에 대한 구성 데이터를 벤딩 AWS 계정 할 각에서이 절차를 반복합니다.

**IAM 역할 생성**  
다음 절차에 따라 IAM 콘솔을 사용하여 IAM 역할을 생성할 수 있습니다. 검색 계정에 대한 구성 데이터를 벤딩 AWS 계정 할 각의 절차를 완료합니다.

**IAM 역할을 생성하려면**

1. 공급업체 계정의 AWS Management Console 에 로그인합니다.

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 유형**에서 **AWS 계정**를 선택합니다.

1. **AWS 계정** 섹션에서 **다른 AWS 계정**을 선택합니다.

1. **계정 ID** 필드에 검색 계정 ID를 입력합니다.

1. (선택 사항) 이 수임 역할에 대한 보안 모범 사례로 **외부 ID 필요**를 선택하고 문자열을 입력합니다.

1. **다음**을 선택합니다.

1. **권한 추가** 페이지의 **검색** 필드를 사용하여 이전 절차에서 생성한 정책을 찾습니다. 이름 옆의 확인란을 선택합니다.

1. **다음**을 선택합니다.

1. **역할 이름**에 이름을 입력합니다.

1. (선택 사항) **설명**에 설명을 입력합니다.

1. **1단계: 신뢰할 수 있는 엔터티 선택**에서 **편집**을 선택합니다. 기본 JSON 신뢰 정책을 다음 정책으로 바꿉니다. 각 *예제 리소스 자리 표시자*를 검색 계정의 정보로 업데이트합니다.

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

****  

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

------

1. (선택 사항) **Tags**(태그)에서 이 역할에 대한 액세스를 구성, 추적 또는 제어할 태그-키 값 페어를 하나 이상 추가합니다.

1. **역할 생성**을 선택합니다. 그러면 **역할** 페이지로 돌아갑니다.

1. 방금 생성한 역할을 검색합니다. 이 값을 선택합니다. **ARN** 섹션에서 ARN을 복사합니다. 이 정보는 다음 절차에서 지정하게 됩니다.

**매니페스트에 자격 증명 재정의 추가**  
공급업체 계정에서 IAM 역할을 생성한 후에는 검색 계정에서 매니페스트를 업데이트합니다. 특히 공급업체 계정에서 구성 데이터를 검색할 수 있도록 자격 증명 블록과 IAM 역할 ARN을 추가합니다. JSON 형식은 다음과 같습니다.

```
{
    "vendor_application_name:vendor_environment_name:vendor_configuration_name": {
        "credentials": {
            "roleArn": "arn:partition:iam::vendor_account_ID:role/name_of_role_created_in_vendor_account",
            "roleExternalId": "string",
            "roleSessionName": "string",
            "credentialsDuration": "time_in_hours" 
        }
    }
}
```

다음 예를 참고하세요

```
{
    "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": {
        "credentials": {
            "roleArn": "arn:aws:us-west-1:iam::123456789012:role/MyTestRole",
            "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac",
            "roleSessionName": "AwsAppConfigAgent",
            "credentialsDuration": "2h" 
        }
    }
}
```

**다중 계정 검색이 작동하는지 확인**  
에이전트 로그를 검토하여 AWS AppConfig 에이전트가 여러 계정에서 구성 데이터를 검색할 수 있는지 확인할 수 있습니다. '`YourApplicationName`:`YourEnvironmentName`:`YourConfigurationName`'에 대해 검색된 초기 데이터의 `INFO` 수준 로그는 성공적인 검색에 가장 적합한 지표입니다. 검색에 실패하면 실패 이유를 나타내는 `ERROR` 수준 로그가 표시됩니다. 다음은 공급업체 계정에서 성공적으로 검색한 예입니다.

```
[appconfig agent] 2023/11/13 11:33:27 INFO AppConfig Agent 2.0.x
[appconfig agent] 2023/11/13 11:33:28 INFO serving on localhost:2772
[appconfig agent] 2023/11/13 11:33:28 INFO retrieved initial data for 'MyTestApplication:MyTestEnvironment:MyDenyListConfiguration' in XX.Xms
```