장바구니 담기 close

장바구니에 상품을 담았습니다.

클라우드 서비스 개발자를 위한 AWS로 구현하는 CI/CD 배포 입문

클라우드 서비스 개발자를 위한 AWS로 구현하는 CI/CD 배포 입문

  • 최주호
  • |
  • 앤써북
  • |
  • 2023-03-15 출간
  • |
  • 300페이지
  • |
  • 190 X 250mm
  • |
  • ISBN 9791198189295
판매가

20,000원

즉시할인가

18,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
18,000

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

이 책의 내용을 학습하는 과정에서 오류가 발생하는 부분이 있으면 저자에게 질문할 수 있는 질문/답변 네이버 카페를 저자가 직접 운영한다.
- 메타코딩 https://cafe.naver.com/metacoding

이 책에서 사용할 모든 프로젝트 코드 및 실습 소스코드는 5쪽을 참조하거나 아래 github 주소에서 다운로드 받을 수 있다.
- https://github.com/codingspecialist/Aws-Deploy-EasyupClass

이 책을 보고 나면 localhost:8080에서만 개발이 끝나는 것이 아니라, 실제 URL 주소를 가지고 CI/CD 환경을 갖춘 서비스를 만들 수 있다.

이 책은 이런 분께 강력 추천한다!
- 클라우드 서비스에 관심 있는 모든 개발자
- 실제 서비스 구축 경험이 없는 모든 개발자
- 대학생 / 1년 미만 신입 개발자

이 책은 본문 내용만 학습해도 충분히 실습 내용을 이해할 수 있도록 쉽게 설명하였지만, 네트워크나 컴퓨터 사이언스 지식이 낮은 초보 개발자들을 위해 AWS EC2 기본 배포할 수 있는 전과정을 담은 동영상 강좌를 제공한다.

이 책의 예제 소스 코드, 저자에게 질문하는 방법은 책 5~6쪽을 참고한다.

목차

01 AWS 이해
01 - 1 AWS 배포를 위한 프로젝트 환경설정
1. 1 JDK 설치
JDK(Java Development Kit)
1. 2 환경변수 설정
1.2.1 윈도우 shell 명령어
1.2.2 환경변수 설정
1. 3 Visual Studio Code 설치
1.3.1 Java Extension
1.3.2 Spring Extension
1.3.3 Lombok
1. 4 포스트맨 설치
1. 5 Git 설치
1. 6 프로젝트 저장 경로

01 - 2 이 책의 학습 목표(AWS)

01 - 3 전산실을 구축할 때 고려할 점

01 - 4 AWS 탄생 배경
4. 1 제프 베이조스

01 - 5 AWS 회원 가입

01 - 6 EC2 서버 임대

01 - 7 EC2 서버에 접속하기(Windosw & Mac)
7. 1 Windows
7.1.1 mobaXtem 설치
7.1.2 mobaXtem 실행
7. 2 Mac
7.2.1 asw-key 파일이 저장되어 있는 경로로 이동
7.2.2 asw-key 파일에 실행 권한 부여
7.2.3 EC2 접속
7.2.4 한 줄로 EC2 접속하기

01 - 8 네트워크 기본기 - 패킷의 여향
8. 1 패킷
8.1.1 서킷 스위칭
8.1.2 패킷 스위칭
8. 2 IP 주소
8.2.1 IPv4
8.2.2 IPv6
8. 3 포트 번호

01 - 9 EC2 서버 방화벽
9. 1 방화벽
9. 2 Secure가 붙은 이유

01- 10 RSA 인증방식
10. 1 대칭키 암호화 방식
10. 2 공개키 암호화 방식(RSA)
10. 3 프로토콜
10.3.1 데이터 송신 방법
10.3.2 데이터 수신 방법
10. 4 RSA 개념이 필요한 이유


02 리눅스 명령어 학습
02 - 1 리눅스 명령어 step 1
1. 1 clear
1. 2 pwd
1. 3 cd
1. 4 ls
1. 5 절대 경로와 상대 경로

02 - 2 리눅스 명령어 step 2
2. 1 --help
2. 2 -a, --help
2. 3 mkdir
2. 4 touch
2. 5 rm
2. 6 + C

02 - 3 리눅스 명령어 step 3
3. 1 cp(copy)
3. 2 mv(move)
3.2.1 파일 이동
3.2.2 파일명 변경
3. 3 In(link)

02 - 4 리눅스 명령어 step 4
4. 1 Windows에서 프로그램(카카오톡)을 설치할 때
4. 2 ubuntu repository
4.2.1 ubuntu repository 등록
4. 3 PPA 저장소

