728x90
- 참고: 아래의 내용을 이어서 진행합니다.
1. 연결하기
EC2 인스턴스에 들어간 후 연결 버튼을 누른다.

2. Ubuntu 환경에서 JDK 설치
JDK 17버전을 설치해보자
$ sudo apt update && /
sudo apt install openjdk-17-jdk -y
설치 확인하기
$ java -version

3. Github로 부터 Spring boot 프로젝트 clone
$ git clone {프로젝트 github 주소}
clone한 프로젝트 폴더에 접속
$ cd {프로젝트명}
4. application.yml 파일 만들기
application.yml과 같은 민감한 정보가 포함된 파일은 git으로 버전 관리를 하지 않는 것이 일반적이다.
때문에, application.yml 파일은 별도로 EC2 인스턴스에 직접 올려주어야 한다.
application.yml 올려야하는 경로에 들어가보자.
$ cd src/
$ cd main/
$ cd resources/
$ vi application.yml
application.yml 파일 작성
server:
port: 80
5. 서버 빌드 & 실행
프로젝트 루트 경로로 이동한 후 진행한다.(cd ..로 이동했다.)
$ ./gradlew clean build # 기존 빌드된 파일을 삭제하고 새롭게 JAR로 빌드
permission denied가 뜬다면 실행권한 주기
-bash: ./gradlew: Permission denied
$ chmod +x ./gradlew
빌드된 폴더로 이동 후 libs 로 이동
$ cd ~/ec2-spring-boot-sample/build/libs
SNAPSHOT.jar 파일 실행(plane말고)
$ sudo java -jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar
백그라운드에서 실행하고 싶다면 아래 명령어를 사용하면 된다.
$ nohup java -jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar &
확인하기
ss -tulnp | grep 8080
또는
jobs
백그라운드에서 실행되는 프로젝트 종료
fg {인덱스(jobs 명령어를 통해 확인된 번호)}
또는
lsof -i :8080
kill [PID]
포워딩하기
네트워크 이름 확인하기
$ ifconfig
enX0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 172.31.8.224 netmask 255.255.240.0 broadcast 172.31.15.255
inet6 fe80::9f:4cff:fec0:dfad prefixlen 64 scopeid 0x20<link>
ether 02:9f:4c:c0:df:ad txqueuelen 1000 (Ethernet)
RX packets 350983 bytes 492853092 (492.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 34570 bytes 4242826 (4.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 10745 bytes 1152144 (1.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10745 bytes 1152144 (1.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
안되면 아래 명령어 입력
sudo apt install net-tools
포워딩하기
포워딩하기
sudo iptables -t nat -A PREROUTING -i enX0 -p tcp --dport 80 -j REDIRECT --to-port 8080
확인하기
sudo iptables -t nat -L --line-numbers
혹시 잘못되었으면 삭제하기
sudo iptables -t nat -D PREROUTING {num}
종료하기
인스턴스 종료

탄력적 IP 주소 종료

728x90
'devops > AWS' 카테고리의 다른 글
| [AWS] CI/CD Github Actions, SCP로 빌드된 파일 전송하기 (0) | 2024.07.29 |
|---|---|
| [AWS][S3] 파일 저장 서비스 S3 (0) | 2024.05.13 |
| [AWS][EC2] 백엔드 API 서버를 배포하기 - 탄력적 IP 연결 (0) | 2024.05.13 |
| [AWS][EC2] 백엔드 API 서버를 배포하기 - EC2 인스턴스 생성 (0) | 2024.05.12 |