[AWS] spring boot+mysql -> mariaDB+EC2로 구동 이슈사항 정리

 

 

아래 블로그를 따라 AWS를 사용해보고 싶어 기존 포트폴리오용으로 개발한 프로젝트를 활용하게 되었고,

mysql+mybatis를 사용해서 JPA와 관련되어있는 글은 생략하고 넘어갔다.

 

글을 따라가며 생긴 이슈사항을 정리했다

 

https://wickies.tistory.com/100?category=768093

 

[REST API 실습] 2. AWS RDS로 MariaDB 생성해서 워크벤치에 연결하기

본 포스팅은 스터디 모임의 발표 참고자료로 사용하기 위해 작성되었습니다. 목차 1) Springboot 프로젝트 생성하고 RestController 작성 후 실행하기(Gradle) 2) AWS RDS로 MariaDB 생성해서 워크벤치에 연결하기..

wickies.tistory.com

 


RDS

 

 

블로그에 나와있는 amazon ui와 현재의 ui가 달라져있어 당황을 하긴 했지만 별 탈 없이 진행되었다.

 

mariaDB + mysql workbench연결

 

나의 로컬pc mysql에서 10060 Error가 발생하면서 알림창이 발생했다.

나는 오류 검색 중 RDS에 나의 pc가 보안 그룹에 허용되어있지 않아 생기는 문제를 확인하고 아래와 해결했다.

https://forums.aws.amazon.com/thread.jspa?threadID=231166

 

 

다음은 아래와 같이 경고 알림창이 뜨면서 또 다른 오류가 나오나 싶었지만 무시해도 상관없는 알림이었다.  

https://exceptionshub.com/mysql-workbench-incompatiblenonstandard-server.html

 

MySQL Workbench incompatible/nonstandard server

Questions: I am new to using MySQL and I needed to download it for school, however, I keep getting...

exceptionshub.com

 

 

EC2와의 연결까지 한 뒤 프로젝트에서 DB에 접근하는 순간 사용하고 있던 putty에 Access Denied Error가 발생했다.

이건 데이터베이스에서 접속 계정에 대한 권한을 설정해주지 않아서 생긴 문제이다.

여지까지 mysql을 root로만 사용했더니 모르고 있던 사실이었다.

아래와 같이 해결했다.

https://kithub.tistory.com/entry/MariaDB-%EC%99%B8%EB%B6%80%EC%A0%91%EC%86%8D-%EC%8B%9C%EB%8F%84%EC%8B%9C

 

[ MariaDB ] 외부접속 문제 " Access denied for user "

외부에서 DB서버 접속시 접근을 거부 당하는 경우가 있다. 이는 해당 데이터베이스에서 접속 계정에 대한 권한을 설정해주지 않아서 생긴 문제이다. 그럼 이제 계정권한을 설정해보자. 1) mysql에

kithub.tistory.com

 


EC2

 

 

UpLoadPath

 

AWS에 활용하고 있는 프로젝트는 CKEditor 플러그인, input 태그를 사용한 이미지 업로드 기능 두 가지의 기능을 사용해서 이미지 경로가 맞지 않으면 오류가 난다.

리눅스 사용을 거의 안 했던 탓 덕분에 시간이 지연됐다.

결론은 폴더에 데이터를 쓸 권한이 없다는 것

 

1. CKEditor

uploadPath는 /home/ubuntu/BZShop/src/main/webapp/resources/ckUpload 

간단했다 폴더 하나에만 권한을 주면 됐다.

sudo chmod 777 ./권한을 줄 디렉토리 이름

 

2.ImgesUpload

uploadPath는 /home/ubuntu/BZShop/src/main/webapp/resources/imgUpload 

이 기능은 현재 날짜별로 폴더를 만들어 이미지를 저장하는 기능이 있는데 문제는

하위 폴더 별대로 권한이 있어야 했다.

sudo chmod -R ./권한을 줄 디렉토리 이름

이렇게 UpLoadPath문제는 해결했다.

 

 

Google MailService(smtp)

 

프로젝트에서 회원가입, 비밀번호 찾기 기능을 사용하기 위해서 Gmail을 사용하고 있는데 

ec2로 옮기면서 아래와 같은 Error가 발생했다.

org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException:

 

해결은 google계정에 대한 액세스 허용을 해주니 해결되었다.

https://iamksu.tistory.com/102

 

javax.mail.authenticationfailedexception: 534-5.7.14

1. 비밀번호가 맞는지 확인 (설정 정보) spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=아이디@gmail.com spring.mail.password=비밀번호 spring.mail.properties.mail.smtp.startt..

iamksu.tistory.com

 

+@마지막으로

 

배포용 코드 작성에서 

1. TODO 경로 수정

2. TODO 피드명 수정

3. JAR_NAME 수정 

총 3군데를 본인에 맞게 잘 수정하자

 

 

이렇게 모든 오류는 해결되었다.

 

2020.05.21 - [AWS] - [AWS] 구렁텅이에서 기어올라온 - Solutions Architect Associate 자격증 취득 후기

AWS 자격증 취득 후 관련 업종에 취직하기 위해 또는 스펙에 도움이 되고자

AWS로 프로젝트 구성을 하여 포트폴리오를 만들었다.

앞으로 어떻게 될지는 모르겠지만

 

정말 고생 많았다고 나에게 말해주고 싶다.

 

이 글을 보고 있는분도 힘든일이 있으시다면 화이팅 입니다!