NGINX 쿡북 : 106가지 레시피로 배우는 고성능 부하분산, 보안, 서버 배포와 관리 (3판)

NGINX 쿡북 : 106가지 레시피로 배우는 고성능 부하분산, 보안, 서버 배포와 관리 (3판)

$22.00
Description
웹 애플리케이션을 위한 ‘스위스 군용 칼’
Welcome to nginx cookbook!
2004년 처음 발표된 엔진엑스는 웹 서버 시장 점유율 30% 이상을 차지하는 주류 소프트웨어가 된 지 오래입니다. 엔진엑스는 초창기에 아파치 서버의 단점을 보완하는 용도로 함께 사용되었지만, 높은 성능과 편의성을 무기로 빠르게 성장해 현재는 전 세계 웹 서버 시장 점유율 1위에 자리하고 있습니다.

길지 않은 기간에 엔진엑스가 빠르게 성장한 데에는 여러 이유가 있겠지만 무엇보다 쉬운 설치 및 사용법과 고성능 트래픽 처리 기능 덕분입니다. 게다가 ‘웹 애플리케이션을 위한 스위스 군용 칼’이라는 별명답게 웹 서버와 리버스 프록시를 넘어서서 부하분산, 캐싱, 보안, API 게이트웨이 등 다양한 기능을 갖추었습니다.

이 책은 엔진엑스를 가장 엔진엑스답게 활용하기 위한 가이드입니다. 엔진엑스 오픈 소스 및 상용 버전에서 제공하는 유용한 기능과 그 사용법을 간결한 레시피로 설명합니다. 문제-해결-논의 형식의 레시피는 실무에서 필요할 때마다 꺼내 보고 참고하기 좋습니다. 그동안 엔진엑스를 단순히 웹 서버로만 사용해 왔다면 새로운 기능을 발견하는 재미도 느낄 겁니다!

● HTTP, TCP, UDP 서버 부하분산
● 트래픽 암호화, 보안 링크, HTTP 인증 하위 요청을 통한 접근 보안
● 엔진엑스를 구글 클라우드, 디지털오션, AWS, 애저 클라우드 서비스로 배포하기
● 엔진엑스 플러스로 SAML 인증을 위한 서비스 공급자 설정하기
● QUIC 프로토콜을 사용해 HTTP/3 활성화하기
● 엔진엑스에서 오픈텔레메트리 사용하기

저자

데릭디용기

저자:데릭디용기(DerekDejonghe)
평생기술에대한열정을가져온리눅스/유닉스기반시스템및웹애플리케이션전문가다.웹개발,시스템관리및네트워킹경험을통해현대웹아키텍처에대한포괄적인지식을쌓았다.사이트안정성및클라우드솔루션엔지니어팀의리더로서,수많은애플리케이션의자가치유및자동확장인프라를생산한다.고가용성애플리케이션을설계,구축,유지관리하며,클라우드를막도입하는대규모기업을컨설팅하기도한다.데릭과그의팀은기술파도의최전선에서매일클라우드모범사례를엔지니어링한다.탄력적인클라우드아키텍처에대한입증된실적을바탕으로,고객에게가장이익이되는보안과유지관리를위한클라우드배포를개척하고있다.

역자:노승헌
눈물없이볼수없는한편의뮤직비디오같은인생을만드느라바쁜센티멘털리스트.삼성네트웍스,SK텔레콤,아카마이코리아를거치면서개발자,프로젝트매니저,제품오너,솔루션아키텍트등다양한영역에서자신을시험해보고있다.현재는라인플러스EnablementEngineering팀에서LINE의다양한서비스가쾌적한사용자경험을제공할수있도록이슈를관찰하고문제를해결하는역할을수행하고있다.집필한도서로『나는LINE개발자입니다』(한빛미디어,2019,공저),『슬랙으로협업하기』(위키북스,2017),『소셜네트워크로세상을바꾼사람들』(길벗,2013),번역한도서는『데브옵스엔지니어를위한실전관찰가능성엔지니어링』(한빛미디어,2024),『관찰가능성엔지니어링』(한빛미디어,2023)등이있습니다.

목차


CHAPTER1엔진엑스기초
_1.0소개
_1.1데비안/우분투리눅스배포판에설치하기
_1.2레드햇/센트OS리눅스배포판에설치하기
_1.3엔진엑스플러스설치하기
_1.4설치상태점검하기
_1.5주요설정파일,디렉터리,명령어
_1.6include구문을사용해깔끔한설정만들기
_1.7정적콘텐츠서비스하기