02 - 5 리눅스 명령어 step 5
5. 1 sudo apt update
5. 2 apt
5.2.1 파이프라인(|)
5.2.2 grep
5.2.3 포트 확인
5. 3 인바운드 규칙 설정

02 - 6 리눅스 명령어 step 6
6. 1 PPA(Personal Package Archive) : 개인 저장소
6. 2 프로그램 삭제
6. 3 PPA 찾기
6.3.1 우분투 코드 네임 확인
6. 4 PPA 추가
6. 5 apt 메뉴판 update
6. 6 tomcat8 설치
6. 7 저장소 삭제

02 - 7 리눅스 명령어 step 7
7. 1 프로세스(Process)
7. 2 스레드(Thread)
7. 3 context-switching
7. 4 sleep

02 - 8 리눅스 명령어 step 8
8. 1 프로세스와 서비스
8.1.1 service
8.1.2 syetemctl
8. 2 ps 프로세스 명령어
8.2.1 ps -ef
8.2.2 kill
8. 3 restart
8. 4 tomcat8 pid 찾는 script 작성해보기

02 - 9 리눅스 명령어 step 9
9. 1 vi
9.1.1 일반 모드
9.1.2 입력 모드
9.1.3 명령행 모드

02 - 10 리눅스 명령어 step 10
10. 1 root 접속
10. 2 root로 파일 생성
10. 3 권한
10.3.1 그룹
10.3.2 권한 변경 chmod
10.3.3 모두에게 전체 권한 부여

02 - 11 리눅스 명령어 step 11
11. 1 chown 소유자: 그룹 변경

02 - 12 리눅스 명령어 step 12
12. 1 파일 찾기
12. 2 tomcat 저장 위치 살펴보기
12. 3 index.html 파일 권한 변경
12. 4 index.html 파일 수정
12. 5 포트 변경

02 - 13 리눅스 명령어 step 13
13. 1 tail
13. 2 표준 입출력
13.2.1 표준 입력 스트림 stdin(0)
13.2.2 표준 입력 스트림 stdout(1)
13.2.3 표준 입력 스트림 stderr(2)
13. 3 표준 입출력 변경

02 - 14 EC2 서버 종료하는 법


03 AWS EC2 기본 배포하기
03 - 1 배포 V1 흐름 이해하기
기본이 되는 배포 V1

03 - 2 프로젝트 다운받고 실행해보기
2. 1 프로젝트 설명
2.1.1 프로젝트 다운로드
2.1.2 프로젝트 실행:로그 확인
2.1.3 프로젝트 실행 종료
2.1.4 테스트 파일 확인
2. 2 배포 방법

03 - 3 EC2 서버 생성 및 고정 IP 설정
3. 1 EC2 서버 생성
3. 2 고정 IP 설정
3. 3 탄력적 IP 생성
3. 4 탄력적 IP 주의사항
3. 5 탄력적 IP 연결

03- 4 프로젝트 배포하기 V1
4. 1 git 설치 확인
4. 2 프로젝트 git clone
4. 3 gradlew 실행 권한 부여
4. 4 JDK 설치
4. 5 실행 파일로 변경(gradlew)
4. 6 jar 파일 실행하기

03 - 5 프로젝트 배포하기 V1
5. 1 plain.jar 파일 생성되지 않는 코드 추가
5. 2 nohup
5. 3 로그 확인 nohup.out
5. 4 실시간 로그 모니터링 tail

03 - 6 로그 파일 위치 변경
6. 1 프로세스 종료
6. 2 로그 파일 변경 후 실행

03 - 7 표준 출력, 표준 에러
7. 1 표준 출력(1)과 에러 출력(2)
7.1.1 정상 로그와 에러 로그를 분리하는 이유

03 - 8 타임존 변경 및 종료 스크립트 작성
8. 1 timezone 세팅
8. 2 pgrep
8. 3 종료 스크립트 작성
8.3.1 스크립트 파일 생성
8.3.2 종료 스크립트 작성
8.3.3 실행 권한 부여
8.3.4 스크립트로 프로세스 종료
8. 4 서버 재시작

03 - 9 cron 주기적 실행
9. 1 cron 개념과 실습
9. 2 cron 자동화

03 - 10 스크립트로 cron 등록

03 - 11 cron으로 프로젝트 재시작
11. 1 spring-stop.sh
11. 2 spring-restart.sh
11. 3 deploy

03 - 12 재배포 프로세스 이해
12. 1 재배포 프로세스 이해

03 - 13 재배포하기
13. 1 기존 서버 중지
13. 2 aws-v1 폴더 삭제
13. 3 프로젝트 다운로드
13. 4 gradlew 실행 권한 부여하기
13. 5 빌드
13. 6 jar 실행시키기
13. 7 cron으로 자동 재시작


