티스토리 뷰

해당 설정은 Spring Boot Actuator와 관련된 설정으로, Spring Cloud Config Server에서 특정 운영용(endpoints) API를 외부로 노출할지를 결정합니다. 아래는 configServerapplication.yml에 있는 해당 설정에 대한 자세한 설명입니다:


management:
  endpoints:
    web:
      exposure:
#        include: busrefresh
        include: refresh, health, info

✅ 설정 구성 요소 설명

🔹 management.endpoints.web.exposure.include

  • Spring Boot Actuator에서 제공하는 운영/모니터링용 HTTP 엔드포인트를 어떤 것만 노출할지를 설정합니다.
  • 기본적으로는 대부분의 엔드포인트가 비공개 상태이며, exposure.include에 명시해야만 외부에서 접근 가능해집니다.

✅ 포함된 엔드포인트들 설명

refresh

  • Spring Cloud Actuator의 핵심 기능 중 하나.
  • /actuator/refresh 경로를 통해 실행 중인 애플리케이션의 @RefreshScope 빈을 다시 로드할 수 있게 함.
  • 보통 Config Server와 함께 사용하는 Client App에서 구성 변경을 반영할 때 사용함.
    • 예: 설정 변경 후 curl -X POST http://localhost:8080/actuator/refresh

health

  • /actuator/health 경로를 통해 애플리케이션의 상태(정상/비정상 등)를 확인 가능.
  • Kubernetes, AWS, Prometheus 등 외부 모니터링 도구와 연동할 때 필수.

info

  • /actuator/info 경로.
  • 빌드 정보, git 커밋 정보 등 애플리케이션의 메타데이터를 제공.

🔹 busrefresh는?

# include: busrefresh
  • spring-cloud-bus를 사용할 경우에 /actuator/busrefresh 엔드포인트를 사용하여 모든 인스턴스에 일괄적으로 설정 변경을 전달할 수 있습니다.
  • 즉, Config 변경을 클라이언트마다 개별 /refresh로 보내지 않고, 한 번의 busrefresh로 전체 앱에 전파.

🔐 보안 주의

  • /actuator/refresh나 /actuator/busrefresh 같은 민감한 엔드포인트는 반드시 보안 설정이 필요합니다.
  • 보통은 management.endpoints.web.exposure.include로 선택적으로 노출 + spring.security로 인증 설정을 추가합니다.

✅ 요약표

설정 항목 설명

refresh Config 변경 반영 (수동 갱신)
health 애플리케이션 상태 확인
info 앱 정보 (버전, 빌드 등)
busrefresh  Spring Cloud Bus로 전체 인스턴스 설정 동기화 (분산 refresh)

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함