-
스프링부트 게시판을 ec2로 업로드aws 2024. 1. 23. 03:13
1. 인스턴스 시작
로그인 -> 인스턴스 시작 클릭
2. 인스턴스 이름 지정
인스턴스 이름 지정
3. OS 선택
Ubuntu 선택 -> Amazon Machine Image(AMI)를 '프리 티어 사용 가능'으로 선택
4. 인스턴스 유형 선택
'프리 티어 사용 가능'이 t2.micro라서 선택
5. 키 페어 생성
키 페어 이름 입력 후 생성을 눌러 다운로드
키 페어는 생성 후 다시 받을 수 없기 때문에 잘 보관해야 한다.
6. 네트워크 설정
인바운드 보안 그룹 규칙
- 유형 - 'ssh'
- 소스 유형 - '위치 무관'
7. 스토리지 구성
프리티어는 30GiB까지 사용 가능
8. 인스턴스 생성 완료
9. 보안 그룹 선택
10. 인바운드 규칙 설정
- 사용자 지정 TCP - TCP - 8080 - AnywhereIPv4 - spring boot port
- SSH - TCP - 22 - AnywhereIPv4
- HTTP - TCP - 80 - AnywhereIPv4
- HTTPS - TCP - 443 - AnywhereIPv4
11. 보안 그룹 생성
이름과 설명 입력
12. 보안 그룹 변경
보안 그룹 추가로 10 ~ 11에서 만든 보안 그룹 추가 후 기존의 보안 그룹은 제거
13. 인스턴스에 연결
사용자 이름을 'ubuntu'로 해서 연결
14. FileZilla 접속
15. PuTTy private key 생성
Load를 눌러 5번에서 만든 .pem파일 선택
Save private key 클릭
.ppk 파일 생성
16. PuTTy 접속
Host Name과 Post 입력
Private key file for authentication에 14번에서 만든 .ppk 파일 선택
Accept 클릭
ubuntu 입력하고 접속 완료
17. 시간 기준 변경
sudo timedatectl set-timezone 'Asia/Seoul'
기존 UTC에서 KST로 변경
18. 업데이트
sudo apt update sudo apt upgrade
19. mariadb 설치
sudo apt-get install -y mariadb-server
mysql --version 혹은 mariadb --version으로 설치가 되었는지 확인
20. root권한 획득
sudo su
21. root 계정 비밀번호 설정
mysqladmin -u root -p password 'admin'
22. 사용할 db와 계정 생성
mysql -u root -p 접속
create database devdb;
create user 'scott'@'%' identified by 'scott';
grant all on devdb.* to 'scott'@'%' with grant option;
flush privileges;
db툴로 접속 확인
23. 외부 IP 접속 허용
/etc/mysql/mariadb.conf.d/50-server.cnf
50-server.cnf에 들어가서 bind-address 주석 처리
10번에서 설정한 인바운드 규칙에 mariadb 포트인 '3306' 추가
24. 게시판과 db연결
퍼블릭 IPv4 DNS로 연결
25. jar 전송
intellij의 터미널에 ./gradlew bootJar 입력하여 jar 생성
jar 전송
26. jar 실행
nohup java -jar dev-0.0.1-SNAPSHOT.jar 1> /dev/null 2>&1 &
ps -ef | grep dev-로 pid 확인
출처
https://extsdd.tistory.com/116
https://blogshine.tistory.com/322
https://velog.io/@jaybon/AWS-EC2-Spring-boot-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0