다음을 통해 공유


애플리케이션 구성 서비스를 관리되는 Spring Cloud Config Server로 마이그레이션

참고 항목

기본, 표준엔터프라이즈 계획은 2025년 3월 중순부터 사용되지 않으며 3년의 은퇴 기간이 있습니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 사용 중지 공지 사항을 참조하세요.

표준 소비 및 전용 계획은 2024년 9월 30일부터 사용되지 않으며 6개월 후에 완전히 종료됩니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 표준 사용량 및 전용 계획을 Azure Container Apps로 마이그레이션을 참조 하세요.

이 문서는 기본/표준 ✅ 엔터프라이즈에 ❎ 적용됩니다.

이 문서에서는 Java 애플리케이션과 함께 Azure Spring Apps Enterprise 계획을 사용할 때 ACS(Application Configuration Service)에서 Spring Cloud Config Server로 마이그레이션하는 방법을 설명합니다.

Spring Cloud Config Server는 애플리케이션이 Git 리포지토리와 같은 외부 원본에서 구성 속성을 가져오는 데 사용할 수 있는 중앙 집중식 구성 서비스를 제공합니다.

Spring Cloud 구성 서버 프로비전

Application Configuration Service를 사용하도록 설정된 Azure Spring Apps Enterprise 계획 인스턴스가 있는 경우 ACS에서 Spring Cloud Config Server로 마이그레이션하는 첫 번째 단계는 Azure Spring Apps 환경에서 구성 서버를 프로비전하는 것입니다. Azure Portal 또는 Azure CLI를 사용하여 프로비전할 수 있습니다.

다음 단계를 사용하여 Spring Cloud Config Server를 프로비전합니다.

  • Azure Portal에서 Azure Spring Apps 엔터프라이즈 인스턴스로 이동합니다.
  • 메뉴에서 Spring Cloud 구성 서버를 선택합니다.
  • 관리를 선택하여 Spring Cloud Config Server가 사용하도록 설정되어 있는지 확인합니다. 그렇지 않은 경우 사용하도록 설정한 다음 적용을 선택하여 저장합니다.
  • 성공적으로 업데이트한 후 개요 탭에서 구성 서버의 프로비전 상태가 성공했음확인할 수 있습니다.

Spring Cloud 구성 서버 구성

Spring Cloud Config Server를 프로비전한 후 다음 단계는 원활한 마이그레이션을 보장하기 위해 애플리케이션에 맞게 구성하는 것입니다.

다음 단계를 사용하여 Azure Portal에서 Spring Cloud Config Server를 구성합니다.

  1. Azure Spring Apps 인스턴스에서 Spring Cloud Config Server이동합니다.

  2. 설정 탭에서 ACS의 모든 리포지토리 구성을 Spring Cloud Config Server에 매핑합니다.

    ACS에 리포지토리가 하나만 있는 경우 이름과 패턴 없이 Spring Cloud Config Server의 기본 리포지토리에 매핑합니다. ACS에 여러 리포지토리가 있는 경우 하나의 리포지토리를 Spring Cloud Config Server의 기본 리포지토리로 선택하고 다른 리포지토리를 추가 리포지토리로 사용합니다. , , namelabelsearch pathauthentication ACS를 포함한 uri속성을 Spring Cloud Config Server로 마이그레이션합니다.

    Spring Cloud Config Server 페이지를 보여 주는 Azure Portal의 스크린샷.

  3. 구성을 매핑한 후 유효성 검사를 선택하여 구성을 확인합니다.

  4. 유효성 검사에 성공하면 적용을 선택하여 Spring Cloud Config Server의 구성을 완료합니다.

  5. 변경 내용을 적용하려면 앱 바인딩 탭에서 바인딩 앱을 선택한 다음 Spring Cloud Config Server를 사용할 모든 앱을 선택합니다.

