책소개
AWS와 서비스 운영에 첫걸음을 내디딜 수 있게 도와준다!서비스 개발과 인프라 관리를 담당하는 실무자의 운영 노하우를 배우자!이 책은 AWS나 클라우드 환경에 익숙하지 않은 분들이 AWS 서비스를 잘 활용해 실전에서 바로 서비스를 운영할 수 있게 도와준다. 기초적인 서버 구성 방법부터 배포, 모니터링, CI/CD 같은 고도화 등 운영 서버 관리에 필요한 모든 영역을 다룬다. 이론에만 머무르는 것이 아니라 실무에서 바로 서비스를 운영할 수 있도록 30개 가량의 실습이 포함돼 있으며, 환경 구성은 물론 다양한 서비스 사용 시 발생하는 예외 상황에 바로 대처할 수 있게 돕는다.
목차
[1부] AWS를 이용한 운영 서버 환경 구축· 01장: 운영 서버와 AWS 소개1.1 운영 서버 1.2 운영 서버 관리의 세 단계 1.3 AWS __1.3.1 AWS의 탄생 배경 __1.3.2 운영 서버에 필요한 서비스들을 제공하는 AWS __1.3.3 클라우드 플랫폼 서비스로서의 AWS __1.3.4 클라우드 서비스 플랫폼을 써야 하는 이유 __1.3.5 전 세계에서 사용할 수 있는 AWS __1.3.6 회원 가입 __1.3.7 무료로 AWS 서비스를 사용할 수 있는 방법 · 02장: 운영 서버 환경의 구성2.1 운영 서버 아키텍처의 이해 __2.1.1 단일 서버 __2.1.2 애플리케이션/데이터베이스 서버 분리 __2.1.3 서버 단위의 로드 밸런서 __2.1.4 서버 내 앱 단위의 로드 밸런서 2.2 AWS EC2를 이용한 서버 인스턴스 생성과 관리 __2.2.1 EC2 __2.2.2 EC2를 생성하려면 꼭 알아야 하는 개념 __2.2.3 [실습] AWS EC2 인스턴스 생성 __2.2.4 [실습] 샘플 프로젝트를 실행하기 위한 서버 환경 구성2.3 소스코드 배포 __2.3.1 Git을 이용한 소스코드 배포 __2.3.2 [실습] Git으로 EC2 인스턴스에 코드 배포하기 2.4 웹 서버와 웹 애플리케이션 서버 __2.4.1 웹 서버 __2.4.2 웹 애플리케이션 서버 __2.4.3 웹 서버와 웹 애플리케이션 서버의 사용 __2.4.4 클라이언트의 요청 이동 경로 __2.4.5 nginx, Phusion Passenger __2.4.6 [실습] nginx, Phusion Passenger 설치 및 서비스 __2.4.7 [실습] nginx, Phusion Passenger 서비스 명령어 추가 __2.4.8 [실습] 시스템 시작 시 자동 시작 서비스에 등록 __2.4.9 [실습] 하나의 서버에서 두 개의 애플리케이션 서비스하기 2.5 정리 · 03장: 다중 서버 환경 구성3.1 AWS Auto Scaling 그룹을 이용한 다중 서버 구성 __3.1.1 AWS Auto Scaling 그룹 __3.1.2 AWS Auto Scaling 그룹의 응용 예 __3.1.3 AWS Auto Scaling 그룹의 구성 __3.1.4 [실습] Auto Scaling 그룹 생성 __3.1.5 Auto Scaling 그룹 화면 구성 __3.1.6 [실습] Auto Scaling을 통한 인스턴스 자동 추가, 제거 __3.1.7 Auto Scaling 그룹 개념 정리 3.2 AWS Elastic Load Balancing을 이용한 서버 트래픽 분산 관리 __3.2.1 Elastic Load Balancing __3.2.2 대상 그룹 __3.2.3 로드 밸런서의 상태 검사 __3.2.4 [실습] Auto Scaling 그룹, 대상 그룹, 로드 밸런서 구성 3.3 장애 조치 아키텍처 구성 __3.3.1 Auto Scaling 그룹을 이용한 장애 조치 __3.3.2 [실습] Auto Scaling 그룹과 로드 밸런서를 통한 장애 조치 3.4 정리 · 04장: 운영 서버의 외부 환경 구성4.1 도메인, DNS 4.1.1 도메인 __4.1.2 [실습] AWS Route 53을 이용한 도메인 등록 __4.1.3 [실습] 로드 밸런서에 도메인 등록 4.2 SSL/TLS, HTTPS __4.2.1 SSL/TLS 인증서, HTTPS 동작 방식 __4.2.2 SSL/TLS 인증서의 가격 __4.2.3 SSL/TLS 인증서 설치 방법 __4.2.4 [실습] AWS Certificate Manager를 통한 SSL/TLS 인증서 등록 4.3 정리 · 05장: 배포 과정5.1 배포 관련 용어 __5.1.1 무중단/중단 배포 __5.1.2 현재 위치 배포 __5.1.3 서버 단위의 블루/그린 배포 __5.1.4 서버 내 블루/그린 배포 5.2 블루/그린 배포 __5.2.1 배포에 필요한 절차 __5.2.2 [실습] 블루/그린 배포 5.3 정리 · 06장: 배포 자동화6.1 AWS IAM __6.1.1 IAM 설명 __6.1.2 용어 6.2 AWS CodeDeploy __6.2.1 CodeDeploy 설명 __6.2.2 CodeDeploy 작동 절차 __6.2.3 CodeDeploy 구성 요소 __6.2.4 [실습] CodeDeploy로 현재 위치 배포 진행하기 __6.2.5 기타 6.3 정리 · 07장: 비밀 값 관리7.1 비밀 값 __7.1.1 비밀 값 관리 원칙 7.2 관리 방법 __7.2.1 배포 자동화 툴 __7.2.2 Blackbox __7.2.3 Vault __7.2.4 AWS Secrets Manager __7.2.5 [실습] Secrets Manager 사용법 __7.2.6 AWS Systems Manager의 파라미터 스토어 __7.2.7 어떤 방법을 쓸 것인가? 7.3 정리 · 08장: 모니터링 시스템 구축 및 활용8.1 모니터링의 목적과 영역 8.2 AWS CloudWatch __8.2.1 AWS CloudWatch 설명 __8.2.2 CloudWatch 지표 __8.2.3 [실습] CloudWatch에 사용자 지정 지표 기록 __8.2.4 [실습] CloudWatch Agent로 메모리, 디스크 사용량 지표, 로그 기록 __8.2.5 CloudWatch 대시보드 __8.2.6 [실습] CloudWatch 대시보드 생성 __8.2.7 CloudWatch 경보 __8.2.8 [실습] CloudWatch 경보 생성 8.3 애플리케이션 성능 관리 툴 __8.3.1 APM 툴 설명 __8.3.1 NewRelic APM 8.4 정리 [2부] 고도화된 운영 서버 관리· 09장: 로그 분석9.1 AWS CloudWatch Logs __9.1.1 CloudWatch Logs 소개 __9.1.2 [실습] CloudWatch Log에 로그 적재 9.2 Elastic Stack __9.2.1 Elastic Stack 설명 __9.2.2 [실습] Elastic Stack 구축 9.3 정리 · 10장: 자동화된 서버 관리10.1 AWS Elastic Beanstalk __10.1.1 Elastic Beanstalk 소개 __10.1.2 Elastic Beanstalk의 장단점 __10.1.3 웹 애플리케이션 환경, 작업자 환경 __10.1.4 [실습] Elastic Beanstalk으로 배포하기 __10.1.5 Elastic Beanstalk를 이용한 서비스 관리 10.2 정리 · 11장: 데브옵스11.1 데브옵스란? __11.1.1 지속적 통합(CI) 소개 __11.1.2 지속적 전달, 지속적 배포(CD) 소개 __11.1.3 AWS와 데브옵스 11.2 AWS CodePipeline __11.2.1 AWS CodePipeline 설명 __11.2.2 [실습] AWS CodePipeline 구성 11.3 정리 · 12장: AWS를 더 잘 사용하기 위한 서비스12.1 프로그램으로 AWS의 기능 사용하기 __12.1.1 AWS CLI __12.1.2 AWS SDK __12.1.3 [실습] AWS CLI 사용해보기 12.2 파일 스토리지 __12.2.1 EC2 인스턴스 스토어 __12.2.2 EBS(Elastic Block Store) __12.2.3 EFS(Amazon Elastic File System) __12.2.4 S3(Simple Storage Service) 12.3 EC2 인스턴스 비용 절감하기 __12.3.1 스팟 인스턴스 __12.3.2 예약 인스턴스 12.4 파일 제공 __12.4.1 S3 __12.4.2 CloudFront 12.5 데이터 저장 __12.5.1 RDS __12.5.2 ElastiCache 12.6 알림 __12.6.1 SNS 12.7 정리 · 부록A: 윈도우에서 PuTTY 설치, SSH 접속키 설정, 접속하기 · 부록B: macOS, 리눅스에서 SSH 접속하기