CHAPTER2고성능부하분산
_2.0소개
_2.1HTTP부하분산
_2.2TCP부하분산
_2.3UDP부하분산
_2.4부하분산알고리즘
_2.5스티키쿠키(엔진엑스플러스)
_2.6스티키런(엔진엑스플러스)
_2.7스티키라우팅(엔진엑스플러스)
_2.8커넥션드레이닝(엔진엑스플러스)
_2.9수동적인헬스체크
_2.10능동적인헬스체크(엔진엑스플러스)
_2.11슬로스타트(엔진엑스플러스)

CHAPTER3트래픽관리
_3.0소개
_3.1A/B테스트
_3.2GeoIP모듈과데이터베이스활용하기
_3.3국가단위접근차단하기
_3.4실제사용자IP찾기
_3.5연결제한하기
_3.6요청빈도제한하기
_3.7전송대역폭제한하기

CHAPTER4대규모확장가능한콘텐츠캐싱
_4.0소개
_4.1캐시영역
_4.2해시키값캐시
_4.3캐시락
_4.4오래된캐시활용
_4.5캐시우회
_4.6캐시퍼지(엔진엑스플러스)
_4.7캐시분할

CHAPTER5프로그래머빌리티와자동화
_5.0소개
_5.1엔진엑스플러스API
_5.2키-값저장소사용하기(엔진엑스플러스)
_5.3njs모듈로엔진엑스자바스크립트기능활용하기
_5.4상용프로그래밍언어로엔진엑스확장하기
_5.5앤서블로엔진엑스설치하기
_5.6셰프로엔진엑스설치하기
_5.7콘술템플릿기능으로설정자동화하기

CHAPTER6인증
_6.0소개
_6.1HTTP기본인증
_6.2인증을위한하위요청
_6.3JWT검증하기(엔진엑스플러스)
_6.4JSON웹키생성하기(엔진엑스플러스)
_6.5오픈아이디커넥트SSO를통한사용자인증(엔진엑스플러스)
_6.6JSON웹토큰검증하기(엔진엑스플러스)
_6.7JSON웹키세트획득자동화와캐싱(엔진엑스플러스)
_6.8SAML인증을위한서비스공급자설정(엔진엑스플러스)

CHAPTER7보안제어
_7.0소개
_7.1IP주소기반접근제어
_7.2크로스오리진리소스공유(CORS)
_7.3클라이언트측암호화
_7.4고급클라이언트측암호화
_7.5업스트림암호화
_7.6location블록보호하기
_7.7비밀값으로보안링크생성하기
_7.8기간제한링크로location블록보호하기
_7.9기간제한링크생성하기
_7.10HTTPS리다이렉션
_7.11HTTPS리다이렉션-SSL오프로딩계층이있는경우
_7.12HSTS
_7.13국가단위접근차단하기
_7.14다중계층보안
_7.15다중계층DDoS방어(엔진엑스플러스)
_7.16앱프로텍트WAF모듈설치와설정(엔진엑스플러스)

CHAPTER8HTTP/2와HTTP/3(QUIC)
_8.0소개
_8.1HTTP/2활성화하기
_8.2HTTP/3활성화하기
_8.3gRPC

CHAPTER9정교한스트리밍
_9.0소개
_9.1MP4와FLV서비스하기
_9.2HLS스트리밍(엔진엑스플러스)
_9.3HDS스트리밍(엔진엑스플러스)
_9.4대역폭제한하기(엔진엑스플러스)

CHAPTER10클라우드환경배포
_10.0소개
_10.1자동프로비저닝구현하기
_10.2클라우드환경에엔진엑스가상머신배포하기
_10.3엔진엑스이미지생성하기
_10.4클라우드네이티브로드밸런서를쓰지않고엔진엑스노드로라우팅하기
_10.5로드밸런서샌드위치
_10.6동적으로확장된엔진엑스서버간의부하분산하기
_10.7구글앱엔진프록시생성하기

CHAPTER11컨테이너와마이크로서비스
_11.0소개
_11.1엔진엑스를API게이트웨이로사용하기
_11.2DNS의SRV레코드활용하기(엔진엑스플러스)
_11.3공식엔진엑스컨테이너이미지사용하기
_11.4엔진엑스도커파일생성하기
_11.5엔진엑스플러스컨테이너이미지생성하기
_11.6엔진엑스에서환경변수사용하기
_11.7엔진엑스인그레스컨트롤러

CHAPTER12고가용성보장을위한설정
_12.0소개
_12.1엔진엑스플러스HA모드
_12.2DNS를이용한로드밸런서부하분산
_12.3EC2의부하분산
_12.4엔진엑스플러스설정동기화하기
_12.5상태공유와영역동기화(엔진엑스플러스)

CHAPTER13고급활동모니터링
_13.0소개
_13.1엔진엑스의스텁상태활성화하기
_13.2모니터링대시보드활성화하기(엔진엑스플러스)
_13.3엔진엑스플러스API로지표수집하기
_13.4엔진엑스를위한오픈텔레메트리
_13.5프로메테우스익스포터모듈