ACS의 속성을 pattern 마이그레이션하려면 앱의 Azure Spring Apps 이름이 Git 리포지토리의 구성 파일 이름과 일치하는지 확인해야 합니다.

  • Azure Spring Apps의 앱 이름이 구성 파일의 파일 이름과 일치하는 경우 Spring Cloud Config Server는 추가 구성 없이 앱에 일치하는 이름의 구성 파일을 자동으로 적용합니다.
  • 이름이 일치하지 않는 경우 이름이 구성 파일 이름으로 포함된 새 앱을 만들어야 합니다.

자세한 구성은 Spring Cloud 구성 서버 문서를 참조 하세요.

애플리케이션 구성 업데이트

ACS와 Config Server 간의 구현 메커니즘의 차이로 인해 구성을 가져오는 방식에 맞게 일부 앱 구성 변경이 필요합니다.

Spring Cloud Config Server를 프로비전하고 구성한 후에는 다음 단계를 사용하여 구성을 조정해야 합니다.

  1. Maven용 pom.xml 파일 또는 Gradle용 build.gradle 파일에 다음과 같은 필수 Spring Cloud 구성 종속성을 추가하여 Spring Boot 종속성을 업데이트합니다.

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    
  2. 프로필을 구성합니다.

    ACS에서는 Azure Spring Apps 배포에서 프로필을 패턴으로 제공하고, Spring Cloud Config Server에서는 애플리케이션의 소스 코드에서 프로필을 구성합니다.

    Spring Cloud Config Server가 환경별 구성을 제공할 수 있도록 애플리케이션에서 올바른 프로필devprod(등)을 사용하는지 확인합니다.

    다음 예제와 같이 애플리케이션의 bootstrap.yml 또는 application.yml 파일을 올바른 구성 속성으로 업데이트하여 Spring Cloud Config Server를 가리킵니다.

    spring:
      cloud:
        config:
          profile: dev
    

    Azure Spring Apps의 앱 이름이 git 리포지토리의 구성 파일 이름과 일치하는지 확인합니다. 또한 애플리케이션의 코드에서 구성 spring.application.name 하지 마세요.

애플리케이션 다시 배포

애플리케이션을 로컬로 테스트한 후 다음 Azure CLI 명령을 사용하여 Spring Cloud Config Server를 사용하도록 Azure Spring Apps에서 다시 배포할 수 있습니다.

az spring app deploy \
    --name <app-name> \
    --artifact-path <path-to-your-app> \
    --config-file-patterns '""'

매개 변수를 사용하면 --config-file-patterns '""' 애플리케이션에서 Application Configuration Service의 참조를 정리합니다. 애플리케이션은 Application Configuration Service가 아닌 Spring Cloud Config Server를 통해 구성을 사용합니다.

Application Configuration Service 사용 안 함

모든 애플리케이션이 Spring Cloud Config Server로 마이그레이션을 완료한 후 애플리케이션을 Application Configuration Service에 바인딩 해제하고 ACS를 사용하지 않도록 설정할 수 있습니다.

  1. Azure Spring Apps 인스턴스에서 Application Configuration Service로 이동합니다.
  2. 앱 바인딩 탭을 연 다음 바인딩되지 않은 각 바인딩된 애플리케이션을 선택합니다.
  3. 모든 애플리케이션이 바인딩 해제된 후 관리를 선택하여 Application Configuration Service를 사용하지 않도록 설정합니다.

이러한 단계를 신중하게 수행하면 원활한 마이그레이션을 보장하고 Azure Spring Apps 내에서 Spring Cloud Config Server의 이점을 사용할 수 있습니다.

알려진 제한 사항

ACS는 Kubernetes 네이티브 ConfigMap를 사용하여 구성을 관리하므로 ACS를 Spring Cloud Config Server로 마이그레이션하는 것은 Java 애플리케이션에만 적용됩니다. 이 메서드를 사용하면 Kubernetes 환경에서 동적 구성 업데이트를 사용할 수 있으므로 여러 프로그래밍 언어를 사용하는 다양한 애플리케이션에 사용할 수 있습니다. Spring Cloud Config Server는 주로 Spring Framework 기능을 사용하여 Java 애플리케이션용으로 설계되므로 Java에 대한 구성 관리만 지원합니다.