-
-
클라우드 서비스 개발자를 위한 AWS로 구현하는 CI/CD 배포 입문 - 신입 개발자부터 실제 서비스 구축 경험이 없는 모든 개발자를 위한 실무 밀착형 입문서!
최주호.정재원.정동진 지음 / 앤써북 / 2023년 3월
평점 :
구판절판
*** 클라우드
AWS는 세계에 물리적인 서버 컴퓨터를 원격으로 대여해주는 서비스 입니다.
클라우드 서버를 제공해주는 업체가 대표적으로 AWS와 GCP (Google Cloud - Google Cloud Platform) 가 있습니다.
우리나라에서는 KT클라우드, 네이버클라우드, NHN클라우드 등이 있습니다.
클라우드 서버를 이용하게 되면 리눅스 서버를 많이 이용하게 됩니다.
프로세스를 관리하고, 설정된 파일을 수정할수 있는 VIM 에디터 사용법과 권한 관리에 대해 배우게 됩니다. (총 13단계를 통해 리눅스 명령어를 배울 수 있습니다.)
로컬 컴퓨터에 개발이 끝난 프로젝는 Github를 통해서 운영서버에 배포를 하는 흐름도를 설명하고 있습니다.

우리들이 보통 사용하고 있는 유동 IP 형태입니다.

운영을 하기 위해서는 유동 IP가 아닌 고정 IP가 필요합니다.
고정IP는 AWS에서 제공하고 있으므로 신청하시면 됩니다. 참고로 한개는 무료로 제공되지만 두개 이상부터는 비용이 발생할 수 있습니다.
AWS는 사용료가 후불제이기 때문에 사용함에 있어서 조심해야 합니다.
*** 프로젝트 다운받아서 배포 실습
package com.metacoding.v1.web;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RestController
public class HelloController {
@GetMapping("/aws/v1")
public String hello(@RequestParam(defaultValue = "1") Integer number){
if(number == 1){ // info 로그
log.info("/aws/v1 이 호출되었어요. info 로그 #####################################");
}else if(number == -1){ // error 로그
log.error("/aws/v1 이 호출되었어요. error 로그 #####################################");
}else if(number == 0){ // warn 로그
log.warn("/aws/v1 이 호출되었어요. warn 로그 #####################################");
}
return "<h1>aws v1</h1>";
}
}
** 결과

AWS 앨라스틱빈스톡을 활용해서 쉽게 배포할 수 있습니다.
Elastic Beanstalk은 JAVA, .NET, PHP, Node.js, 등 Docker를 사용하여 개발된 웹 애플리케이션 및 서비스를 서버에 손쉽게 배포하고 확장할 수 있는 서비스 입니다.
Elastic Beanstalk 장점은 OS설치나 JDK 설치 과정이 필요 없다는 점입니다.
이미 필요한 소프트웨어들이 설치되어 있어서 설정만 하면 됩니다.
프로젝트를 만들고 서버에 배포하기 까지 쉬운과정은 아니지만 책을 통해서 천천히 따라 하시면 금방 배울수 있도록 스샷과 함께 부연설명이 잘되어 있습니다.
동영상도 38강 제공하니 필요에 따라 시청하시면 AWS를 이해하는데 정말 많은 도움이 될 것 같습니다.