1 분 소요

aws

배포란? 다른 사용자들이 인터넷을 통해서 사용할 수 있게 만드는 것

EC2 설정

Ec2란?

  • 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스, 하나의 컴퓨터라고 생각하면 쉽다.

  • 주로 백엔드 서버를 배포하기 위해 사용, 프론트는 S3를 주로 사용한다.

aws1

이름 및 태그 설정 - 원하는 이름으로 설정

OS images - ubuntu, window, Mac 등등 여러가지가 있지만 ubuntu가 서버 배포시 필요한 기능들만 들어있어서 가장 가볍고 성능이 좋다.

aws2

인스턴스 - EC2에서 빌리는 컴퓨터 한대를 의미하는 하나의 단위

인스턴스 유형 - 컴퓨터 성능이라고 생각하면 된다.

aws3

키 페어 - EC2에 접속할 때 사용하는 비밀번호

키 페어 생성 - 키페어 이름 설정(직관적으로 알아볼 수 있게 설정하는게 좋다)

aws4

방화벽(보안그룸)? aws 클라우드에서의 네트워크

EC2 인스턴스를 집이라고 생각한다면 보안 그룹은 집 바깥쪽에 쳐져있는 울타리와 대문이다.

집에 접근할 때 접근해도 되는 요청인지 검사를 하는 것과 비슷하다.

보안 그룹에는 인바운드 트래픽(외부에서 ec2로 보내는 트래픽)과 아웃바운드 트래픽(ex2인스턴스에서 외부로 나가는 트래픽)이 있다.

보안 그룹을 설정할 때 허용할 ip범위와 port를 설정할 수 있다.

인바운드 보안 그룹 규칙 ssh

  • 원격 접속을 위한 경로(어디서든 접근할 수 있게 설정)

  • Http - 백엔드 서버를 8080번 포트로 띄운다고 했을때 새로운 규칙을 만들어 설정할 수 있다.

탄력적 ip

Ec2 인스턴스를 생성하면 ip를 할당한다. 하지만 이것은 임시적인 ip이기 때문에 인스턴스를 중지시켰다가 다시 실행해보면 바껴있다.

그래서 이를 해결하는 고정 ip를 할당해야한다. 그리고 이게 탄력적 ip이다.

메뉴 - 탄력적ip - 작업에서 설정할 수 있다.

스프링부트 연결하기

가장 먼저, 생성한 EC2 인스턴스에 연결한다.

과정

sudo apt update : 패키지 업데이트

sudo apt install openjdk-17-jdk -y : jdk설치

git clone ~ : 배포하고 싶은 파일을 깃에서 가져옴

cd 최상단파일 : 최상단 파일로 이동

./gradlew clean build : 프로젝트 빌드

이후 /build/lib 경로로 이동

nohup java -jar ~SNAPSHOT.jar & : Java 애플리케이션을 백그라운드에서 실행하기 위해 사용

카테고리:

업데이트: