Spring Cloud Config Server 구성

완료됨

이 모듈에서는 Spring Boot 마이크로 서비스에서 사용할 수 있도록 Azure Spring Cloud에서 완전히 관리 및 지원되는 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 Cloud

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

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

GitHub 개인용 토큰 만들기

Azure Spring Cloud는 퍼블릭 Git 리포지토리, SSH로 보호된 Git 리포지토리 또는 HTTP 기본 인증을 사용하여 보호된 Git 리포지토리에 액세스할 수 있습니다. GitHub를 사용하여 쉽게 만들고 관리할 수 있으므로 이 마지막 옵션을 사용해보겠습니다.

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

GitHub 개인용 액세스 토큰

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

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

  1. Azure Portal로 이동합니다.

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

  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를 사용해야 합니다.

    1. Label에 분기를 추가합니다. GitHub에서 기본값은 main이지만 이전 리포지토리 또는 대체 Git 공급자는 여전히 master를 사용할 수 있습니다.
    2. 인증 을 클릭하고 HTTP 기본 을 선택합니다.
    3. username 은 GitHub 로그인 ID입니다.
    4. 암호 는 이전 섹션에서 만든 개인용 토큰입니다.
  4. 적용 을 클릭하고 작업이 성공할 때까지 기다립니다.

  5. 유효성 검사 를 클릭하고 작업이 성공할 때까지 기다립니다.

Spring Cloud 구성 서버

검토

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

다음 섹션에서는 이 구성, 특히 application.yml에서 정의한 사용자 지정 메시지를 사용하는 애플리케이션을 만들어보겠습니다.

지식 점검

1.

Azure Spring Cloud에서 Spring Cloud Config Server가 지원하는 보안 메커니즘은?

2.

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