❯ 서버 배포
EC2를 통해 서버를 배포하게 된다.
처음 EC2 인스턴스를 생성하면 우리가 컴퓨터를 새로 샀을때처럼 깨끗한 상태인데, 필요한 개발 환경을 먼저 구축하고 서버를 배포한다.
EC2 인스턴스에서 Session Manager를 실행하여 bash 쉘, 홈경로(~) 로 이동하여 아래 실습을 진행했다.
패키지 매니저가 관리하는 패키지 정보를 최신 상태로 업데이트 하기 위해 아래 코드를 실행한다.
$ sudo apt update
현재 java 11 버전을 사용하고 있으므로 아래 코드를 입력하여 java를 설치한다.
$ sudo apt install openjdk-11-jre-headless
애플리케이션 코드를 업로드(클론) 해주고, 빌드 후 실행해주면 애플리케이션이 실행된다.
java -jar build/libs/jar파일명.jar // 포그라운드에서 실행하는 방법
nohup -jar build/libs/jar파일명.jar & // 백그라운드에서 실행하는 방법
❯ 클라이언트 배포
S3를 통해 클라이언트를 배포하게된다.
정적 웹사이트 호스팅용 버킷을 구성하고 정적 파일을 버킷에 업로드한다. 이후 액세스 권한에 관한 내용을 설정해주면 배포가 완료된다.
이 때 파일내에서 배포한 서버 주소로 요청이 제대로 갈 수 있도록 프론트엔드 파일 중 ***.js 파일의 서버의 주소(EC2의 주소)를 설정해주는 것이 필요하다.
const url = "EC2의 주소를 입력해준다."
❯ 데이터베이스 연결
서버 배포와 클라이언트 배포가 끝났으면 DB를 연결할 수 있다.
RDS 인스턴스를 생성하고 MySQL을 통해 인스턴스에 접속한다.
mysql -u [마스터 이름] --host [엔드 포인트 주소] -P 13306(포트 번호) -p
인스턴스 실행이 완료되었으면 현재 실행중인 서버와 연동이 필요하다.
서버 코드의 설정파일에 spring.datasource.url=RDS 엔드포인트 주소:포트 를 추가하고, username과 password를 지정해준다.
config.domain에는 AWS S3의 엔드포인트 주소를 입력해준다. CORS 설정을 위해 통신할 클라이언트 도메인이 필요하기 때문이다.(이 때 주소에는 http:// 가 포함되어야함)
위 과정을 통해서 클라이언트, 서버, DB 배포를 완료할 수 있다.
참고자료
'부트캠프 개발일기 > Cloud' 카테고리의 다른 글
77일차: 운영 전략 (0) | 2023.06.02 |
---|---|
76일차: Github Actions (0) | 2023.06.01 |
75일차: AWS 배포 자동화(Automated Deployment) (0) | 2023.05.31 |
74일차: Docker (0) | 2023.05.30 |
72일차: 배포(AWS) (0) | 2023.05.25 |