책 소개
요약
AWS를 사용하며 직면하게 될 일반적인 문제를 창의적으로 해결할 수 있는 70개 이상의 레시피를 제공하는 실용적인 안내서다. 초보자부터 전문가 레벨의 개발자, 엔지니어, 아키텍트까지 AWS에 대한 유용한 지식을 습득할 수 있다.
초보자는 클라우드 개념을 습득하고 서비스 작업에 익숙해질 수 있으며, 전문가는 실제로 사용하는 모범 사례를 파악하고 다양한 서비스를 살펴볼 수 있다. 또한 레시피를 사용해 높은 수준의 기능을 구현할 수 있다. 이 책이 소개하는 레시피는 엔터프라이즈급 애플리케이션의 구성 요소와 개념에 대한 기초를 다질 수 있는 예제를 제공하는 것을 목표로 한다.
각 레시피의 구성 요소를 다이어그램을 통해 설명하고 AWS 계정에서 안전하게 실행할 수 있는 코드를 제공한다. 문제 설명, 해결 방법을 제공하며 도전 과제로 더 깊은 내용을 살펴볼 수 있는 기회를 제공한다.
추천의 글
“공식 AWS 문서는 실용적인 예시를 다루지는 않는다. 우리는 화이트보드에 개념을 정리하기 위해서가 아니라 특정 작업을 완료하기 위해 AWS 서비스를 사용한다. 이 책은 모두가 실제로 적용할 수 있는 레시피와 실용적인 예시를 모아서 실제 사용자에게 전달한다.”
—코리 퀸(Corey Quinn)
덕빌(Duckbill) 그룹 최고 클라우드 이코노미스트(Chief Cloud Economist)
“일반적인 AWS 사용 사례와 따라 하기 쉬운 예제를 찾을 수 있다. 실습 중심의 예제를 방식으로 AWS 개념을 배우고 싶다면 이 책을 적극 추천한다.”
—가우라브 라지(Gaurav Raje)
『Security and Microservice Architecture on AWS』의 저자
“나는 AWS에 대한 팁과 요령을 이렇게 빽빽하게 수록한 책을 읽은 적이 없다. 5년 전에 이 책이 있었다면 정말 좋았을 것이다. AWS를 매일 사용하는 사람이라면 이 책의 내용을 자주 사용할 수 있을 뿐만 아니라 좋은 영감을 받을 수 있을 것이다. 내가 생각할 때는 이 책이 현존하는 최고의 AWS 책이다.”
—에이드리안 캔트릴(Adrian Cantrill)
learn.cantrill.io의 AWS 트레이너
“클라우드 전문가가 되려면 실무 경험이 필수적이다. 이 책은 개인의 경력 수준을 높이는 데 도움을 주는 클라우드 작업에 대한 실용적인 시나리오를 제공한다.”
—드루 퍼멘트(Drew Firment)
AWS 커뮤니티 히어로 및 Pluralsight의 기업 전략 수장
이 책에서 다루는 내용
AWS의 기술을 활용하면 흥미롭고 까다로운 문제를 해결할 수 있는 강력한 시스템과 애플리케이션을 만들 수 있는 능력을 갖게 될 것이다. 지멘스(Siemens)처럼 AWS 머신러닝을 사용해 초당 6만 건의 사이버 위협을 처리할 수 있기를 원하는가? 캐피탈 원(Capital One)과 같이 조직의 온프레미스 공간을 줄이고 마이크로 서비스의 사용을 확대하는 것을 원하는가? 이 책은 AWS 서비스를 빌딩 블록처럼 사용해 일반적인 시나리오를 다루는 실용적인 솔루션을 구성할 수 있는 실질적인 예제를 제공한다. 클라우드의 온디맨드 소비 모델, 방대한 용량, 고급 기능, 글로벌 풋프린트는 새로운 가능성을 열어준다.
이 책의 대상 독자
초심자부터 전문가까지 모든 수준의 개발자, 엔지니어, 아키텍트를 위한 쿡북이다. 초심자는 클라우드 개념을 배우고 클라우드 서비스 작업에 익숙해질 수 있으며, 전문가는 레시피 기반의 코드를 검사하고 새로운 서비스를 탐색해 새로운 관점을 얻을 수 있다. 이 책은 엔터프라이즈급 애플리케이션의 구성 요소와 개념에 대해 ‘Hello, World’와 같은 예제를 제공하는 것을 목표로 한다. 일반적인 사용 사례의 시나리오 지침을 사용해 현재 또는 미래의 작업에 직접 적용할 수 있다. 또한 선별된 레시피로 AWS 서비스를 이해할 수 있다.
이 책의 구성
각 장은 일반적인 기술 영역(예: 보안, 네트워킹, 인공지능 등)에 초점을 맞춰 나눴다. 각 장의 레시피는 독립적이며 쉽게 적용할 수 있다. 각 레시피의 크기나 복잡도는 다르며 문제 설명, 해결 방법(다이어그램 포함), 토론으로 구성돼 있다. 혼동이 있을 수 있어 문제 설명은 엄격하게 정의한다. 해결 방법은 목표를 달성하는 데 필요한 작업을 안내하고자 필요한 준비 및 단계를 포함한다. 필요한 경우 명시적으로 유효성 검사 방법도 제공한다. 추가적으로 레시피 마지막에 도전 과제를 제공한다. 해결 방법이 중요한 이유를 이해하는 데 도움을 줄 수 있는 토론, 솔루션 확장을 위한 제안, 실제 효과를 위해 활용하는 방법으로 각 레시피를 마무리한다.
목차
목차
- 1장. 보안
- 1.0 들어가며
- 1.1 개발자 접근을 위한 IAM 역할 생성과 수임
- 1.2 액세스 패턴을 기반으로 최소 권한 IAM 정책 생성
- 1.3 AWS 계정의 IAM 사용자 암호 정책 시행
- 1.4 IAM 정책 시뮬레이터를 사용해서 IAM 정책 테스트
- 1.5 권한 경계를 사용한 IAM 관리 기능 위임
- 1.6 AWS SSM Session Manager를 사용해 EC2 인스턴스에 연결
- 1.7 KMS 키를 사용해 EBS 볼륨 암호화
- 1.8 Secrets Manager를 사용해 암호 저장, 암호화, 액세스
- 1.9 S3 버킷에 대한 퍼블릭 액세스 차단
- 1.10 CloudFront를 사용해 S3에서 안전하게 웹 콘텐츠 제공
- 2장. 네트워킹
- 2.0 들어가며
- 2.1 Amazon VPC를 사용해 프라이빗 가상 네트워크 생성
- 2.2 서브넷과 라우팅 테이블을 포함한 네트워크 티어 생성
- 2.3 인터넷 게이트웨이를 사용해 VPC를 인터넷에 연결
- 2.4 NAT 게이트웨이 사용한 프라이빗 서브넷의 외부 인터넷 접근
- 2.5 보안 그룹을 참고해 동적으로 접근 권한 부여
- 2.6 VPC Reachability Analyzer를 활용한 네트워크 경로 확인 및 문제 해결
- 2.7 Application Load Balancer를 사용해 HTTP 트래픽을 HTTPS로 리디렉션
- 2.8 접두사 목록을 활용한 보안 그룹의 CIDR 관리
- 2.9 VPC 엔드포인트를 사용한 S3 접근
- 2.10 트랜짓 게이트웨이를 사용해 전이 라우팅 연결 활성화
- 2.11 VPC 간 네트워크 통신을 위한 VPC 피어링 적용
- 3장. 스토리지
- 3.0 들어가며
- 3.1 S3 수명 주기 정책을 사용한 스토리지 비용 절감
- 3.2 S3 Intelligent-Tiering 아카이브 정책을 사용한 S3 객체 자동 아카이브
- 3.3 복구 시점 목표 달성을 위한 S3 버킷 복제 구성
- 3.4 Storage Lens를 사용해 S3의 스토리지 및 액세스 지표 확인
- 3.5 S3 액세스 포인트를 사용해 별도의 애플리케이션 액세스 구성
- 3.6 AWS KMS를 사용한 Amazon S3 버킷의 객체 암호화
- 3.7 AWS Backup을 사용해 다른 리전에 EC2 백업 생성 및 복원
- 3.8 EBS 스냅샷 내의 파일 복원
- 3.9 DataSync를 활용한 EFS와 S3 간의 데이터 복제
- 4장. 데이터베이스
- 4.0 들어가며
- 4.1 Amazon Aurora Serverless PostgreSQL 데이터베이스 생성
- 4.2 IAM 인증을 사용한 RDS 접속
- 4.3 RDS 프록시를 사용한 람다와 RDS 연결
- 4.4 기존 Amazon RDS for MySQL 데이터베이스의 스토리지 암호화
- 4.5 RDS 데이터베이스의 암호 교체 자동화
- 4.6 DynamoDB 테이블의 프로비저닝 용량 Auto Scaling
- 4.7 AWS DMS를 사용해 데이터베이스를 Amazon RDS로 마이그레이션하기
- 4.8 RDS 데이터 API를 사용해 Aurora Serverless에 대한 REST 액세스 활성화
- 5장. 서버리스
- 5.0 들어가며
- 5.1 ALB에서 람다 함수를 호출하도록 구성
- 5.2 람다 계층을 사용한 라이브러리 패키징
- 5.3 람다 함수 스케줄링
- 5.4 람다 함수에서 EFS 파일 시스템 사용
- 5.5 AWS Signer를 사용한 람다 코드의 무결성 확인
- 5.6 컨테이너 이미지를 람다에 배포
- 5.7 S3의 CSV 데이터를 람다를 사용해 DynamoDB로 로드
- 5.8 프로비저닝된 동시성을 사용해 람다 시작 시간 단축
- 5.9 람다에서 VPC 내의 리소스 접근
- 6장. 컨테이너
- 6.0 들어가며
- 6.1 Amazon ECR에 컨테이너 이미지 빌드, 태그, 푸시
- 6.2 Amazon ECR에 푸시하는 컨테이너 이미지의 보안 취약점 스캔
- 6.3 Amazon Lightsail을 사용한 컨테이너 배포
- 6.4 AWS Copilot을 사용한 컨테이너 배포
- 6.5 블루/그린 배포로 컨테이너 업데이트
- 6.6 Amazon ECS의 컨테이너 워크로드 자동 확장
- 6.7 이벤트를 통해 Fargate 컨테이너 작업 시작
- 6.8 Amazon ECS의 컨테이너 로그 캡처
- 7장. 빅데이터
- 7.0 들어가며
- 7.1 스트리밍 데이터 수집을 위한 Kinesis 스트림 사용
- 7.2 Amazon Kinesis Data Firehose를 사용한 Amazon S3로 데이터 스트리밍
- 7.3 AWS Glue 크롤러를 사용한 메타데이터 검색 자동화
- 7.4 Amazon Athena를 사용한 S3 내의 파일 쿼리
- 7.5 AWS Glue DataBrew를 사용한 데이터 변환
- 8장. AI/ML
- 8.0 들어가며
- 8.1 팟캐스트 음성을 텍스트로 변환
- 8.2 텍스트 음성 변환
- 8.3 컴퓨터 비전을 사용한 양식 데이터 분석
- 8.4 Comprehend를 사용해 텍스트에서 PII 수정
- 8.5 동영상 내의 텍스트 감지
- 8.6 Amazon Transcribe Medical과 Comprehend Medical을 사용해 의료 전문가의 음성 분석
- 8.7 이미지 내의 텍스트 위치 파악
- 9장. 계정 관리
- 9.0 들어가며
- 9.1 계정 리소스 분석을 위한 EC2 Global View 사용
- 9.2 태그 편집기를 사용해 여러 가지 리소스의 일괄 태그 수정하기
- 9.3 AWS 계정의 모든 리전에 CloudTrail 로깅 활성화
- 9.4 루트 계정 로그인 시 경고 이메일 발송
- 9.5 루트 사용자의 다단계 인증 설정
- 9.6 AWS Organizations 및 AWS Single Sign-On 설정