

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

# AWS AppConfig 에이전트 없이 구성 데이터 검색
<a name="about-data-plane"></a>

에서 구성 데이터를 검색하는 권장 방법은 Amazon에서 개발 및 관리하는 AWS AppConfig 에이전트를 사용하는 AWS AppConfig 것입니다. 에이전트를 사용하면 구성 데이터를 로컬로 캐싱하고 업데이트를 위해 AWS AppConfig 데이터 영역 서비스를 비동기적으로 폴링할 수 있습니다. 이 캐싱/폴링 프로세스를 통해 지연 시간과 비용을 최소화하면서 애플리케이션에 구성 데이터를 항상 사용할 수 있습니다. 에이전트를 사용하지 않으려면 AWS AppConfig 데이터 영역 서비스에서 직접 퍼블릭 APIs를 호출할 수 있습니다.

데이터 플레인 서비스는 [StartConfigurationSession](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html) 및 [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)이라는 두 개의 새 API 작업을 사용합니다. 또한 데이터 영역 서비스는 AWS AppConfig 컨트롤 플레인과 [별도의 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/appconfig.html#appconfigdata_data_plane)를 사용합니다.

**참고**  
데이터 플레인 서비스는 `GetConfiguration` API 작업을 사용하여 구성 데이터를 검색하는 이전 프로세스를 대체합니다. `GetConfiguration` API는 더 이상 사용되지 않습니다.

**작동 방식**  
다음은 데이터 영역 서비스를 사용하여 AWS AppConfig APIs를 직접 호출하는 프로세스가 작동하는 방식입니다.

애플리케이션은 [StartConfigurationSession](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html) API 작업을 사용하여 구성 세션을 먼저 설정하여 구성 데이터를 검색합니다. 그러면 세션 클라이언트가 정기적으로 [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)을 호출하여 사용 가능한 최신 데이터를 확인하고 검색합니다.

`StartConfigurationSession`이 호출되면 코드에서 다음 정보를 보냅니다.
+ 세션이 추적하는 AWS AppConfig 애플리케이션, 환경 및 구성 프로필의 식별자(ID 또는 이름)입니다.
+ (선택 사항) 세션 클라이언트가 `GetLatestConfiguration` 호출 사이에 대기해야 하는 최소 시간입니다.

이에 대한 응답`InitialConfigurationToken`으로는 세션의 클라이언트에 제공되고 해당 세션에 `GetLatestConfiguration` 대해 처음를 호출할 때 사용할를 AWS AppConfig 제공합니다.

**중요**  
이 토큰은 `GetLatestConfiguration`을 처음 호출할 때 한 번만 사용해야 합니다. 이후에 `GetLatestConfiguration`을 호출할 때마다 `GetLatestConfiguration`응답 (`NextPollConfigurationToken`)의 새 토큰을 *사용해야* 합니다. 긴 폴링 사용 사례를 지원하기 위해 토큰은 최대 24시간 동안 유효합니다. `GetLatestConfiguration` 호출에서 만료된 토큰을 사용하는 경우 시스템은 `BadRequestException`을 반환합니다.

`GetLatestConfiguration`를 호출하면 클라이언트 코드는 가장 최근의 `ConfigurationToken` 값을 보내고 이에 대한 응답으로 수신합니다.
+ `NextPollConfigurationToken`: 다음에 `GetLatestConfiguration` 호출 시 사용할 `ConfigurationToken` 값입니다.
+ `NextPollIntervalInSeconds`: 클라이언트가 `GetLatestConfiguration`에 다음 호출을 하기 전에 기다려야 하는 시간.
+ 구성: 세션에 사용할 최신 데이터. 클라이언트에 이미 최신 버전의 구성이 있는 경우 비어 있을 수 있습니다.

**중요**  
다음 중요 정보를 기록해 둡니다.  
[StartConfigurationSession](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html) API는 애플리케이션, 환경, 구성 프로필 및 클라이언트당 한 번만 호출하여 서비스와의 세션을 설정해야 합니다. 이는 일반적으로 애플리케이션을 시작할 때 또는 구성을 처음 검색하기 직전에 수행됩니다.
`KmsKeyIdentifier`를 사용하여 구성을 배포하는 경우 구성 수신 요청에 `kms:Decrypt` 호출 권한이 포함되어야 합니다. 자세한 내용은 *AWS Key Management Service API 참조*의 [복호화](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 섹션을 참조하십시오.
이전에 구성 데이터를 검색하는 데 사용했던 API `GetConfiguration` 작업인 은 더 이상 사용되지 않습니다. `GetConfiguration` API 작업은 암호화된 구성을 지원하지 않습니다.

## (예제) AWS AppConfig APIs를 호출하여 구성 검색
<a name="appconfig-retrieving-the-configuration-example"></a>

다음 AWS CLI 예제에서는 AWS AppConfig 데이터 `StartConfigurationSession` 및 `GetLatestConfiguration` API 작업을 사용하여 구성 데이터를 검색하는 방법을 보여줍니다. 첫 번째 명령은 구성 세션을 시작합니다. 이 호출에는 AWS AppConfig 애플리케이션의 IDs(또는 이름), 환경 및 구성 프로필이 포함됩니다. API는 구성 데이터를 가져오는 데 사용된 `InitialConfigurationToken`을 반환합니다.

```
aws appconfigdata start-configuration-session \
    --application-identifier {{application_name_or_ID}} \
    --environment-identifier {{environment_name_or_ID}} \
    --configuration-profile-identifier {{configuration_profile_name_or_ID}}
```

시스템은 다음과 같은 형식의 정보로 응답합니다.

```
{
   "InitialConfigurationToken": {{initial configuration token}}
}
```

세션을 시작한 후에는 [InitialConfigurationToken](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html#API_appconfigdata_StartConfigurationSession_ResponseSyntax)을 사용하여 [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)을 호출하여 구성 데이터를 가져옵니다. 구성 데이터가 `mydata.json` 파일에 저장됩니다.

```
aws appconfigdata get-latest-configuration \
    --configuration-token {{initial configuration token}} mydata.json
```

`GetLatestConfiguration`을 처음 호출할 때는 `StartConfigurationSession`에서 확보한 `ConfigurationToken`을 사용합니다. 다음 정보가 반환됩니다.

```
{
    "NextPollConfigurationToken" : {{next configuration token}},
    "ContentType" : {{content type of configuration}},
    "NextPollIntervalInSeconds" : {{60}}
}
```

`GetLatestConfiguration`에 대한 후속 호출은 이전 응답의 `NextPollConfigurationToken`을 *제공해야* 합니다.

```
aws appconfigdata get-latest-configuration \
    --configuration-token {{next configuration token}} mydata.json
```

**중요**  
`GetLatestConfiguration` API 작업에 대한 다음과 같은 중요 세부 정보에 주의하십시오.  
`GetLatestConfiguration` 응답에는 구성 데이터를 보여주는 `Configuration` 섹션이 포함됩니다. 이 `Configuration` 섹션은 시스템에서 새 구성 데이터 또는 업데이트된 구성 데이터를 찾은 경우에만 나타납니다. 시스템에서 새 구성 데이터나 업데이트된 구성 데이터를 찾지 못하면 해당 `Configuration` 데이터는 비어 있습니다.
모든 `ConfigurationToken` 응답에서 새 `GetLatestConfiguration`을 받습니다.
예산, 구성 배포의 예상 빈도, 구성할 대상 수를 기준으로 `GetLatestConfiguration` API 직접 호출의 폴링 빈도를 조정하는 것이 좋습니다.