* 이 포스트는 전 배달의민족, 현재 인프런에 계시고 유튜브 개발바닥의 크리에이터이신 개발자 이동욱님의 '스프링부트와 AWS로 혼자 구현하는 웹 서비스'를 기반으로 작성되었음을 알립니다. 포스트 맨 아래에 관련 링크가 있습니다. 책의 내용을 기반으로 작성되기에 실습 중이라면 책을 main 해당 포스트를 sub로 참고해주세요. 책의 설명이 부족한 부분 위주로 포스트가 구성됩니다.
* 6장부터인 배포 과정은 빌드 부분 포스트들과 달리 문제 해결 위주로 포스트가 구성되어 있습니다. 전체 과정이 궁금하시다면 책이나 다른 블로그들을 참고해주세요.
* 한번에 되시는 분은 정말 아무 문제 없으실 수 있지만 배포시 문제가 생긴다면 정말 고생합니다. 필자 역시 빌드 부분은 프로젝트도 포스팅도 금방 완성했지만 배포 부분은 진행하며 엄청나게 시간을 썼습니다. 따라서 배포 과정 중 문제가 해결이 안되신다고 해서 무작정 시간을 들이는 것은 추천하지 않습니다.
# 배포파트는 크게 6장 서버 생성 > 7장 RDS(DB) 생성 > 8장 프로젝트 배포 > 9장 배포 자동화 > 10장 무중단 배포 이렇게 이루어져 있습니다.
6.1 AWS 회원가입
# 시작 전
빌드가 어느 정도 진행된 분이라면 배포에 대한 고민을 해야합니다. 책 내용대로 배포시 24시간 작동하는 서버를 구축하기 위해선 크게 3가지 방법이 있으며 저희는 AWS EC2를 이용할 예정입니다. 또한 책에 나온 Iaas, Paas에 대해선 다음처럼 간단히 알고 넘어가셔도 됩니다.
- IaaS : 기존의 서버, DB 등 인프라를 개발자가 구축할 필요 없이 대여해서 이용 가능한 서비스
- PaaS : [IaaS] + [OS, WAS, DB 등의 플랫폼], 일반적으로 서버 인프라를 직접 관리할 필요가 없는 서비스
- SaaS : for Developer & User, 클라우드 같은 소프트웨어를 직접 다 설치하지 않고 이용 가능한 서비스
# 사용 요금 설정
AWS를 사용하시다보면 추가 과금이 되는 경우도 더러 발생합니다. 그럴 경우 빠르게 Catch하기 위한 설정을 할겁니다.
- 상단 검색창에 billing이라 검색하고 나오는 첫 항목 선택
- 설정에서 알림 받기 체크
6.2 AWS 인스턴스 생성
# AMI 선택
책의 아마존 리눅스1 대신 리눅스2를 선택합니다. 시간이 지나 1은 지원 기간이 종료되었습니다.
# 보안 그룹
현재 장에선 책 그대로 진행하시면 됩니다. 단, 이후 rds의 보안 그룹과 별개로 존재해야한다는 걸 기억하는 정도면 충분합니다. 이후 다시 언급하겠습니다.
6.3 EC2 서버에 접속
# Vim 사용
책의 Config를 파일을 수정하는 과정에서 Vim을 사용해야하며 책에서 이후 사용법에 대한 내용이 있습니다. 여기선 간단하게 $vim [파일명] 명령어로 파일을 연 후 i를 눌러 insert mode, esc를 눌러 normal mode에 진입하고 insert mode에서만 수정이 가능하다는 것만 알면 됩니다.
6.4 EC2 서버 설정
# 권한 설정
책의 내용대로 진행하되 부연설명 조금만 하고 넘어가겠습니다. 리눅스 명령어는 권한이 중요하고 sudo란 prefix는 root 계정의 권한을 빌려 사용한다는 의미입니다. 따라서 sudo로 진행이 안될시 $sudo su- 명령어를 사용합니다. 반드시 su가 아닌 su-로 입력합니다.(둘다 root계정으로 전환한다는 것은 동일하지만 전자는 홈 디렉토리가 변경됩니다)
6장은 책 내용이 거의 그대로 적용되어 문제를 만날 가능성이 적을 것이라 예상합니다.
refer
이동욱님 블로그의 관련 포스트 : https://jojoldu.tistory.com/539?category=717427
개발바닥 유튜브 :https://www.youtube.com/channel/UCSEOUzkGNCT_29EU_vnBYjg
개발바닥
본격 세계최초 DEV 엔터테인먼트 토크쇼 두 스타트업 개발자의 요절복통 이야기 구독 안하면 장애남!!
www.youtube.com
이동욱님 github의 해당 repository : https://github.com/jojoldu/freelec-springboot2-webservice
'Project' 카테고리의 다른 글
P1_클론 프로젝트(feat. 스프링부트와 AWS로 혼자 구현하는 웹 서비스)_8 (0) | 2022.04.08 |
---|---|
P1_클론 프로젝트(feat. 스프링부트와 AWS로 혼자 구현하는 웹 서비스)_7 (0) | 2022.04.08 |
P1_클론 프로젝트(feat. 스프링부트와 AWS로 혼자 구현하는 웹 서비스)_5-2 (0) | 2022.03.30 |
P1_클론 프로젝트(feat. 스프링부트와 AWS로 혼자 구현하는 웹 서비스)_5-1 (0) | 2022.03.30 |
P1_클론 프로젝트(feat. 스프링부트와 AWS로 혼자 구현하는 웹 서비스)_4 (0) | 2022.03.28 |