Midnight Coder's Lounge

[개발일지] SpringBoot 게시판 개인 프로젝트 (1) - AWS EB 배포 트러블슈팅 메모 본문

Personal Log

[개발일지] SpringBoot 게시판 개인 프로젝트 (1) - AWS EB 배포 트러블슈팅 메모

AtomicLiquors 2022. 10. 17. 23:35

https://atomicliquors.tistory.com/12

 

[개발일지] SpringBoot 게시판 개인 프로젝트 (0)

블로그에 개발일지를 작성하기로 하였습니다. 그간 팀프로젝트를 3차례 진행했지만, 막상 포트폴리오를 작성하기로 마음먹고 프로젝트를 돌이켜 보니 프로젝트 진행 당시의 진척현황과 그 때

atomicliquors.tistory.com

오후 일과 내내 AWS 배포 문제를 수정하며 시간을 보낸 것 같습니다.

다만 AWS 배포는 오랫동안 헤맸던 문제였던만큼 드디어 가닥이 잡혀가는 듯하니 큰 진전이라고 하겠습니다.

 

버지니아 북부에 설치했던 환경을 종료하고 서울 지역에 다시 생성하면서 약간 복습도 된 듯합니다.

과거에 국룰처럼 쓰이던 EC2+SSL이 아닌 EB(Elastic Beanstalk)를 사용했기 때문에 배포 과정은 수월하긴 했지만,

EB의 경우 정보가 상대적으로 적은 감이 있어 버그를 잡기 위해 구글링하는 과정에서 불가피하게 거르게 되는 정보들이 더러 있었습니다.

로컬에서 발생한 문제들은 다 해결했지만, 좀 전에 배포한 결과 배포환경에서 502 bad gateway가 발생했기 때문에 다시 작업할 짬이 되면 로그를 확인해보도록 해야겠습니다.

Thymeleaf와 관련된 내용도 배우게 되었지만, 추후에 관련 내용끼리 묶어서 한번에 올리도록 하고,

배포 과정에서 생긴 문제들을 해결하며 참고한 링크들을 공유하면서 일과를 마무리하도록 하겠습니다.

 


HeidiSQL로 AWS RDS 접속

SSL를 사용하지 않고 TCP를 통해 호스트명(엔드 포인트)과 포트번호,

사용자 이름과 비밀번호만으로 연결할 수 있었습니다.

 

 

DB 접속을 시도할 경우 Can’t Connect 10060 에러 발생

https://jtuto.com/remote-database-connection-error-with-amazon-rds-unable-to-connect-10060/

 

기존 참조된 그룹 ID 규칙에 an IPv4 CIDR을(를) 지정할 수 없습니다.

https://intrepidgeeks.com/tutorial/existing-ipv4cidr-rules-cannot-specify-the-group-id-of-the-reference-target

 

 

 

 

Springboot 프로젝트와 AWS RDS 연결

데이터베이스 편집 +AWS에서 환경 변수 추가하기 + application.properties 설정

https://thalals.tistory.com/m/244

https://fusiondeveloper.tistory.com/m/85

 

 

로컬 IDE에 환경 변수 추가

https://thalals.tistory.com/m/243

 

 

 

(+ 2022.10.21)

ElasticBeanstalk에서 RDS 연결시 Socket timeout으로 502 bad gateway가 발생하는 문제가 있었습니다.

전전긍긍하던 끝에 application.properties의 DB 관련 변수들을

${RDS_USERNAME}, ${RDS_HOSTNAME} ... 등등이 아니라

직접 RDS 사용자 이름과 비밀번호, 엔드포인트 등을 입력해 주었고,

그 결과로 일단은 배포에 성공하여 프로젝트를 재개했습니다.

 

 

Dependency 문제

mysql-connector-java를 추가했을 때 빨간색으로 에러가 뜨는 경우

또는, 

mariadb-java-client를 추가했을 때 빨간색으로 에러가 뜨는 경우

https://stackoverflow.com/questions/72580794/dependency-mysqlmysql-connector-java8-0-29-not-found

application.properties 문제

Access to Dialect Resolution Info cannot be null when 'hibernate.dialect' not set

다음 둘 중 하나가 application.properties에 작성되어 있지 않으면 발생하는 문제인듯 합니다.

 

spring.jpa.database=sql-server

spring.jpa.database=mysql

 

저는 전자처럼 sql-server로 했다가, 이후에 SQL에러가 발생하는 바람에 후자대로 mysql로 바꾸게 되었습니다.

 

[에러 내용]

" Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bigint, start_value ) as start_value, convert( bigint, minimum_value ) as.. "

 

https://dev-yujji.tistory.com/m/49

https://kingle1024.tistory.com/m/350

 

 


 

당면 목표

- 배포환경 에러 해결

- Github Action 도입

- 게시판 제작 착수

 

 

기타 특기할 사항

불과 반나절만인데 구글링한 내용을 링크만 모아놨는데도 제법 풍부해 보입니다.

개발과정을 잘 기록해 둬야 포트폴리오가 부실해질 일이 없다는 말씀을 들었는데,

참 틀린 말이 아니라는 걸 실감합니다. 

 

할 일이 많아서 압박감이 앞섭니다. 추진력으로 극복해야겠습니다.

 

 

 

Comments