[SpringBoot + React] 1. EC2 인스턴스 생성

울상냥·2023년 1월 22일
0

배포

목록 보기
3/18

첫번째로 스프링부트를 돌려줄 서버를 만들어야한다.
프리티어는 1달에 750시간동안 EC2를 무료로 이용할 수 있어서 인스턴스 1개만 돌린다면 과금이 없을것 ..
(이지만 청구서를 자주 자주 확인하여 AWS에 봐달라고 메일보내는 일이 없도록 하자,,)


1-1. IAM 역할 생성하자..

우선 EC2용 IAM역할을 생성해줘야 한다.

EC2를 선택해준 후

CodeDeploy 와 S3 FullAcess 정책 두개를 추가해 생성하면 끝!


1-2. EC2 인스턴스를 생성하자..

서울 지역에서 인스턴스를 생성해줬다.

대강 이름설정하고 운영체제는 우분투 20.04를 선택해줬다.
(처음에 22.04버전을 선택했는데 CodeDeploy Agent가 작동하지 않아서 20.04버전으로 다시 생성했더니 작동했다,,)

인스턴스 유형은 그대로 두고 키 페어를 생성해줘야한다.

OpenSSH로 접속할거라서 .pem 그대로 두고 키페어 생성해서 넣어준다.

프리티어는 30GB까지 무료라서 늘려줬다.
대강 이렇게 인스턴스 생성을 하고

1-3. EC2 설정을 하자..

생성된 인스턴스 > 작업 > 보안 > IAM 역할 수정
에서 아까 만든 IAM 역할을 넣어준다.


생성된 인스턴스 > 보안 > 보안그룹 > 인바운드 규칙 편집 > 규칙추가
에서 일단은 톰캣 포트 8080만 열어주었다.

1-4. 탄력적 IP설정을 하자..

인스턴스를 중지하고 다시 실행하는 경우가 생길 수 있는데 이런 경우에는 할당받았던 IP주소가 바뀌는 불상사가 발생한다. 고로 Elastic IP를 할당받아 고정IP 주소를 사용한다.
프리티어에서는 탄력적 IP를 할당받고 인스턴스에 연결해주지 않으면 요금이 발생하니 주의하도록 하자. (인스턴스 지워놓고 깜빡해서 쿨하게 500원 결제)

탄력적 ip 주소 할당 > 할당 하면 끝이다.

할당받은 탄력적 ip > 탄력적 ip주소 연결에서 위에서 만든 EC2인스턴스를 선택해주면 끝!

이후 서버의 ip주소는 이 탄력적 ip주소로 사용하면된다.

1-5. 인스턴스에 이것저것 설치하자..

OpenSSh로 인스턴스 접속은 친절히 구글링으로 알아보자..!

CodeDeploy Agent

생성한 EC2에 접속해서 CodeDeploy Agent를 설치해줘야한다.

친절한 아마존 설명서

위 링크에 나와있는대로 진행한다. 아마존은 정말 친절하게 알려준다

jdk 설치

프로젝트 버전에 맞게 설치해준다.
이번 프로젝트는 java 11버전이라 11버전에 맞게 설치해줬다.

$ sudo apt-get install openjdk-11-jdk
$ java -version

설치후 버전 확인을하고,,

Mariadb 설치

mariadb를 사용할 예정이기 때문에 미리 설치해줬다.
대강의 설치 과정은 [Ubuntu] EC2 mariadb 설치 + 스프링부트 연동하기 에 작성해 두었다
연동이 문제 없으면 CodeDeploy의 EC2배포후에 SpringBoot가 잘 돌아갈 것이고.. 문제가 있다면 db관련 에러를 뱉을 것,,

Redis 설치

로그인 jwt토큰을 redis에 저장할 것이기 때문에 설치해줬다.

$ sudo apt-get install redis-server
$ redis-server --version

시간 설정

추후를 생각해서 미리 시간 설정을 해줬다
EC2 한국 시간 설정하기



이정도면 EC2 관해서는 할만큼 했다고 볼 수 있다. (아마도..)
다음은 S3버킷을 생성해야한다!
>>다음 이야기,,

profile
안되면 되게하라

0개의 댓글