DevBoi

[AWS] 일단 EC2에 테스트 API를 띄워봅시다 본문

Infra/[AWS]

[AWS] 일단 EC2에 테스트 API를 띄워봅시다

HiSmith 2022. 11. 19. 12:37
반응형

일단 띄워보자

 

로컬에서 기본적인 세팅이된 프로젝트를 우선 생성해보자

이름은...음... WriterBackend로 가즈아

 

일단 이렇게 테스트 샘플 데이터를 넘겨주는 API를 개발해서 테스트 해봤다.

그리고 이걸 swagger로 표현해줄수있게끔 세팅해보자

 

 

http://localhost:8080/swagger-ui.html

 

성공적으로 API에 대한 스웨거가 노출이 된다.

물론 컨트롤러에 해당 API에 대한 설명을 별도 어노테이션으로 붙여줘야 한다.

그리고, 초기 세팅에 패키지 충돌로 인해 오류가 난다. (Null...)

여러 구글링해보면, 요로케 하라고한다.

요 방법이 싫다고 하면... 그냥 하나씩 api url 별로 matcher로 등록을 해주면 충돌이 나지 않는다.

우선 귀찮으니까.. 이렇게 해두고....

 

 

<AWS 세팅!>

이제 EC2 생성 및 해당 프로젝트를 EC2에 올려보자

 

EC2는 프리티어로 만들고

실제 서비스 운영중인 경우가 아닌경우에, 탄력적 IP를 하는게 좋다...

과금이 일단 되기 시작하니까..탄력적 IP는...

 

고로 그냥 해당 탄력 IP는 실제 서비스될때 인스턴스 재기동시 변경되지 않게하고

개발할떄는 그냥 참고 바꿔가면서 하자 ^^ 재기동하는 일이 얼마나 있을까 ㅋ 스프링도 재기동도 아니고 ㅋ

 

1) 키파일 통해 접근

우선 키페어를 생성하게 되면 다운로드를 받게되는데 해당 권한을 수정해야한다.

 

chmod 400으로 수정하자

ssh -i "smith-key.pem" ubuntu@퍼블릭IP 요로고 접근하면 끝이다.

호스트도 바꿔주자

 

<aws host 설정>

cp my-key.pem ~/.ssh/

 

chmod 600 my-key.pem

 

 

$ vi ~/.ssh/config

 

Host {원하는 호스트 이름}

User {유저 이름}

HostName {탄력적 IP}

IdentityFile {키 페어 파일 위치}

 

요로케 추가해주면, ssh (host명) 으로 그냥 접속이 가능하다는 ~

 

보안그룹도, RDS인 경우에 설정하는걸로 하고~

서비스 실제로 할때 탄력 IP로 세팅한다고 하고~

다음 스텝 ㄲㄲㄲ

 

<스프링 세팅!>

이제 스프링 옮기자

제일 간단한 방법으로는 local 빌드, (mvnw install  + scp )

이렇게 scp로 해당 우분투로 올리고 우분투에서 run 하는것이다.

물론, 나중에는 git에서 클론을 하거나, 젠킨스를 하면되지만... 일단 프로젝트 하고,,, 데브옵스를 생각해보자 ㅎㅎ

 

 

실제로 운영 중인 서버에서? 계속 띄워놓고싶다면

nohup java -jar WriterBackend-0.0.1-SNAPSHOT.jar  &

 

아니다, 단발성으로 터미널 로그아웃되면 프로세스도 킬 됬으면 한다

 nohup을 빼면 된다.

 

단, 터미널에서 나오게 되면, nohup은 계속 유지되는데 java -jar는 안된다.

무튼 정상적으로 세팅 + 호출이 외부에서 되는 것까지 확인했다.

반응형

'Infra > [AWS]' 카테고리의 다른 글

[AWS] EKS 세팅 방법  (0) 2023.05.12
[AWS] RDS 연결하다가 죽을 뻔 쓰  (1) 2022.12.03
Nginx  (0) 2022.05.10
[AWS] Jenkins 설정 및 세팅  (0) 2022.04.20
[AWS] AWS 웹서버 세팅 및 구축 정리  (0) 2021.12.21