인프런 JSCODE 박재성님의 비전공자도 이해할 수 있는 AWS 입문/실전을 정리한 글입니다.
탄력적 IP 연결
EC2 인스턴스를 생성하면, IP를 할당받는다.
하지만, 이는 임시적인 IP로 인스턴스를 잠시 중지했다가 다시 실행하면 IP가 바뀌어 있다.
(IP가 전세계적으로 부족하기 때문에, 사용하지 않으면 다른 인스턴스에 할당할 수 있도록 하기 위함이다.)
따라서 고정 IP를 할당 받아야하는데, 이것이 바로 탄력적 IP이다.
현업에서도, EC2 인스턴스를 생성하면 탄력적 IP를 대부분 필수적으로 설정한다.
Spring Boot 서버를 EC2에 배포
1. Ubuntu 환경에서 JDK설치
+ Spring Boot는 3.x.x 버전을 사용하고, JDK는 17버전을 사용할 예정이다.
$ sudo apt update && /
sudo apt install openjdk-17-jdk -y
2. 설치 확인
$ java -version
3. Github으로부터 Spring Boot 프로젝트 Clone
(https://github.com/JSCODE-EDU/ec2-spring-boot-sample)
$ git clone https://github.com/JSCODE-EDU/ec2-spring-boot-sample.git
$ cd ec2-spring-boot-sample
4. application.yml 파일 직접 생성
일반적으로 민감한 정보가 포함된 파일은 Git으로 버전 관리를 하지 않는 것이 일반적이다.
(gitignore에 추가된 파일)
따라서, 별도로 EC2에 올려야하지만, EC2 인스턴스에 직접 만드는 게 더 간단하다.
server:
port: 80
5. 서버 실행
$ ./gradlew clean build # 기존 빌드된 파일을 삭제하고 새롭게 JAR로 빌드 (프로젝트 폴더 내에서 실행)
$ cd ~/ec2-spring-boot-sample/build/libs
$ sudo java -jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar
+ 백그라운드에서 Spring Boot 실행
$ sudo nohup java -jar ec2-spring-boot-sample-0.0.1-SNAPSHOT.jar &
6. 작동 확인
브라우저에 IP와 80번 포트를 입력해서 확인한다.
추가적으로, 실습을 마쳤다면 인스턴스와 탄력적 IP를 모두 삭제해야 비용이 발생하지 않는다.
'DevOps' 카테고리의 다른 글
[AWS] EC2 설정 (0) | 2024.07.15 |
---|---|
[AWS] EC2 (0) | 2024.07.15 |
[AWS] node.js 서버 배포하기 (1) | 2024.05.26 |