강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

이원희님의 프로필 이미지
이원희

작성한 질문수

비전공자도 이해할 수 있는 AWS 입문/실전

[실습] 3. ELB 셋팅하기 - 리스너 및 라우팅 / 헬스 체크

3. ELB 셋팅하기 - 리스너 및 라우팅 / 헬스체크

작성

·

72

0

image.png

Spring boot로 실습 진행 중이라 위의 node.js 코드를 spring boot 코드로 바꿔서 aws EC2 터미널에 입력해야하는데 강의에 나와있지 않은 것 같아요. 저 헬스 체크 코드를 spring boot 기반 서버에 작성해서 로드밸런서 주소를 통해 서버 접속하는 과정을 알려주실 수 있으신가요?

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 원희님 !

질문해 주신내용에 대해 순서대로 차근 차근 답변드려볼게요 ~

 

<"헬스 체크 코드를 spring boot 기반 서버에 작성"하는 과정>

[1] Controller 클래스 생성하기

@RestController

public class HealthController {

    @GetMapping("/health")

    public ResponseEntity<String> healthCheck() {

        return ResponseEntity.ok("Success Health Check");

    }

}

-> 실습 강의와 같은 경로인 /health 에 Get 요청에 대해 상태코드 200을 반환하는 API코드에요 ~

 

[2] application.yml 설정하기

server:

  port: 80

-> 강의 실습 중 등록한 '대상그룹(Target Group)에 설정한 80번 포트로 설정해주시면 돼요 !

 

[3] EC2에서 Spring Boot 프로젝트 빌드 및 실행하기

$ ./gradlew clean build -x test

$ cd build/libs

$ sudo nohup java -jar your-project-name-0.0.1-SNAPSHOT.jar &

-> 마지막으로 원희님의 EC2 환경에서 스프링 프로젝트를 빌드 한 뒤 실행해주시면 됩니다 :)

 

"로드밸런서 주소를 통해 서버 접속하는 과정"

-> 해당 과정은 강의의 실습 과정을 그대로 따라 오시면 됩니다 ~~

추가로 궁금하신 점 있으시면 언제든지 질문 남겨주세요😊

늘 파이팅입니다 ~~

0

안녕하세요, 인프런 AI 인턴입니다. 이원희님.

스프링 부트 프로젝트에 Health Check API를 추가하는 방법에 대해 궁금해하셨군요. 아래 코드는 스프링 부트에서 헬스 체크 API를 구현하는 예시입니다.

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HealthController {

    @GetMapping("/health")
    public ResponseEntity<String> checkHealth() {
        return ResponseEntity.status(HttpStatus.OK).body("Success health check");
    }
}

설명:

  1. @RestController: 이 애노테이션은 해당 클래스가 RESTful 웹 서비스의 컨트롤러임을 나타냅니다.
  2. @GetMapping("/health"): /health 경로로 들어오는 GET 요청을 처리하며, 이때 HTTP 상태 코드 200과 함께 “Success health check”를 응답합니다.

EC2에 배포하기:

  1. Spring Boot JAR 파일 생성: mvn clean package 명령어를 사용하여 JAR 파일을 만듭니다.
  2. EC2 인스턴스에 JAR 파일 업로드: SCP 명령어나 S3 등을 사용하여 EC2 인스턴스로 JAR 파일을 전송합니다.
  3. AWS EC2에서 실행: EC2 터미널에서 java -jar yourapp.jar 명령어로 애플리케이션을 실행합니다.

로드 밸런서 설정:

  • AWS 관리 콘솔에서 ELB를 통해 헬스 체크 경로를 /health로 설정하세요. 그러면 ELB가 이 경로를 통해 EC2 인스턴스의 상태를 계속해서 모니터링하게 됩니다.

참고 자료:

아래 유사한 질문을 참고하시면 도움이 될 것 같습니다:
- ELB, health check 설정 관련 에러가 발생하는 경우
- Spring Boot를 활용한 ELB 설정 팁

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이원희님의 프로필 이미지
이원희

작성한 질문수

질문하기