오티스의개발일기

무중단 배포 (4) [ aws EC2 생성 편 ] spring boot + mysql + docker + github actions 본문

개발/spring boot

무중단 배포 (4) [ aws EC2 생성 편 ] spring boot + mysql + docker + github actions

안되면 될때까지.. 2025. 1. 20. 10:03
728x90

이번시간에는

ec2 에서 인스턴스를 생성하고

전반적인 기반만 만들어 보겠습니다.

 

 

 

목차

1. 프로젝트 생성 

2. SQL 설정

3. git 생성

4. aws EC2 생성 😀

5. aws ssh 설정 및 필수 라이브러리 설치

6. docker 를 이용한 nginx 설정

7. docker 를 이용한 mysql 설정

8. spring boot HealthcheckController 작업 및 yml + Dockerfile 작업

9. Github Actions 설정

10. 최종 배포

 

 

전체 코드는  여기에 올라와있습니다.

https://github.com/1domybest/Spring_none_stop_deploy

 

GitHub - 1domybest/Spring_none_stop_deploy

Contribute to 1domybest/Spring_none_stop_deploy development by creating an account on GitHub.

github.com

 

 

 

 

4. aws ec2 생성하기

 

인스턴스를 사실상 프리티어로 진행해야 맞지만

지금 작업하는 내용은 메모리가 1기가 이상이 필요함으로

최소 t2.small 은 사용해야

작업이 가능한 내용이므로

 

작업하는동안은 과금이 부과될수있다는점 말씀드립니다.

꼭 작업이 끝나면 인스턴스를 꺼주세요!

그러면 시작하겠습니다.

 

1. aws 가입을 진행합니다

이건 개인적으로 가입하시면됩니다.

aws 가입후에 ec2 에 접근합니다

 

https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#Home:

 

https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#Home:

 

ap-southeast-2.console.aws.amazon.com

 

 

2. 인스턴스 생성

 

 

 

 

3. 키 페어 생성하기

 

 

 

키를 생성한 이후에는 꼭 저장을 해주세요 재발급이 불가능합니다.

 

 

 

나머지 설정은 그대로 두되

스토리지는 최대 30G 까지 가능하므로 원하시는 용량을 선택하시면됩니다.

저는 그대로 8G를 사용하겠습니다.

 

 

 

 

인스턴스 시작을 클릭하여 인스턴스를 제작해주세요

 

 

이렇게 인스턴스가 생성되면 이제는 탄력적 IP를 사용하여

퍼블릭 IP를 고정하는 작업을 해야합니다.

왼쪽 시트에 네트워크보안 → 탄력적 IP 로 들어가면 탄력적 IP주소 할당이라는 버튼이 있습니다.

이걸 클릭하여

 

 

 

아래 오른쪽 할당을 클릭해주고

 

 

 

 

이 주소를 클리하고 들어가면 이러한 탄력적 IP 주소 연결 이라는 버튼이 있습니다

이걸 클릭해주세요

 

 

 

방금 만든 인스턴스를 클릭해주시고

아래에 재연결 체크박스를 채워주신후에 연결을 클릭해주세요!

 

 

이제 보안 작업을 해보겠습니다!

 

 

아래 보안을 클릭해주시고

 

 

 

보안그룹을 클릭해줍니다

 

 

그리고 오른쪽에있는 인바운드 규칙 편집을 클릭

 

 

 

 

위 그림과 같이 80 포트와 443 포트를 열어주고

규칙저장을 눌러주세요!

이렇게하면 보안규칙에대한 설정이 끝이납니다.


이제 SSH 작업을 해보겠습니다

저는 Mac 사용하기때문에

AppStore 에있는 Termius 라는 앱을 사용하여 SSH 를 연결하겠습니다

이건 운영채제에 따라 방식이 다르고 putty를 사용하시고싶으시다면

검색해서 연결해보시기 바랍니다.

https://apps.apple.com/kr/app/termius-ssh-sftp-client/id1176074088?mt=12

 

‎Termius - SSH & SFTP client

‎Termius is an SSH client and terminal how it should be. Connect with one tap from any mobile and desktop device—no re-entering IP addresses, ports, and passwords. With a free Termius Starter plan, you can: · Connect from your mobile and desktop devic

apps.apple.com

 

 

 

 

NEW HOST 를 클릭해주세요

이전에 발급받은 탄력적 IP를 등록하시고

label은 구분하기위한 이름이니 원하시는 이름을 적으시면되고

마지막으로 아래 Credential from Personal vault 에는

username 은 ubuntu 를 적으시고 Connect를 눌러주세요

 

 

 

Add and continue → Add key 클릭하시고

이곳에 아까 EC2에서 다운로드받은 시크릿키를 txt파일로 열어서

안에 내용을 복사하여 PrivateKey 에 넣어주시면 됩니다.

 

 

 

이렇게하면

ec2에 만든 가상 인스턴스 컴퓨터에 접근할수 있게됩니다.

 

 

 

여기까지 하고 다음시간에는  aws ssh 설정 및 필수 라이브러리 설치 을 진행하겠습니다

 

 

다음글

 

aws ssh 설정 및 필수 라이브러리 설치

 

spring boot + mysql + docker + github actions 무중단 배포 (5) [ aws ssh 설정 및 필수 라이브러리 설치 편 ]

이번 시간에는AWS EC2 에 Docker 를 설치하고설치한 Docker로 Nginx 를 설치하고 설정하겠습니다  목차1. 프로젝트 생성 2. SQL 설정3. git 생성4. aws EC2 생성5. aws ssh 설정 및 필수 라이브러리 설치 😀6. do

otis.tistory.com

 

728x90
Comments