Spring Boot를 사용하는 AWS AppConfig

소개



안녕하세요 AWeSome 기술자! 우리 중 대부분은 환경이나 기술 경계에 따라 다른 프로필 세트를 사용하여 애플리케이션 구성에 익숙해질 것입니다. 구성은 애플리케이션의 동작에 영향을 미치는 설정 모음입니다.

오늘은 스프링 부트 마이크로서비스를 사용하여 AWS AppConfig를 검색하는 방법을 알아보겠습니다.

AWS 관리 콘솔을 통해 AWS AppConfig를 생성, 구성 및 배포하는 방법을 잘 모르는 경우 this 기사를 참조하십시오.

도구/프레임워크



IDE — IntelliJ 아이디어/이클립스
언어 — Java 8 이상
프레임워크 — 스프링 부트
SDK — AWS SDK
AWS 서비스 — AppConfig
클라우드 공급자 — Amazon Web Service(AWS)
빌드 도구 — Maven

저장소



https://github.com/shethapurv/aws/tree/main/aws-app-config-service

메이븐 종속성



AWS AppConfig 서비스에서 구성을 가져오는 데 필요한 아래 제공된 maven 종속성을 참조하십시오.

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-appconfig</artifactId>
    <version>1.12.272</version>
</dependency>


중요한 개념



구현을 시작하기 전에 몇 가지 개념/클래스 및 그 중요성을 이해하려고 노력합시다.

aws-java-sdk-appconfig — 스프링 부트 애플리케이션에서 AWS AppConfig 서비스에 연결하는 데 도움이 되는 이 maven 종속성을 사용합니다.

AmazonAppConfigClient- AWS SDK의 이 클래스를 사용하여 스프링 부트 마이크로 서비스에서 AWS AppConfig 서비스에 연결합니다.

GetConfigurationRequest - 이 클래스를 사용하여 AWS AppConfig에서 구성을 검색하는 요청을 작성합니다.


AWS AppConfig와 Spring Boot 마이크로서비스 통신

중요한 개념을 이해했으므로 구현으로 넘어가겠습니다.

구현



AWS AppConfig 서비스에 연결하고 환경 및 프로필을 기반으로 구성을 검색하는 데 사용할 AWSAppConfig 클래스를 생성합니다. 한번 봅시다,

GetConfigurationRequest.application — 구성이 생성되는 애플리케이션 ID를 설정합니다.
GetConfigurationRequest.configuration — 선택할 구성을 나타냅니다.
GetConfigurationRequest.environment — 특정 환경에 대한 구성 가져오기

public AWSAppConfig() {
    appConfig = AmazonAppConfigClient._builder_().build();
    request = new GetConfigurationRequest();
    request. **setApplication** ("aws-app-config-service");
    request. **setConfiguration** ("dev");
    request. **setEnvironment** ("dev");
}


이제 AWS AppConfig에서 구성을 반환해야 하는 메서드를 구현할 것입니다.

AmazonAppConfigClient.getConfiguration — 요청에 설정된 구성 및 환경을 기반으로 구성을 가져옵니다.

public String **getConfiguration** () throws UnsupportedEncodingException {
    GetConfigurationResult result = **appConfig.getConfiguration** (request);
    String message = String._format_("contentType: %s", result.getContentType());
    _LOGGER_.info(message);

    if (!Objects._equals_("application/json", result.getContentType())) {
        throw new IllegalStateException("config is expected to be JSON");
    }

    String content = new String(result.getContent().array(), "ASCII");
    return content;
}


지금까지 이 모든 것이 괜찮지만 실제로 구성을 가져오는지 여부를 확인하는 방법을 생각할 수 있습니다! 걱정하지 마세요. 다음 섹션에서 동일한 내용을 확인하겠습니다.

테스트



AWSAppConfig를 사용하여 API 엔드포인트를 구현하여 구성을 검색해 보겠습니다.

@RestController
@RequestMapping(path = " **/aws**", method = RequestMethod._GET_)
public class AWSAppConfigController {

    @Autowired
    AWSAppConfig awsAppConfig;

    @RequestMapping(path = " **/getConfig**", method = RequestMethod._GET_)
    public String getAWSAppConfig() throws UnsupportedEncodingException {
        return **awsAppConfig.getConfiguration();**

    }
}


이제 애플리케이션을 실행하고 URL localhost:8080/aws/getConfig를 입력해 보겠습니다. Ta..da.. AWS AppConfig에서 구성을 가져왔습니다.


AWS AppConfig — 출력

참조
https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html

이 게시물이 도움이 되었다면 박수를 몇 번 치거나 팔로우하여 제가 배운 것을 공유할 수 있도록 지속적으로 동기를 부여해 주세요.

함께 배우고, 나누고, 성장합니다.

좋은 웹페이지 즐겨찾기