본문 바로가기

스프링부트와 AWS로 구현하는 웹서비스

(18)
[스프링부트/AWS] 마무리 및 느낀점 jojoldu.tistory.com/463 [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 출간 후기 (출판사: 프리렉, 쪽수: 416, 정가: 22,000원) 서적 링크 오프라인 서점에는 2019.12.04 (수) 부터 올라갈 예정입니다. 강남 교보문고나 광화문 교보문고는 주말에도 올라올 순 있겠지만, 혹시 모르니 jojoldu.tistory.com 처음 이 책을 추천받고 마지막 장까지 약 3달의 시간이 걸렸습니다. 처음 막연하게 Spring Boot ~ 무중단 배포까지 하려고 했을 때에는 너무 겁을 먹어서 할 생각 조차 없었습니다. 그런데 이 책을 따라하면서 한장 한장 진행하다보니 제가 시작하기 전에 너무 겁을 먹지 않았나 생각이 들었습니다. 물론 책과 현재 서비스 중인 AWS 서비스 들과의 차이..
[스프링부트/AWS] 9장 코드가 푸시되면 자동으로 배포해보자 24시간 365일 운영되는 서비스에서 배포 환경 구축은 필수 과제 중 하나입니다. 여러 개발자의 코드가 실시간으로 병합되고, 테스트가 수행되는 환경, master 브랜치가 푸시되면 배포가 자동으로 이루어지는 환경을 구축하지 않으면 실수할 여지가 너무 많습니다. 그래서 이번 장에서는 24시간 365일 무중단 배포 환경을 구성하였습니다. - CI & CD 소개 1) CI ( Continuous Integration - 지속적 통합 ) 코드 버전 관리를 하는 VCS 시스템(Git, SVN 등)에 PUSH가 되면 자동으로 테스트와 빌드가 수행되어 안정적인 배포 파일을 만드는 과정 2) CD ( Continuous Deployment - 지속적인 배포 ) CI 배포 결과를 자동으로 운영 서버에 무중단 배포까지 진..
[스프링부트/AWS] 10장 무중단 배포 서비스 9장에서 배운 Travis CI를 사용하면 새로운 Jar가 실행되기 전까진 기존 Jar를 종료시켜 놓기 때문에 서비스가 중단됩니다. 그러나 24시간 서비스하는 네이버나 카카오톡 같은 경우 배포하는 동안 서비스가 정지되지는 않습니다. 어떻게 서비스 중단 없이 배포를 계속 할 수 있는지 알아보겠습니다. - 무장단 배포 방식 AWS에서 블루 그린(Blue-Green) 무중단 배포 도커를 이용한 웹서비스 무중단 배포 https://aws.amazon.com/ko/quickstart/architecture/blue-green-deployment/ AWS의 블루-그린 배포 - Quick Start AWS에서 블루/그린 아키텍처를 구축하려면, 배포 안내서의 지침을 따르십시오. 약 15분이 걸리는 배포 프로세스는 다음..
[스프링부트/AWS] 8장 EC2 서버에 프로젝트를 배포해보자 - EC2 Project Git Clone # git 설치 sudo yum install git # git version 확인 git --version # git clone으로 저장할 디렉토리 설정 mkfir ~/app && mkdir ~/app/step1 # step1 폴더로 이동 cd ~/app/step1 # git clone 진행 git clone https://github.com/oss0202/com.jordy.book.git # 프로젝트로 이동 후 올바르게 clone이 진행되었는지 파일 확인 cd 프로젝트 명 ll # chmod로 실행 권한 추가 chmod +x ./gradlew # 코드 테스트 ./gradlew test eunguru.tistory.com/93 [UNIX / Linux] 권한 ..
[스프링부트/AWS] 7장 AWS에 데이터베이스 환경을 만들어보자 (RDS) - RDS(Relational Database Service) aws.amazon.com/ko/rds/?trkCampaign=acq_paid_search_brand&sc_channel=ps&sc_campaign=acquisition_KR&sc_publisher=Google&sc_category=Database&sc_country=KR&sc_geo=APAC&sc_outcome=acq&sc_detail=amazon%20relational%20database%20service&sc_content= 데이터베이스 관리 시스템 | 관계형 RDS | Amazon Web Services Amazon Relational Database Service(RDS)를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, ..
[스프링부트/AWS] 6장 AWS 서버 환경을 만들어보자 AWS - EC2 ※ 참고사항 앞으로 진행하는 실습은 터미널(CMD)에서 주로 진행됩니다. 그래서 저같은 경우에는 파일명, sciprt 오타로 인해서 이슈가 많이 발생했었습니다. 책 또는 블로그에 따라서 진행하면서 정상동작이 안되는 경우에는 오타가 있는지, 없는 지 확인 후 저자 git issue(github.com/jojoldu/freelec-springboot2-webservice/issues) 또는 구글링을 하면 좋습니다. ※ Amazon Linux 2 AMI으로 진행 Amazon Linux AMI의 표준 지원은 2020년 12월 31일에 종료되었다고 합니다. 그래서 Amazon Linux 2 AMI으로 진행합니다. aws.amazon.com/ko/amazon-linux-ami/ AWS | Amazon Linux A..
[스프링부트/AWS] 5장 스프링 시큐리티와 OAuth 2.0으로 로그인 구현하기 - Spring Security Spring Security(스프링 시큐리티)는 Authentication(인증)과 Authrization(인가)기능 (혹은 권한 부여)을 가진 프레임워크 입니다. Interceptor, Filter 기잔의 보안 기능을 구현하는 것보다 스프링 시큐리티를 통해 구현하는 것을 적극적으로 권장하고 있습니다. Spring Security는 filter 기반으로 동작하기 때문에 Spring MVC와 분리되어 관리 및 동작합니다. ※ 보안관련 용어 정리 접근 주체(Principal) : 보호된 대상에 접근하는 유저 인증(Authenticate) : 현재 유저가 누구인지 확인(ex. 로그인) 애플리케이션의 작업을 수행할 수 있는 주체임을 증명 인가(Authorize) : 현재 유저가 ..
[스프링부트/AWS] 4장 게시글 수정, 삭제 화면 만들기 3 - 게시글 수정 화면 만들기 게시글 수정 API는 이미 만들어 두었습니다.(freewebdev.tistory.com/53) 1) PostsApiController 확인 ... public class PostsApiController { ... @PutMapping("/api/v1/posts/{id}") public Long update(@PathVariable Long id, @RequestBody PostsUpdateRequestDto requestDto){ return postsService.update(id, requestDto); } ... 2) 수정화면 생성(posts-update.mustache) {{>layout/header}} 게시글 수정 글번호 제목 작성자 내용 취소 수정완료 {{>lay..