독학/[etc] 개발 관련 내용 정리

[배포🌎] AWS EC2, GitHub Action, Docker compose를 이용한 CI/CD 자동화 (1)

최연재 2025. 5. 18. 16:33

🚀 시작하기 전 환경 설정

회원가입 : AWS, Docker

다운로드 : PuTTy, PuTTYgen

 

제가 보려고 만든 거라 비효율적이거나 부정확한 정보가 있을 수 있습니다.

 

✨ 목표 아키텍쳐

 

1. AWS EC2 인스턴스 생성하기

인스턴스 시작 버튼을 클릭합니다.
이름을 적고, 사진대로 설정합니다.
키 페어를 생성합니다. 이때 받는 pem 키는 삭제하면 안 됩니다.
스토리지를 구성합니다.
보안 그룹을 새로 만들고 초기 인바운드 규칙을 설정합니다.

2. PuTTyPuTTYgen

2.1 시작 전

1) 퍼블릭 IPv4 주소 입력하기

 

2) 키페어를 생성하면서 받은 pem 키를 ppk로 수정하기

🪄 자세한 방법 보러가기 : https://calvinjmkim.tistory.com/20

 

PEM파일을 PPK로 변경하기 (PEM to PPK)

윈도우즈에서 간단한 터미널 툴을 사용하고 싶을 때 가장 먼저 생각나는 툴이 Putty이다. 기본적인 기능만 갖추고 있고, 간단하고, 설치할 필요도 없고, 용량마저 작은 것이 그 매력이 아닐까 싶

calvinjmkim.tistory.com

ppk 키를 PuTTy에 등록합니다.

3) 로그인

ubuntu로 로그인하면 됩니다

 

2.2 Private SSH Key 생성하기

1) 로그인 후 아래 명령어 입력

$ cd ~/.ssh
$ ssh-keygen -t rsa -C 깃허브 계정 이메일

 

2) id_rsa.pub 파일을 cat 명령어로 출력해 GitHub SSH Key에 추가

 

2.3 여유 공간 미리 확보하기

🔦 과거 배포 시 갑자기 서버 cpu 사용률이 100%가 돼서 접근이 안 된 경험이 있습니다. 어떻게 해도 안 돼서 아예 처음부터 다시 시작했었고 그 이후로는 무조건 미리 메모리 여유 공간을 확보해주고 세팅을 시작합니다.

- 아래 명령어를 차례대로 실행합니다. Permission denied가 나오면 명령어 앞에  sudo를 붙여서 실행합니다.

$ free
$ sudo dd if=/dev/zero of=/swapfile bs=1K count=2000000
$ sudo chmod 600 /swapfile
$ mkswap /swapfile
$ swapon /swapfile

 

 

🌎 참고

https://cobi-98.tistory.com/73

 

[협업프로젝트] SpringBoot 프로젝트 EC2 배포하기

서론 프론트엔드와 rest api 협업 프로젝트를 진행하고 있어, 백엔드 서버를 배포해야 한다. github에 있는 프로젝트를 AWS EC2 ubuntu 환경에서 git clone으로 내려받아 jar 파일을 빌드하여 서버를 배포해

cobi-98.tistory.com

https://falsy.me/%EC%86%8C%EC%86%8C%ED%95%9C-%EA%B0%9C%EB%B0%9C-%EC%9D%BC%EC%A7%80-ec2%EC%9D%98-cpu-%EC%A0%90%EC%9C%A0%EC%9C%A8%EC%9D%B4-100%EB%A1%9C-%EB%A9%88%EC%B6%9C-%EB%95%8C-ubuntu-nginx/

 

폴시랩

자바스트립트, PHP, 워드프레스, HTML, CSS, 팁, 가이드, 일상이야기.

falsy.me