CHAPTER14디버깅과트러블슈팅
_14.0소개
_14.1접근로그설정하기
_14.2오류로그설정하기
_14.3로그를시스로그로전달하기
_14.4설정디버깅하기
_14.5요청추적하기

CHAPTER15성능튜닝
_15.0소개
_15.1로드드라이버로시험자동화하기
_15.2브라우저캐시제어
_15.3클라이언트와의연결유지하기
_15.4업스트림서버와의연결유지하기
_15.5응답버퍼링
_15.6접근로그버퍼링
_15.7운영체제튜닝

출판사 서평

엔진엑스는전세계에서가장사랑받는웹서버로,가볍고확장가능하며요청을이벤트기반으로처리해트래픽이높은사이트에서특히유용합니다.HTTP,TCP,UDP의부하를효율적으로분산하는로드밸런서와프록시서버로도사용되어애플리케이션성능을향상합니다.

이책은엔진엑스의고성능부하분산과보안기능,서버배포와관리방법에초점을맞춥니다.책에수록된레시피는엔진엑스설치과정과기본사용법부터다양한모듈과실전운영팁까지다룹니다.오픈소스엔진엑스뿐아니라엔진엑스플러스와컨트롤러기능을함께소개해엔진엑스라는애플리케이션전송플랫폼을최대한으로활용하도록도와줍니다.

특히3판에서는QUIC프로토콜을사용하여HTTP/3활성화방법과오픈텔레메트리를지원하는추적컬렉터를엔진엑스에통합하는방법도다룹니다.다양한기능을필요에따라적용해빠르고안전한애플리케이션을만들어봅시다.

3판에추가된내용

클라우드환경에엔진엑스가상머신배포하는방법
QUIC프로토콜을이용해HTTP/3를활성화는방법
SAML신원확인서비스제공자를엔진엑스플러스에연동하는방법
오픈텔레메트리를지원하는추적컬렉터를엔진엑스에통합하는방법

장별주요내용

[1장엔진엑스기초]
운영체제별설치방법과주요설정파일,디렉터리,명령어

[2장고성능부하분산]
HTTP,TCP,UDP서버부하분산방법,부하분산알고리즘,업스트림서버상태모니터링방법

[3장트래픽관리]
사용자요청을분기하거나요청빈도,연결수,대역폭등을제한해트래픽을제어하는방법

[4장대규모확장가능한콘텐츠캐싱]
성능을높이고부하를낮추기위한캐싱방법

[5장프로그래머빌리티와자동화]
엔진엑스플러스API를통해키-값저장소를다루는방법,설정관리도구를통해엔진엑스를설치하고기본설정을템플릿화하는방법

[6장인증]
HTTP기본인증,하위요청을통한인증,JWT검증방법,SAML인증을위한서비스공급자설정방법

[7장보안제어]
IP주소기반접근제어,CORS,트래픽암호화방법

[8장HTTP/2와HTTP/3(QUIC)]
HTTP/2와HTTP/3를활성화하고사용하는방법,grPC,서버푸시기능

[9장정교한스트리밍]
엔진엑스를통해MP4,FLV파일을스트리밍하는방법과엔진엑스플러스의HLS,HDS기능

[10장클라우드환경배포]
엔진엑스와엔진엑스플러스를AWS,애저,디지털오션,네이버클라우드플랫폼,구글컴퓨트엔진으로배포하는방법

[11장컨테이너와마이크로서비스]
엔진엑스와엔진엑스플러스를API게이트웨이로사용하는방법,컨테이너환경에서사용하는방법

[12장고가용성보장을위한설정]
DNS를이용한로드밸런서부하분산,EC2의부하분산,엔진엑스플러스설정동기화방법

[13장고급활동모니터링]
엔진엑스모니터링을활성화하는방법,엔진엑스를위한오픈텔레메트리를통합하는방법,엔진엑스플러스대시보드와API를이용해지표를수집하는방법

[14장디버깅과트러블슈팅]
로깅방법,시스로그프로토콜을통해로그를전달하는방법,오픈트레이싱을활용해요청에식별자를부여하고분석하는방법

[15장성능튜닝]
자동화도구를사용해시험을수행하고결과를측정해성능을튜닝하는방법

HTTP,TCP,UDP서버부하분산
트래픽암호화,보안링크,HTTP인증하위요청을통한접근보안
엔진엑스를구글클라우드,디지털오션,AWS,애저클라우드서비스로배포하기
엔진엑스플러스로SAML인증을위한서비스공급자설정하기
QUIC프로토콜을사용해HTTP/3활성화하기
엔진엑스에서오픈텔레메트리사용하기