혼자서 서버를 배포하려니 Docker 강의는 이미 deprecate되었고 블로그의 설명들은 알아보기 힘든 면이 있어
서버를 배포하는데 많은 시행착오가 있었다... 나와 같은 이들을 위해 이 글을 남긴다.
목표: 1. AWS배포 // 2. Git action을 이용한 CI/CD 구축 // 3. RDS를 사용한 클라우드 DB사용
(프런트엔드는 같이 배포하지 않고 백엔드 API 서버만을 배포한다)
1. AWS Elatic Beanstalk 개설
EC2나 RDS로 만들지 않고 곧바로 Elasti Beanstalk로 만든다.
서비스 내부에 RDS와 EC2를 간편하고 구현할 수 있고 무료로 사용할 수 있다.
Docker running on 64bit Amazon Linux 2로 구축해준다.
이후 추가 옵션 구성 클릭 -> 데이터베이스 추가
MySQL로 RDS를 생성한다.
Docker컨테이너와 파일 구성과 맞추기 위해 5.7xx버전을 선택했다.
2. 인바운드 규칙 설정
(1) DB포트 관련 인바운드
EC2를 검색해 네트워크 및 보안에 있는 인바운드 규칙을 편집해준다.
위와 같이 요청에 대해서 열어주어야 워크벤치에서 RDS 검증이 가능하다.
(2) 접속 관련 인바운드
이후 위의 두가지를 인바운드 규칙으로 설정 해준다.
3. 환경파일 수정
위에 있는 엔드포인트를 복사해서
.env 파일의 MYSQL_HOST에 넣어준다.
이외의 다른 MYSQL 환경들도 로컬이 아는 RDS를 기준으로 값을 넣어준다.
4. 워크벤치에서 스키마 생성
설정을 끝내준 다음 MySQL에서 워크벤치에 위와 같이 Hostname에 RDS의 엔드포인트를 주소로 넣고 연결해준다.
DB로 사용할 스키마(myfolio) 생성. 로컬에서도 npm start로 엔티티가 생성되는지 확인 해본다.
'DevOps' 카테고리의 다른 글
AWS SAA C03 덤프 오답 정리 (100 ~ 200) (0) | 2024.01.26 |
---|---|
AWS SAA C03 덤프 오답 정리 (0 ~ 100) (0) | 2024.01.16 |
github-action에서 변화된 모든 commit message를 추출하는 방법 (0) | 2023.07.23 |
Docker와 Git Action을 이용한 AWS배포 (3) (0) | 2023.02.21 |
Docker와 Git Action을 이용한 AWS배포 (2) (0) | 2023.02.21 |