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파일의 권한을 수정하는 방법도 있는데, 이 방법으로도 되지 않아 윈도우 명령어를 찾아냈다.
윈도우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를 이용할수 있다는데 이 방법도 한번 공부해봐야겠다.