공부하는 스누피
[AWS, Spring] Spring 프로젝트 Beanstalk에 올리기 본문
환경
- Eclipse Jee 2019-03
- JDK 1.8
- STS 3.x
- AWS EC2 t2.micro (프리 티어)
1. Spring mvc 프로젝트 만들기
이클립스에서 marketplace에 있는 Spring Toolkit을 설치하면 간단한 Spring MVC 프로젝트를 바로 빌드할 수 있다.
패키지 입력할 때는 반드시 3단계로 해주어야 합니다.
ex. com.myexample.app
2. Tomcat 서버에 돌아가는지 확인하기
프로젝트 폴더 우클릭->Run as->Run on Server 클릭
서버 선택 : 버전에 맞는 서버 선택하기 (Tomcat 9.0 선택했음)
서버를 돌린 후 콘솔에 아래 메세지가 출력되고, 자동으로 웹페이지가 켜짐
3. war 배포 파일로 만들기
war 파일은 자바 웹 애플리케이션을 배포하기 위한 패키지 파일이다. mvn package 커맨드를 사용하면 jar파일을 만들어 준다....
프로젝트 폴더 우클릭->Export->WAR 검색 후 클릭->저장 디렉터리 선택
4. AWS beanstalk 시작하기
AWS 계정은 이미 만들었다고 가정한다. 없으면 아래 가이드를 따라 만들고 진행합시다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/create-and-activate-aws-account/
AWS 콘솔에 root 계정으로 접속해서 메뉴창에 Elastic Beanstalk를 선택한다. Beanstalk는 EC2 서버 기반의 웹 애플리케이션 관리 서비스로, AWS의 여러 서비스들을 쉽게 연결할 수 있고 웹 콘솔에서 모니터링이 가능하다는 장점이 있다.
Beanstalk 페이지에 들어가면 환영 페이지가 나온다. 우측의 환경 만들기 버튼을 클릭한다.
- Select Environment tier
Web server environment 선택
- Create Envrionment
어플리케이션, 환경 이름은 마음대로 정할 수 있다.
여기서 중요한 단계는 Platform을 정하는 부분이다. 지금 사용하는 예제는 Tomcat 서버를 사용하기 때문에 Managed Platform을 클릭하고 적정한 버전의 Tomcat을 선택한다.
플랫폼 선택 후 Application code의 Upload your code 옵션을 선택해 war 파일을 올릴 수 있다.
다 마치고 폼을 제출하면 콘솔창이 나타나면서 자동으로 EC2, S3, Beanstalk 환경이 만들어진다.
환경 생성 종료 후 콘솔 페이지에 있는 링크로 이동하면 어디서나 예시 페이지를 볼 수 있다.
5. 자주 발생하는 이슈
- 404 에러
response를 JSON으로 줄 때, 해당 응답 메소드에 @ResponseBody 어노테이션을 붙이지 않으면 return 값의 View를 찾아서 보여준다. 이때 return 값에 해당하는 View가 없으므로 404 에러가 난다.
- Timeout 에러
Elastic Beanstalk는 기본적으로 5000 포트에서 서버를 돌리고, Spring은 8080 포트에서 돌린다. 이 차이 때문에 에러가 생길 수 있으니 Beanstalk 환경 콘솔 좌측 메뉴의 Configuration 페이지에서 변수를 추가해야 한다. Configuration 페이지에 들어가면 Software 박스 안의 편집 버튼을 클릭한다. 맨 밑으로 스크롤하면 환경 변수를 추가하는 페이지가 나온다. 여기에 SERVER_PORT에 5000인 property를 추가한다.
'Web > Spring' 카테고리의 다른 글
[Spring] 메시지 정리 (0) | 2020.08.28 |
---|---|
[Spring] MVC 기본 정리 (0) | 2020.08.19 |
[Spring] AOP 정리 (0) | 2020.08.10 |
[Spring] 자동 의존 주입을 위한 어노테이션들 (0) | 2020.08.07 |
[Spring] Dependency Injection (DI) (0) | 2020.08.05 |