품목정보
발행일 | 2022년 12월 20일 |
---|---|
쪽수, 무게, 크기 | 244쪽 | 612g | 183*235*13mm |
ISBN13 | 9791169210614 |
ISBN10 | 1169210619 |
발행일 | 2022년 12월 20일 |
---|---|
쪽수, 무게, 크기 | 244쪽 | 612g | 183*235*13mm |
ISBN13 | 9791169210614 |
ISBN10 | 1169210619 |
chapter 1 엔진엑스 기초 _1.0 소개 _1.1 데비안/우분투 리눅스 배포판에 설치하기 _1.2 레드햇/센트OS 리눅스 배포판에 설치하기 _1.3 엔진엑스 플러스 설치하기 _1.4 설치 상태 점검하기 _1.5 주요 설정 파일, 디렉터리, 명령어 _1.6 정적 콘텐츠 서비스하기 _1.7 무중단으로 설정 리로드하기 chapter 2 고성능 부하분산 _2.0 소개 _2.1 HTTP 부하분산 _2.2 TCP 부하분산 _2.3 UDP 부하분산 _2.4 부하분산 알고리즘 _2.5 스티키 쿠키(엔진엑스 플러스) _2.6 스티키 런(엔진엑스 플러스) _2.7 스티키 라우팅(엔진엑스 플러스) _2.8 커넥션 드레이닝(엔진엑스 플러스) _2.9 수동적인 헬스 체크 _2.10 능동적인 헬스 체크(엔진엑스 플러스) _2.11 슬로 스타트(엔진엑스 플러스) chapter 3 트래픽 관리 _3.0 소개 _3.1 A/B 테스트 _3.2 GeoIP 모듈과 데이터베이스 활용하기 _3.3 국가 단위 접근 차단하기 _3.4 실제 사용자 IP 찾기 _3.5 연결 제한하기 _3.6 요청 빈도 제한하기 _3.7 전송 대역폭 제한하기 chapter 4 대규모 확장 가능한 콘텐츠 캐싱 _4.0 소개 _4.1 캐시 영역 _4.2 캐시 락 _4.3 해시 키 값 캐시 _4.4 캐시 우회 _4.5 캐시 성능 _4.6 캐시 퍼지(엔진엑스 플러스) _4.7 캐시 분할 chapter 5 프로그래머빌리티와 자동화 _5.0 소개 _5.1 엔진엑스 플러스 API _5.2 키-값 저장소 사용하기(엔진엑스 플러스) _5.3 NJS 모듈로 엔진엑스 자바스크립트 기능 활용하기 _5.4 상용 프로그래밍 언어로 엔진엑스 확장하기 _5.5 셰프로 엔진엑스 설치하기 _5.6 앤서블로 엔진엑스 설치하기 _5.7 콘술 템플릿 기능으로 설정 자동화하기 chapter 6 인증 _6.0 소개 _6.1 HTTP 기본 인증 _6.2 인증을 위한 하위 요청 _6.3 JWT 검증하기(엔진엑스 플러스) _6.4 JSON 웹 키 생성하기(엔진엑스 플러스) _6.5 JSON 웹 토큰 검증하기(엔진엑스 플러스) _6.6 JSON 웹 키 세트 획득 자동화와 캐싱(엔진엑스 플러스) _6.7 오픈아이디 커넥트 SSO를 통한 사용자 인증(엔진엑스 플러스) chapter 7 보안 제어 _7.0 소개 _7.1 IP 주소 기반 접근 제어 _7.2 크로스 오리진 리소스 공유(CORS) _7.3 클라이언트 측 암호화 _7.4 고급 클라이언트 측 암호화 _7.5 업스트림 암호화 _7.6 location 블록 보호하기 _7.7 비밀값으로 보안 링크 생성하기 _7.8 기간 제한 링크로 location 블록 보호하기 _7.9 기간 제한 링크 생성하기 _7.10 HTTPS 리다이렉션 _7.11 HTTPS 리다이렉션 - SSL 오프로딩 계층이 있는 경우 _7.12 HSTS _7.13 다중 계층 보안 _7.14 다중 계층 DDoS 방어(엔진엑스 플러스) _7.15 앱 프로텍트 WAF 모듈 설치와 설정(엔진엑스 플러스) chapter 8 HTTP/2 _8.0 소개 _8.1 기본 설정 _8.2 gRPC _8.3 HTTP/2 서버 푸시 chapter 9 정교한 스트리밍 _9.0 소개 _9.1 MP4와 FLV 서비스하기 _9.2 HLS 스트리밍(엔진엑스 플러스) _9.3 HDS 스트리밍(엔진엑스 플러스) _9.4 대역폭 제한하기(엔진엑스 플러스) chapter 10 클라우드 환경 배포 _10.0 소개 _10.1 AWS 환경에서 자동 프로비저닝 구현하기 _10.2 AWS ELB를 쓰지 않고 엔진엑스 노드로 라우팅하기 _10.3 NLB 샌드위치 _10.4 AWS 마켓플레이스를 통해 엔진엑스 구축하기(엔진엑스 플러스) _10.5 애저 환경에서 엔진엑스 가상 머신 이미지 생성하기 _10.6 애저 환경에서 엔진엑스 스케일 세트를 통해 부하분산하기 _10.7 애저 마켓플레이스의 이미지로 서버 배포하기 _10.8 구글 컴퓨트 엔진에서 엔진엑스 배포하기 _10.9 구글 컴퓨트 이미지 생성하기 _10.10 구글 앱 엔진 프록시 생성하기 chapter 11 컨테이너와 마이크로서비스 _11.0 소개 _11.1 엔진엑스를 API 게이트웨이로 사용하기 _11.2 DNS의 SRV 레코드 활용하기(엔진엑스 플러스) _11.3 공식 엔진엑스 이미지 사용하기 _11.4 엔진엑스 도커 파일 생성하기 _11.5 엔진엑스 플러스 도커 이미지 생성하기 _11.6 엔진엑스에서 환경변수 사용하기 _11.7 쿠버네티스 인그레스 컨트롤러 _11.8 프로메테우스 익스포터 모듈 _11.9 mTLS를 이용한 엔진엑스 서비스 메시 구성 chapter 12 고가용성 보장을 위한 설정 _12.0 소개 _12.1 엔진엑스 플러스 HA 모드 _12.2 DNS를 이용한 로드 밸런서 부하분산 _12.3 EC2의 부하분산 _12.4 엔진엑스 플러스 설정 동기화하기 _12.5 상태 공유와 영역 동기화(엔진엑스 플러스) chapter 13 고급 활동 모니터링 _13.0 소개 _13.1 오픈 소스 엔진엑스의 Stub Status 활성화하기 _13.2 모니터링 대시보드 활성화하기(엔진엑스 플러스) _13.3 엔진엑스 플러스 API로 지표 수집하기 chapter 14 디버깅과 트러블슈팅 _14.0 소개 _14.1 접근 로그 설정하기 _14.2 오류 로그 설정하기 _14.3 로그를 시스로그로 전달하기 _14.4 요청 추적하기 _14.5 엔진엑스를 위한 오픈트레이싱 chapter 15 성능 튜닝 _15.0 소개 _15.1 로드 드라이버로 시험 자동화하기 _15.2 클라이언트와의 연결 유지하기 _15.3 업스트림 서버와의 연결 유지하기 _15.4 응답 버퍼링 _15.5 접근 로그 버퍼링 _15.6 운영체제 튜닝 chapter 16 엔진엑스 인스턴스 매니저 _16.0 소개 _16.1 셋업 개요 _16.2 에이전트 설치 _16.3 API로 엔진엑스 탐색, 설정, 모니터링 자동화하기 chapter 17 엔진엑스 컨트롤러 _17.0 소개 _17.1 셋업 개요 _17.2 엔진엑스 플러스를 컨트롤러와 연결하기 _17.3 API를 이용해 엔진엑스 컨트롤러 운영하기 _17.4 컨트롤러 앱 시큐리티를 이용해 WAF 활성화하기 chapter 18 실전 운영 팁 _18.0 소개 _18.1 include 구문을 사용해 깔끔한 설정 만들기 _18.2 설정 디버깅하기 |
NGINX는 백엔드 개발을 해봤다면 한 번 이상 사용해봤을 것이다. 나의 경우엔 크게 2가지로 사용했다.
위의 2가지로 사용하며 NGINX에 기능이 다양한데 무엇이 있는지 정도는 언젠가 한번 살펴봐야겠다 생각하고 있었고 NGINX 쿡북 이란 책을 알게되었다.115가지 레시피 라는 문구가 눈에 들어왔는데 그 중에서 책에 나온 기본적인 레시피 몇 개와 좀 놀랐던 기능 몇 개를 아래 블로그에 자세히 소개했다.
위 글에서 업무를 진행하며 가장 와닿았던 부분을 소개했는데 이 책은
또한 엔진엑스 인스턴스 매니저와 컨트롤러를 소개하고 실전 운영 팁을 통해 NGINX를 좀 더 원활히 사용할 수 있도록 가이드를 제공하고 있다.
즉, NGINX 시작부터 운영까지 망라하고 있기에 이 정도 내용을 숙지하고 적절한 곳에 사용한다면 현업에 매우 도움이 될 것이다.
나의 경우도 NGINX에 이런 기능이 있는지 모르고 웹서버에 직접 구현한 것이 많기 때문에 앞으로는 NGINX를 좀 더 적극적으로 활용할 예정이다.
NGINX 쿡북(2판)과 공식문서를 함께 살펴보면 길을 헤매이지 않고 잘 활용할 수 있을 것이다.
옆에 두고 보면 좋을 책이라 평점 만점을 남기고 간다.
이전에 스트리밍 서버를 개발하면서 nginx를 접하게 되었습니다.
nginx에 대해 단순히 웹서버라고 생각했었는데 방대한 설명 문서와 적용 사례들을 보면서 충격을 받았습니다. 그리고, 로드 밸런싱과 내부의 http 서버들을 앞 단에서 https 요청으로부터 변환해서 내부로 프록시 해주는 기능으로 유용하게 활용했던 적이 있었습니다. 이런 좋은 기억을 가진 상태에서 nginx 쿡북이라는 책을 만나게 되었습니다.
이 책은 nginx를 사용하는 방법과 nginx의 다양한 기능, 구성 및 성능 최적화와 보안 강화를 다루는 책입니다.
다양한 예제와 시나리오를 통해 nginx를 사용하는 방법을 설명하고 있으며, nginx의 개념과 구성을 상세하게 다루고 있습니다. 또한, nginx 프록시, 캐싱, 로드 밸런싱, SSL 인증서 설정 등 다양한 기능을 쉽게 이해하고 구성할 수 있도록 가이드 역할을 합니다.
뿐만 아니라, nginx의 성능 최적화와 보안 강화에 대한 방법을 다루고 있습니다. nginx의 성능을 최적화하는 방법, 캐시를 사용하여 웹 사이트의 성능을 향상시키는 방법, SSL 인증서를 설정하는 방법 등 nginx를 사용하여 웹 사이트를 더욱 안전하고 빠르게 만드는 방법에 대해 설명하고 있습니다.
nginx를 사용하는 방법과 기능을 다루는데 풍부한 내용을 담고 있지만 아쉬운 점도 있습니다.
nginx의 기본 개념을 상세히 다루지는 않습니다. 따라서 nginx를 처음 사용하는 사용자들에게는 이해하기 어려울 수 있습니다. nginx를 좀 더 능숙하게 다루기 위해서는 기본을 다루는 자료를 먼저 학습하고 이 책을 읽는 것이 효과적이라 생각합니다.
웹 개발자, 시스템 관리자, 서버 운영자 및 인프라 엔지니어 등에게 추천할 만한 책입니다.
nginx를 사용하여 웹 서버를 운영하거나 웹 애플리케이션을 개발하는 개발자들에게 유용할 것이라 생각합니다. nginx의 고급 기능 및 보안 강화라는 다소 전문적인 내용까지 다루고 있습니다.
시스템 관리자나 서버 운영자들에게도 적합합니다. nginx를 사용하여 웹 서버를 운영하는 방법과 구성하는 방법, 성능 최적화 및 보안 강화하는 방법 등에 대한 내용을 다루며, 서버 운영에 필요한 다양한 기능을 쉽게 구성할 수 있도록 가이드 역할도 합니다.
nginx를 앞으로도 활용할 계획이 있는 만큼, 도움이 많이 되는 책입니다. 아직 다뤄보지 못한 부분과 이해가 잘되지 않는 내용들이 남아 있습니다. 전문적인 지식이 필요한 개념과 기술들을 보강해 나가면서 종종 참고하는 책으로 활용해야겠습니다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
# 서론
- 엔진엑스는 백엔드 개발자 (취준생...이지만)라면 한번은 꼭 들어 본 웹 서버일 것이다. 난 프로젝트에서 잠깐 써본 입장이었지만, 정확한 개념에 대해서도 확실히 알지는 못하는 상황이었다.
- 이 책은 기본서는 절대 아니다. 기본적으로 한 번 이상 직접적으로 써본 입장에서 안다고 가정하고 설명하는 부분이 많았다. 나에게 있어서 사실 알아 듣기 힘든 것도 많았지만 전체적으로 술술 읽어나가며, 나중에 써야할 일이 있다면 다시 한번 볼 수 있는 그런 책이다.
- 각 내용에 문제-해결-논의로 나뉘어 무엇을 할 것인지, 어떤 명령어를 사용할 것인지, 또 그에 대한 설명을 나누어 설명하여 가독성을 높였다.
# 내용
- 각 챕터에 대한 내용들을 간단하게 요약하였다. (모든 챕터 X)
## 1. 엔진엑스 기초
- 설치부터, 점검 및 설정 파일, 간단한 서비스에 대해 설명해 주는 챕터
- 각 배포판 별 리눅스별로 다른 설치법에 대해 상세히 설명해 준다.
- 엔진엑스부터 엔진엑스 플러스 설정을 다룬다.
## 2. 고성능 부하분산
- 오늘날 필요하게 된 높은 성능과 가용성의 인터넷 서비스를 할 수 있는 고성능 부하분산에 대한 챕터
- 부하를 분산하면서 세션을 유지하는 방법을 살펴본다. 즉, 사용자에게 제공하는 애플리케이션의 동적에 문제를 예방하는 방법.
- 또한, 부하분산 대상이 되는 업스트림 애플리케이션 서버의 상태를 모니터링하는 방법에 대해서도 다룬다.
## 3. 트래픽 관리
- 사용자 요청을 특정 비율로 분기 및 트래픽을 제어하는 방법에 대한 챕터.
- 여러 가지 분기 방법을 조합해 다양하게 트래픽 제어.
- A/B 테스트, GeoIP 모듈 활용부터, 각종 제한 및 차단.
## 4. 대규모 확장 가능한 콘텐츠 캐싱
- 캐싱은 임시로 저장해 두었다가 빠르게 가져올 수 있는 방법에 대한 해결책이다.
- 캐싱을 통해 성능을 높이고 부하를 낮추는 활용법에 대한 챕터.
- 캐시에 대한 영역, 락, 우회, 성능 분할 등을 다룬다.
## 6. 인증
- 클라이언트에 대한 인증에 대한 해결책을 제시.
- HTTP 기존 인증부터 JWT, JSON 웹 키를 다룬다.
## 7. 보안 제어
- 엔진엑스를 활용해 웹 애플리케이션을 보호하는 여러 방법을 살펴본다.
- IP 주소 기반 접근 제어, CORS, 및 여러 측면에 대한 암호화를 다룬다.
## 8. HTTP/2
- HTTP 프로토콜의 주요 개정판인 HTTP/2를 다룬다.
- 엔진엑스를 활용해 HTTP/2를 활성화하여 사용하는 설정 방법.
- 구글이 오픈소스로 제공하는 오픈 소스 원격 프로시저 호출인 gRPC.
- HTTP/2 서버 푸시 지원을 살펴본다.
## 10. 클라우드 환경 배포
- 클라우드 사업자 환경에 배포하는 데 필요한 기본 사항을 다룬다.
- AWS, 에저 환경 및 구글 컴퓨트 엔진 등 다양한 환경에 대해 다룬다.
## 11. 컨테이너와 마이크로서비스
- 현대의 개발에서 필수적으로 필요한 컨테이너를 활용하면 패키지와 의존성 관리를 편리하게 해준다.
- 해당 챕터에서는 엔진엑스로 컨테이너 이미지를 만들고 컨테이너 환경에서 더 잘 동작하게 해주는 기능와 생성한 이미지를 쿠버네티스와 오픈시프트 환경으로 배포하는 방법에 대해 다룬다.
## 14. 디버깅과 트러블슈팅
- 엔진엑스와 오픈트레이싱으로 개별 요청에 식별자를 부여하고 엔드투엔드로 분석하는 방법에 대해 다룬다.
- 접근 및 오류 로그, 전달, 추적데 대해 상세히 설명한다.
# 정리
- 이 책은 실무와 아주 밀접하게 닿아 있어 잘 활용할 수 있다면 많은 도움이 될 것이다.
- 앞서 말했듯이 조금 더 지식을 쌓고 필요할 때마다 봐야할 책이라고 생각된다.