04 AWS EC2 배포 자동화 스크립트로 배포하기
04 - 1 AWS-V2 목표
1. 1 V1 로직
1. 2 V2 로직

04 - 2 EC2 서버 생성 및 고정 IP 설정
2. 1 EC2 인스턴스 생성
2. 2 고정 IP
2. 3 탄력적 IP 설정

04 - 3 환경 변수와 bashrc
3. 1 환경 변수
3. 2 export
3. 3 Source

04 - 4 환경 변수를 특정 파일에 적용하기
4. 1 환경 변수 파일 생성
4. 2 환경 변수 등록
4. 3 원하는 파일에서만 환경 변수 사용
4. 4 환경 변수 적용 범위

04 - 5 재배포를 고려한 cron 종료
5. 1 deploy.sh 스크립트에 crontab 종료 설정
5. 2 cron delete

04 - 6 서버 종료 및 프로그램 설치
6. 1 PID 찾아서 프로세스 종료시키기
6. 2 자반 실행파일 이름 구조 파악
6.2.1 프로젝트 이름
6.2.2 프로젝트 버전
6.2.3 plain.jar 파일 생성하지 않는 설정
6. 3 환경 변수 설정
6. 4 환경 변수 적용
6. 5 실제 스크립트 작성
6. 6 스크립트 실행

04 - 7 프로젝트 다운로드 및 빌드
7. 1 sleep을 걸어주는 이유
7. 2 스크립트 실행
7. 3 jar 파일 실행

04 - 8 서버 실행하기
8. 1 스크립트 작성
8. 2 스크립트 실행
8. 3 로그 파일 저장 위치 변경

04 - 9 cron 등록
9. 1 check-and-restart.sh 생성
9. 2 스크립트 실행(배포 스크립트 완성)
9. 3 강제로 서버 종료시키기
9. 4 테스트 없이 jar 빌드 하는 방법

04 - 10 배포 파일 압축하기
10. 1 tar
10.1.1 tar 압축 연습
10. 2 실제 배포 파일 tar 압축
10. 3 파일 전송

04 - 11 배포 파일로 실제 배포하기


05 엘라스틱빈스톡으로 배포하기
05 - 1 엘라스틱빈스톡 샘플 코드 실행
1. 1 엘라스틱빈스톡

05 - 2 엘라스틱빈스톡 내부 구성
2. 1 엘라스틱빈스톡 생성
2. 2 로드밸런서
2. 3 NGinX 서버는 외부 IP 요청을 거부한다

05 - 3 엘라스틱빈스톡 프로젝트 대표
3. 1 jar 파일 만들기
3.1.1 프로젝트 다운로드
3.1.2 프로젝트 빌드
3. 2 프로젝트 업로드 및 배포
3.2.1 프로젝트 업로드
3.2.2 “심각” 상태가 뜨는 이유

05 - 4 엘라스틱빈스톡 오류 없이 배포하기
4. 1 jar 파일 만들기
4.1.1 프로세스 설정

05 - 5 엘라스틱빈스톡 SSH 접속
5. 1 실행 중인 프로세스 확인
5. 2 포트 확인
5. 3 NGinX

05 - 6 엘라스틱빈스톡 종료하기


06 엘라스틱빈스톡 & 데이터베이스
06 - 1 엘라스틱빈스톡 생성
1. 1 엘라스틱빈스톡 Create Application
1. 2 추가 옵션 구성
1.2.1 사전설정 : 단일 인스턴스(플기 티어 사용 가능)
1.2.2 소프트웨어 편집
1.2.3 로드밸런서
1.2.4 보안
1.2.5 데이터베이스

06 - 2 VPC 구성
2. 1 EC2
2.1.1 보안 그룹
2. 2 VPC(Virtual Private Cloud) 가상 사설 클라우드
2. 3 CIDR 표기법
2.3.1 IP 주소
2.3.2 네트워크 클래스
2.3.3 서브넷 마스크
2.3.4 CIDR
2.3.5 서브넷

06 - 3 RDS 생성 및 접속(Windosw, Mac)
3. 1 RDS 생성
3. 2 인바운드 규칙 편집
3. 3 정리
3. 4 RDS 접속
3.4.1 Windows 접속
3.4.2 Mac 접속

06 - 4 RDS 세팅하기
4. 1 데이터베이스 생성

06 - 5 배포 V4 프로젝트 살펴보기
5. 1 프로젝트 다운로드
5. 2 프로젝트 실행해보기
5. 3 프로젝트 내부 구조
5.3.1 yml 설정 파일
5. 4 환경 속성 변경

06 - 6 배포 및 테스트
6. 1 빌드
6. 2 엘라스틱빈스톡
6. 3 배포 완료
6. 4 테스트

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.