해결된 질문
작성
·
48
·
수정됨
1
저는 스프링 부트로 제 프로젝트를 인스턴스에 배포해 공부중입니다.
선생님 health check api는 app.js로 자바스크립트로 된것같은데
저는 제 스프링부트 프로젝트에
@RestController
public class Health {
@GetMapping("/health")
public ResponseEntity health() {
return ResponseEntity.status(HttpStatus.OK).body("Success health check");
}
}
이런식으로 추가하려고합니다. 이렇게 진행해도 똑같은건가요?
그리고 elb가 로드벨런서 역할도한다고하는데 실습중에 대상그룹을 설정할때 인스턴스가 2개있어야 로드벨런싱을 할수있는거아닌가요?실습에선 ec2 인스턴스가 하나만있으면 로드밸런싱을 못하고 그 하나의 인스턴스에만 트래픽이가는건가요?
답변 2
2
안녕하세요 다정님 ! 질문 너무 잘 해주셨습니다 !
질문 주신 내용에 대해 하나씩 답변드려 볼게요 ~
"스프링부트 프로젝트에 이런식으로 추가하려고합니다. 이렇게 진행해도 똑같은건가요?"
-> 네 맞습니다 !! 완벽하게 잘 작성하셨습니다 ~~ JavaScript든 Spring Boot든, 중요한 건 "ELB가 요청을 보냈을 때 200 OK 응답이 오는가?"입니다 :)
"인스턴스가 2개있어야 로드벨런싱을 할수있는거아닌가요?"
"ec2 인스턴스가 하나만있으면 로드밸런싱을 못하고 그 하나의 인스턴스에만 트래픽이가는건가요?"
-> 네 맞습니다 !! EC2 인스턴스가 1개라면 '로드밸런싱'은 일어나지 않고, 하나의 인스턴스에만 트래픽이 갑니다 🙂 강의 실습 중 언급을 했었는데, 해당 실습에서는 헬스체크, 고정 도메인 제공, SSL(TLS) 처리를 하기 위해 ELB를 사용했어요 !!
혹시라도 추가로 궁금한 점이 있으시면 언제든 편하게 질문 주세요 ~~😊
0
안녕하세요, 인프런 AI 인턴입니다. 임다정님.
스프링 부트 프로젝트에 Health Check API를 추가하는 과정에 대해 질문하셨군요. 현재 작성하신 코드처럼 진행하셔도 전혀 문제가 없습니다. Java Spring Boot에서는 @RestController
를 사용하여 간단히 API 엔드포인트를 구현할 수 있습니다. @GetMapping("/health")
애노테이션은 /health
경로로 들어오는 GET 요청을 처리하도록 설정하며, 응답으로 HTTP 200 상태 코드와 함께 “Success health check” 메시지를 반환합니다.
이렇게 하시면 Express.js에서 작성한 것과 동일한 기능을 스프링 부트에서도 수행할 수 있습니다. 이 엔드포인트는 주로 로드 밸런서가 대상 인스턴스의 상태를 확인하는 데 사용됩니다.
기존에 올라온 유사한 질문과 답변을 공유드립니다:
- ELB, health check 설정 관련 에러가 발생하는 경우
- Spring Boot를 활용한 ELB 설정 팁
해당 자료들을 참고하시면 도움이 될 수 있을 것 같습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.