이미 소장하고 있다면 판매해 보세요.
|
1장. 클라우드와 데브옵스 혁명
__인프라 관점이 아닌 클라우드 관점으로 생각하기 ____자체 하드웨어 배포 대 클라우드 배포 ____비용 분석 ____적시 제공 인프라 __데브옵스 문화 받아들이기 ____데브옵스의 기원 ____개발자 대 운영자 딜레마 ____상용 환경의 차이 ____데브옵스 문화의 주요 특징 __AWS에 배포하기 ____AWS 생태계를 최대한 활용하는 방법 ____AWS를 이용해 데브옵스 문화와 시너지를 이루는 방법 __요약 __질문 __더 읽을거리 2장. 첫 번째 웹 애플리케이션 배포하기 __기술 요구사항 __계정 생성 및 구성 ____계정 등록 ____루트 계정에 멀티 팩터 인증(MFA) 사용하기 ____IAM에서 신규 사용자 생성하기 ____명령줄 인터페이스(CLI) 설치하고 구성하기 __첫 번째 웹 서버 작성하기 ____아마존 머신 이미지(AMI) ____인스턴스 유형 ____보안 그룹 ____SSH 키 생성하기 ____EC2 인스턴스 띄우기 ____SSH를 이용해 EC2 인스턴스에 접속하기 ____간단한 Hello World 웹 애플리케이션 생성하기 ____EC2 인스턴스 종료하기 __요약 __질문 __더 읽을거리 3장. 코드로 인프라 다루기 __기술 요구사항 __클라우드 포메이션으로 인프라 관리하기 ____클라우드 포메이션 시작하기 AWS 클라우드 포메이션 디자이너 ____클라우드 포머 ____클라우드 포메이션을 이용해 Hello World 예제 다시 작성하기 ____클라우드 포메이션 콘솔에서 스택 생성하기 ____템플릿을 소스 관리 시스템에 추가하기 ____클라우드 포메이션 스택 업데이트하기 ____변경 세트 ____클라우드 포메이션 스택 삭제하기 __구성 관리 시스템 추가하기 ____앤서블 시작하기 ____컴퓨터에 앤서블 설치하기 ____앤서블 플레이그라운드 생성하기 ____앤서블 리포지터리 생성하기 ____모듈 실행하기 ____임의의 명령어 실행하기 ____앤서블 플레이북 ____EC2 인스턴스에 깃과 앤서블 설치하기 ____모니터링 __요약 __질문 __더 읽을거리 4장. 테라폼 코드로 인프라 다루기 __기술 요구사항 __테라폼이란 무엇인가? ____테라폼 시작하기 ____자동화된 프로비저닝을 위한 테라폼과 AWS __테라폼 리포지터리 생성하기 ____AWS 인스턴스 프로비저닝을 위한 첫 번째 테라폼 템플릿 ____AWS 인스턴스 프로비저닝을 위한 두 번째 테라폼 템플릿 __AWS, 테라폼, 앤서블 통합하기 ____푸시 기반 접근법으로 앤서블을 테라폼에 통합 ____풀 기반 접근법으로 앤서블을 테라폼에 통합 __요약 __질문 __더 읽을거리 5장. 연속 통합과 연속 배포 추가하기 __기술 요구사항 __CI 파이프라인 구축하기 ____앤서블과 클라우드 포메이션으로 젠킨스 서버 생성하기 ____CI 환경 준비하기 ____CI 환경을 이용해 helloworld 애플리케이션 구현하기 ____CI 파이프라인 상용화하기 __연속 배포 파이프라인 구축하기 ____연속 배포를 위한 새로운 웹 서버 생성하기 ____코드 디플로이로 helloworld 애플리케이션 통합하기 ____AWS 코드 파이프라인으로 배포 파이프라인 구축하기 __요약 __질문 __더 읽을거리 6장. 인프라 확장하기 __기술 요구사항 __모놀리식 애플리케이션 ____모놀리식 애플리케이션이란 무엇인가? ____모놀리식 애플리케이션 확장하기 ____모놀리식의 장점 __데이터베이스 ____데이터페이스를 RDS로 이동하기 ____RDS 유형 선택하기 ____백업 ____다중 AZ ____ElastiCache __일래스틱 로드 밸런서(ELB) ____적합한 ELB 선택하기 ____밸런서 배포하기 ____SSL 인증서 구성하기 ____ALB와 Auth0 통합 ____로드 밸런서 프리워밍 ____액세스/오류 로그 ____다음 단계 __EC2 머신 바깥으로 상태 정보 이전하기 ____로그 내보내기 __오토스케일링 그룹 구성하기 ____오토스케일링으로 이전하기 __마이크로서비스와 서버리스 사용하기 __요약 __질문 __더 읽을거리 7장. AWS에서 컨테이너 실행하기 __기술 요구사항 __Hello World 애플리케이션 도커화하기 ____도커 시작하기 ____도커 기본 ____도커 이용하기 ____Dockerfile 작성하기 __EC2 컨테이너 서비스 이용하기 ____도커 이미지를 관리할 ECR 리포지터리 생성하기 ____ECS 클러스터 생성하기 ____ALB 생성하기 ____ECS helloworld 서비스 만들기 __ECS에 배포하는 CI/CD 파이프라인 작성하기 ____상용 ECS 클러스터 생성하기 ____코드 빌드로 컨테이너 생성 자동화하기 ____코드 파이프라인으로 배포 파이프라인 생성하기 ____소스 코드에 클라우드 포메이션 템플릿 추가하기 ____코드 파이프라인에 대한 클라우드 포메이션 작성하기 ____클라우드 포메이션 스택 시작 및 구성하기 __요약 __질문 __더 읽을거리 8장. AWS 환경의 보안 강화하기 __기술 요구사항 __IAM 보안 ____루트 계정 ____IAM 사용자의 비밀번호 정책 구성하기 __클라우드 트레일 ____VPC 플로우 로그 ____단일 서브넷의 플로우 로그 생성하기 ____플로우 로그 검증하기 ____VPC 플로우 로그 고려사항 __VPC 서브넷 ____라우팅 및 서브넷 유형 ____엔드포인트 라우팅 __AWS WAF ____웹 애플리케이션 플레이그라운드 환경 ____DoS/DDoS 공격 차단하기 ____SQL 인젝션(SQLi)에 대한 WAF __요약 __질문 __더 읽을거리 9장. 모니터링과 알람 __기술 요구사항 __모니터링을 위해 애플리케이션 측정하기 ____AWS 클라우드 와치 __클라우드 와치를 사용해 helloworld 애플리케이션 모니터링하기 ____애플리케이션에 로그 추가하기 ____애플리케이션에 메트릭과 이벤트 추가하기 ____EC2에서 클라우드 와치로 로그, 이벤트 및 메트릭 보내기 ____클라우드 포메이션 템플릿 업데이트하기 ____ECS에서 로그, 이벤트 및 메트릭 다루기 ____일래스틱서치, 키바나 및 파이어호스를 이용한 고급 로그 인프라 __인프라 모니터링하기 ____EC2 모니터링하기 ____클라우드 와치로 사용자 정의 메트릭 제공하기 ____ECS 클러스터 모니터링 ____ALB와 ELB 인스턴스 모니터링하기 ____클라우드 와치와 SNS를 이용해 알람 생성하기 ____AWS 상태 모니터링 및 알람 __요약 __질문 __더 읽을거리 부록. 해답 |
Yogesh Raheja
Giuseppe Borgese
Nathaniel Felsen
이준호의 다른 상품
|
★ 이 책에서 다루는 내용 ★
■ 클라우드 포메이션을 이용해 자동화된 AWS 인스턴스 프로비저닝 구현 ■ 앤서블로 프로비전된 인프라에 애플리케이션 배포 ■ 테라폼을 이용해 인프라 관리 ■ AWS상의 자동화된 테스트로 CI/CD 파이프라인 구축 및 배포 ■ AWS ECS를 이용한 CI/CD 파이프라인을 위한 컨테이너 이해 ■ AWS 환경 모니터링 및 보안 강화 ★ 이 책의 대상 독자 ★ 개발자, 데브옵스 엔지니어 또는 소프트웨어 인프라에 AWS를 사용해 구축하는 팀과 같이 일하고 있다면, 이 책은 당신을 위한 책이다. 그러나 이 책을 최대한 활용하려면 기본적인 전산 과학 지식이 요구된다. ★ 이 책의 구성 ★ 1장, ‘클라우드와 데브옵스 혁명’에서는 데브옵스와 클라우드 여행을 시작하는 모든 사람에게 기초 지식을 제공한다. 데브옵스 문화, 데브옵스 용어 및 AWS 생태계에 대한 이해는 다음 장들의 이정표가 될 것이다. 2장, ‘첫 번째 웹애플리케이션 배포하기’에서는 AWS 인증 모범 사례 실습 및 가장 간단한 형태의 AWS 인프라 프로비저닝을 연습한다. 간단한 웹 애플리케이션을 작성해 가장 단순한 형태로 애플리케이션을 AWS에 배포하는 방법을 배우고 그 후 인스턴스를 종료한다. 모든 절차를 AWS CLI로 구현한다. 사용 가능한 여러 AWS 서비스와 그 밖의 유명한 서비스 및 제품을 이용해 수동 작업을 자동화하는 방법을 배우고, 다음 장부터 자동화를 구현한다. 3장, ‘코드로 인프라 다루기’에서는 AWS 기본 도구인 클라우드 포메이션과 클라우드 포메이션 템플릿 작성에 사용하는 기법을 이용해 프로비저닝 자동화를 처리한다. 그런 다음 애플리케이션 배포를 자동화하는 구성 관리 시스템 앤서블을 소개한다. 4장, ‘테라폼 코드로 인프라 다루기’에서는 테라폼의 기본을 다룬다. 테라폼 템플릿으로 첫 번째 AWS 인스턴스를 프로비저닝하고 또 다른 테라폼 템플릿으로 애플리케이션을 배포해 테라폼 구현 능력을 키운다. 끝으로 테라폼과 앤서블을 활용해 인프라 프로비저닝 및 애플리케이션 배포 자동화를 통합하는 AWS 프로비저닝을 다룬다. 5장, ‘연속 통합과 연속 배포 추가하기’에서는 자동화된 테스트 프레임워크가 포함된 AWS의 데브옵스 서비스를 사용해 CI/CD 파이프라인을 구성한다. 버전 컨트롤, 연속 통합, 테스트 자동화 도구, AWS 기본 데브옵스 도구 및 인프라 자동화 도구 같은 여러 도구를 이용한 기술 프레임워크를 준비해 얼마나 빨리 실패해야 하고 이런 잦은 실패가 어떻게 안정적인 상용 환경을 이끄는지 배운다. 6장, ‘인프라 확장하기’에서는 확장 가능한 AWS 인프라를 구축하는 데 있어 비용 효율적이고 유용한 AWS 서비스를 소개해 성능에 기반한 비전을 제시한다. 일래스틱 캐시, 클라우드 프론트, SQS, 키네시스 등을 이용해 애플리케이션 프레임워크를 구축한다. 7장, ‘AWS에서 컨테이너 실행하기’에서는 도커 시장에서 가장 유명한 틈새 기술 중 하나를 소개한다. 도커를 통해 컨테이너에 대한 모든 개념을 배운다. ECS로 AWS 컨테이너 환경을 준비하고 애플리케이션을 위한 완벽한 ECS 프레임워크를 구축한다. 끝으로 AWS 데브옵스 도구셋을 이용해 AWS ECS에 서비스를 배포하기 위해 완벽한 CI/CD 파이프라인을 구축한다. 8장, ‘AWS 환경의 보안 강화하기’에서는 AWS 감사 서비스와 역할에 대해 제한된 접근을 제공하고 관리하는 AWS IAM 서비스를 배운다. 이를 통해 AWS VPC 모델을 강화하고 결과적으로 랜섬웨어와 기타 취약점으로부터 보호할 수 있게 하고 AWS 환경의 변화를 인지하고 보안을 강화하는 방법을 배운다. 9장, ‘모니터링과 알람’에서는 AWS 클라우드 와치 서비스를 이용해 AWS 환경 모니터링 프레임워크를 구축한다. 로그를 시각화하기 위한 일부 유명한 대시보드 도구를 이용한다. 끝으로 AWS SNS 서비스를 이용해 알람 프레임워크를 생성하고, 사용자에게 AWS 환경의 정상 여부를 알린다. ★ 지은이의 말 ★ 데브옵스 운동은 현대 기술 회사의 일하는 방식을 변화시켜왔다. 클라우드 컴퓨팅 혁명의 선두 주자인 아마존 웹 서비스(AWS, Amazon Web Services)는 데브옵스 원칙을 구현하는 데 도움이 되는 넓은 범위의 관리형 서비스를 출시했으며 데브옵스 운동의 핵심 공헌 회사이기도 하다. 이 책에서는 기술 스타트업이 AWS에서 서비스를 시작하고 확장하는 방법을 이해하고 적용하는 방법을 배운다. 이 책은 인프라를 코드로 취급하는 방법을 설명한다. 인프라를 코드로 취급한다는 것은 인프라 리소스를 소프트웨어를 다루듯이 쉽게 온라인과 오프라인으로 구축하는 것을 의미한다. 또한 애플리케이션을 최신으로 유지하도록 연속 통합과 연속 배포 파이프라인을 구축한다. 모든 내용을 다룬 후 컨테이너 같은 최근 기술을 이용해 트래픽 폭증에도 사용자에게 최대의 성능을 제공하도록 애플리케이션을 확장하는 방법을 배운다. 또한 모니터링과 알람도 살펴본다. 이를 통해 서비스를 이용하는 데 있어 가장 좋은 경험을 사용자에게 제공할 수 있다. ‘결론’에서는 많은 AWS 관리자가 데브옵스를 사용할 때 활용하는 클라우드 포메이션, 코드 디플로이 같은 내장형 AWS 도구를 다룬다. 이 책의 끝에서는 가장 최신이자 가장 훌륭한 AWS 도구를 이용해 플랫폼과 데이터의 보안을 보장하는 방법을 배운다. ★ 옮긴이의 말 ★ 이 책은 2018년 출간된 『AWS를 이용한 데브옵스 완벽 구축』의 개정판이다. 2년의 시간이지만 참 많은 것이 변했다. 번역 당시에 데브옵스는 생소한 개념이었으나 이제 데브옵스는 당연한 절차로 여겨진다. 클라우드의 저변 확대로 인프라 구성을 수작업으로 하는 경우는 IDC 기반 일부 서비스 외에는 사라진 것 같다. 초반에 AWS 기반으로 인프라 및 서비스 플랫폼 구성 시, 각 서비스별로 설치 스크립트를 작성하고 테스트하고 수작업으로 인프라 구성을 했었다. 실제 장비 도입에 따른 시간 지연 없이 빠르게 인프라를 구성할 수 있었기 때문에 시간 내의 성공적인 구축이 가능했다. 그 후에도 빠른 구축의 장점으로 적극적으로 AWS를 활용해 인프라를 구성했지만 시간이 경과하면서 데브옵스를 기반으로 구축하지 않은 관계로 유지보수에 많은 어려움을 겪게 됐다. 그 후에 코드 기반 인프라 구성 관리를 제안 및 도입했지만 상용에 운용 중인 기존 서비스에 데브옵스를 적용하기는 쉽지 않았다. 그래서 그 이후에 구성되는 신규 서비스는 모두 코드로 구성해 관리하게 하고 그대로 진행 중이다. 한 발 더 나아가 컨테이너 기반(도커, 쿠버네티스)으로 구축을 진행했고 현재는 모든 인프라 및 서비스의 설치 변경은 모두 소스 관리 시스템을 기반으로 한 코드로 진행되고 있다. 이로 인해 구축 속도가 매우 빠르고 구축된 스크립트의 재사용이 매우 편하다. 또한 인프라 변경도 소스로 관리되므로 변경 관리가 용이하다. 그리고 운영 부담이 대폭 줄어들어 시스템 엔지니어 한 명이 서비스 플랫폼을 통째로 관리할 수 있게 됐다. 이 과정을 겪으면서 초반부터 데브옵스로 시작하는 것이 얼마나 중요한지 알 수 있었다. 한번 구축하고 나면 그 이후 변경하기란 거의 불가능에 가깝다. 그러므로 초반에 적극적으로 데브옵스를 채택해야 나중에 큰 효과를 얻을 수 있다. 많은 소프트웨어, 솔루션, 방법론 등이 준비돼 있으므로 이제는 얼마든지 데브옵스의 채택이 가능한 상태다. 물론 내가 근무하는 곳의 환경이 이렇게 바뀐 것이므로 저변 확대라는 말로 일반화하기는 힘들 듯하다. 아직도 수작업으로 인프라를 구성하는 곳이 많을 것으로 예상하고 있다. 그러나 데브옵스의 적용은 정말 유익하다. 초반에는 여러 저항에 부딪히겠지만 이를 달성한 이후의 비즈니스 속도는 그렇지 않은 곳에서 도저히 따라오지 못할 수준의 빠른 전개가 가능할 것이다. |