Spring Cloud Config Server 구성

완료됨

이 모듈에서는 Spring Boot 마이크로 서비스에서 사용할 수 있도록 Azure Spring Apps에서 완전히 관리 및 지원되는 Spring Cloud Config Server를 구성합니다.

이 Spring Cloud Config Server는 Git 리포지토리에서 Spring Boot 구성 파일이 저장되는 구성 데이터를 가져옵니다. 이 메커니즘을 사용하여 구성 파일을 저장하면 다음과 같은 이점이 있습니다.

  • 애플리케이션의 중요한 매개 변수(예: 데이터베이스 암호)는 애플리케이션 코드로 체크 인되지 않습니다.
  • 구성을 저장하는 Git 리포지토리는 운영 팀에서만 액세스할 수 있도록 보호할 수 있습니다.
  • 구성 파일이 Git에 저장되면 해당 파일을 태그 지정하거나 롤백하여 프로덕션 환경을 쉽게 관리할 수 있습니다.
  • 모든 마이크로 서비스에 대한 모든 구성 데이터를 저장하는 중앙 집중식 장소를 제공합니다.

애플리케이션 구성을 저장하기 위한 Git 리포지토리 만들기

GitHub 계정에서 Spring Boot 구성이 저장될 새 프라이빗 리포지토리를 만듭니다.

새 프라이빗 GitHub 리포지토리에서 모든 마이크로 서비스에 대한 구성 데이터를 저장하는 새 application.yml 파일을 추가합니다.

일반적으로 각 Spring Boot 애플리케이션에는 애플리케이션 설정을 포함하는 애플리케이션 이진 파일 내에 해당 파일이 포함됩니다. Spring Cloud 구성 서버는 이러한 설정을 애플리케이션 외부에 저장할 수 있도록 하므로 다음과 같은 이점이 제공됩니다.

  • 애플리케이션 외부에 중요한 매개 변수(예: 데이터베이스 암호)를 저장할 수 있습니다.
  • 구성이 Git 리포지토리에 저장되므로 해당 데이터에 태그를 지정하거나 롤백할 수 있습니다.
  • 별도로 보안을 설정할 수 있는 특정 Git 리포지토리를 사용합니다.
  • 모든 마이크로 서비스에 대한 모든 구성 데이터를 저장하는 중앙 집중식 장소를 제공합니다.

현재 application.yml은 구성이 성공했는지 확인하는 메시지만 저장합니다.

application:
    message: Configured by Azure Spring Apps

새 파일을 커밋하고 푸시합니다.

git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push

GitHub 개인용 토큰 만들기

Azure Spring Apps는 SSH로 보호되거나 HTTP 기본 인증을 통해 보호되는 공용 Git 리포지토리에 액세스할 수 있습니다. GitHub를 사용하여 쉽게 만들고 관리할 수 있으므로 이 마지막 옵션을 사용해보겠습니다.

개인용 토큰 만들기 GitHub 가이드에 따라 토큰을 만들고 저장합니다. 범위를 선택하라는 메시지가 표시되면 전체 “리포지토리” 섹션을 선택하고 다른 항목은 선택하지 않습니다.

Screenshot that shows the GitHub personal access token settings.

토큰이 생성되면 이 섹션이 끝날 때까지 탭을 열어둡니다.

Git 리포지토리에 액세스하도록 Azure Spring Apps 구성

  1. Azure Portal로 이동하여 Azure Spring Apps를 검색합니다.

  2. Azure Spring Apps 서버의 개요 페이지로 이동하고 메뉴에서 구성 서버를 선택합니다.

  3. 이전에 만든 리포지토리를 구성합니다.

    1. 리포지토리 URL을 추가합니다(예: https://github.com/<YOUR_USERNAME>/azure-spring-cloud-config 또는 git@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git).

      URL의 끝에 .git을 포함하거나 정규화된 URI를 사용해야 합니다.

    2. Label에 분기를 추가합니다. GitHub에서 기본값은 main이지만 이전 리포지토리 또는 대체 Git 공급자는 여전히 master를 사용할 수 있습니다.

    3. 인증을 클릭하고 HTTP 기본을 선택합니다.

    4. username은 GitHub 로그인 ID입니다.

    5. 암호는 이전 섹션에서 만든 개인용 토큰입니다.

    Screenshot of the Spring Cloud config server settings.

  4. 유효성 검사를 선택하고 작업이 성공할 때까지 기다립니다.

  5. 적용을 선택하고 작업이 성공할 때까지 기다립니다.

검토

이제 프라이빗 구성 리포지토리를 만들었습니다. Azure Spring Apps를 사용하도록 설정하여 이 리포지토리의 구성 파일이 포함된 Config Server를 만들었습니다.

지식 점검

1.

Azure Spring Apps에서 Spring Cloud Config Server는 어떤 보안 메커니즘을 지원하나요?

2.

다음과 같은 이유로 Spring Cloud Config는 유용한 솔루션입니다.