본문 바로가기

TIL(Today I Learned)

TIL-230703(윈도우/ EC2에 Spring, Database 연동하여 배포하기(1))

📝오늘 공부한 것

  • EC2에 Spring, Database 연동하여 배포하기

 

⛔문제점

시험을 위해 ec2에 Spring, Database를 연동하여 배포하는 법을 알아야했다.

그래서 

https://bcp0109.tistory.com/356

 

AWS 1편: EC2 생성 후 Spring Boot 띄우기

Overview AWS EC2 인스턴스를 생성하고 Spring Boot 서버를 띄워보는 것까지 진행합니다. 주 목표는 서버를 외부에 제공하는 거라서 따로 배포 시스템을 구축하지 않고 단순히 빌드 파일을 복사해서 수

bcp0109.tistory.com

https://bcp0109.tistory.com/357

 

AWS 2편: RDS 생성 후 EC2 와 연동

Overview 지난 포스팅에서는 AWS 에서 EC2 인스턴스를 생성하고 Spring Boot 서버를 띄워 외부에서 요청하는 것까지 해봤습니다. 이번에는 데이터베이스 연동을 위해 RDS 인스턴스를 생성하고 이전에 만

bcp0109.tistory.com

이 블로그에 나온대로만 하면 될 줄 알았다...

그런데!!!!나는 윈도우라서 명령어가 블로그에 나온것과 달랐다.

SSH 클라이언트로 서버 접속 시 키 파일 권한 변경을 해야하는데 이 명령어를 입력했더니 에러가 났다.

$ chmod 400 my-key.pem

윈도우에서는 이 명령어가 안된다.

권한이 너무 많아서 에러가 나는 것이라고 한다.

 

시도해 본 것들💦

보안탭에서 pem파일의 권한을 수정하는 방법도 있는데, 이 방법으로도 되지 않아 윈도우 명령어를 찾아냈다.

https://dabid.tistory.com/11

 

윈도우10에서 SSH 접속 시 pem 파일 권한변경

EC2 인스턴스를 SSH로 접속하고 싶을 때는, pem 파일을 활용해야 한다. 그런데 보안특성 상 AWS 홈페이지에서 다운받은 pem 파일을 그대로 사용하면 permission 에러가 난다. 파일 자체에 권한이 너무 많

dabid.tistory.com

 

알게 된 점

1. EC2 인스턴스 생성하기(블로그 참조)

2. RDS 인스턴스 생성하기(블로그 참조)

3. SSH 클라이언트로 서버 접속

[ cmd창 ]

1) 키 페어 파일 위치로 이동

2) 키 파일 권한 변경(윈도우 명령어)

icacls.exe my-key.pem /reset                                   //  my-key:본인 pem파일명
icacls.exe my-key.pem /grant:r USER:(R)        //  USER:본인 파일명, my-key:본인 pem파일명
icacls.exe my-key.pem /inheritance:r                            //  my-key:본인 pem파일명

 

3) SSH 접속(퍼블릭 DNS)     ->  하면 ubuntu서버

ssh -i "my-key.pem" ubuntu@ec2-52-78-181-66.ap-northeast-2.compute.amazonaws.com

 

4. 보안 그룹 설정(블로그 참조)

 

[ 다른 cmd창 ]

5. SpringBoot 서버 띄우기(jar 파일 빌드하여 EC2 복사후 실행)

 1) 자바 설치(매번 설치X, 한번만)

 2) 프로젝트 파일 위치로 이동(change directory)

gradlew clean build

 (프로젝트 빌드 명령어)

 - 프로젝트 빌드하면 build/libs에 jar파일 생성됨.

 3) 해당 파일을 EC2 서버로 복사

scp -r -i "my-key.pem" "C:\Users\USER\IdeaProjects\user\build\libs\user-0.0.1-SNAPSHOT.jar" ubuntu@ec2-52-78-181-66.ap-northeast-2.compute.amazonaws.com:/home/ubuntu

 

[ ubuntu cmd창(첫번째 켜놨던 cmd창) ]

 4) jar 실행

java -jar myblog-0.0.1-SNAPSHOT.jar

 -> cmd창이 켜져있는 동안 가능

nohup java -jar 파일이름.jar &

-> cmd창이 꺼져도 가능

 

배포 완료된 api :

http://ubuntu@ec2-52-78-181-66.ap-northeast-2.compute.amazonaws.com:8080/api/myblog

 

++

현재 목록 확인하는 법

ll

 

개선할 점💪🏻

window에서도 리눅스 명령어를 사용할 수 있게 하는 방법이 있다고 한다.

puTTY로 윈도우에서 리눅스로 SSH를 이용할수 있다는데 이 방법도 한번 공부해봐야겠다.

'TIL(Today I Learned)' 카테고리의 다른 글

TIL-230705(로그인 기능 구현하기)  (0) 2023.07.05
TIL-230704(회원가입 기능 구현하기)  (0) 2023.07.04
TIL-230630  (0) 2023.06.30
TIL-230629(application.properties 민감정보 숨기기)  (0) 2023.06.29
TIL-230628  (0) 2023.06.29