# 목차 1. 왜 AWS인가? 1.1. 가상화와 클라우드 컴퓨팅 1.2. 아마존 웹 서비스 1.3. 스타트업과 클라우드 컴퓨팅 1.4. 다양한 활용 사례 1.4.1. 화상탐사로버 큐리오시티 1.4.2. 넷플릭스 1.4.3. 애니모토 1.4.4. 아모레퍼시픽 1.4.5. 모바일 게임 쿠키런 2. AWS 기본 개념 살펴보기 2.1. 리전, 지역 2.2. 가용 영역 2.3. 에지 로케이션 3. AWS 계정 생성하기 4. 가상 서버를 제공하는 EC2 4.1. EC2 인스턴스 유형 4.2. EC2 인스턴스 구매 옵션 4.3. EC2 인스턴스 생성하기 4.4. EC2 인스턴스에 접속하기 4.4.1. Windows에서 PuTTY로 접속하기 4.4.2. Linux와 Mac OS X에서 접속하기 4.5. 가상 스토리지를 제공하는 EBS 4.5.1. EBS 볼륨 생성하기 4.5.2. EC2 인스턴스에 EBS 볼륨 장착하기 4.5.3. EC2 인스턴스에서 EBS 볼륨 포맷하기 4.5.4. EC2 인스턴스에서 EBS 볼륨 마운트하기 4.5.5. EC2 인스턴스에서 EBS 볼륨 제거하기 4.6. EBS 스냅샷 활용하기 4.6.1. EBS 스냅샷 생성하기 4.6.2. EBS 스냅샷으로 EBS 볼륨 생성하기 4.6.3. EBS 스냅샷으로 AMI 생성하기 4.6.4. EBS 스냅샷을 다른 리전으로 복사하기 4.7. 인스턴스 스토리지를 Root 장치로 사용하는 EC2 인스턴스 생성하기 4.8. EC2 기타 설정 및 기능 5. Security Group으로 방화벽 설정하기 6. 고정 IP를 제공하는 Elastic IP 6.1. Elastic IP 할당받기 6.2. Elastic IP 연결하기 7. EC2 인스턴스 접속을 위한 키 쌍 7.1. 키 쌍 생성하기 7.2. 외부 키 쌍 파일 사용하기 7.2.1. PuTTY로 생성한 키 쌍 파일 활용하기 7.2.3. Linux와 Mac oS X에서 생성한 키 쌍 파일 활용하기 7.3. 이미 생성된 EC2 인스턴스에서 공개 키 바꾸기 8. AMI 8.1. AWS Marketplace 8.2. EC2 인스턴스로 AMI 생성하기 8.3. AMI를 다른 리전으로 복사하기 8.4. 인스턴스 스토리지를 Root 장치로 사용하는 EC2 인스턴스 생성하기 9. API와 툴 사용을 위한 액세스 키 생성하기 10. AWS 리소스의 상태를 모니터링하는 CloudWatch 10.1. CloudWatch 알람 생성하기 10.2. CloudWatch 커스텀 측정치 사용하기 11. HTTP 프로토콜과 연동되는 스토리지 S3 11.1. S3 버킷 생성하기 11.2. S3 버킷에 파일 올리기/받기 11.3. S3 세부 설정하기 11.3.1. S3 객체 권한 관리하기 11.3.2. S3 버킷 관리하기 11.3.3. S3 정적 웹 사이트 호스팅 사용하기 11.3.4. HTTP Referer로 S3 접근 제한하기 11.3.5. S3 객체 스토리지 클래스, 암호화 설정하기 11.3.6. S3 객체 메타데이터 설정하기 11.3.7. S3 버킷 로그 설정하기 11.3.8. S3 버킷 버저닝 설정하기 11.3.9. S3 버킷 수명 주기 설정하기 11.3.10. S3 버킷 기타 설정 12. 전 세계에 콘텐츠를 배포하는 CDN 서비스인 CloudFront 12.1. CloudFront 배포 12.2. S3와 CloudFront 연동하기 12.3. CloudFront 커스텀 오리진 사용하기 12.3.1. EC2와 CloudFront 연동하기 12.3.2. 외부 서버와 CloudFront 연동하기 12.4. Signed URL로 CloudFront 콘텐츠 사용 제한하기 12.4.1. Signed URL 사용 설정하기 12.4.2. Signed URL 서명을 위한 CloudFront 키 쌍 생성하기 12.4.3. Canned Policy를 사용한 Signed URL 생성하기 12.4.4. Custom Policy를 사용한 Signed URL 생성하기 12.5. Invalidation으로 CloudFront 콘텐츠 갱신하기 13. 확장 가능한 관계형 데이터베이스를 제공하는 RDS 13.1. RDS DB 인스턴스 클래스 13.2. RDS 예약 인스턴스 13.3. RDS 데이터베이스 엔진과 라이선스 모델 13.4. RDS DB 인스턴스 생성하기 13.5. RDS DB 인스턴스 Security Group 생성 및 설정하기 13.6. RDS DB 인스턴스 사용하기 13.7. RDS DB 스냅샷 활용하기 13.7.1. RDS DB 스냅샷 생성하기 13.7.2. RDS DB 스냅샷으로 RDS DB 인스턴스 생성하기 13.7.3. RDS 스냅샷을 다른 리전으로 복사하기 13.8. RDS를 특정 시점으로 복구하기 13.9. RDS DB 인스턴스의 Read Replica 생성하기 13.10. RDS DB 인스턴스 성능 확장하기 13.11. RDS 기타 설정 및 기능 14. 확장 가능한 NoSQL 분산 데이터베이스를 제공하는 DynamoDB 14.1. DynamoDB의 데이터 모델 14.2. DynamoDB에 맞는 데이터 구조 설계하기 14.3. DynamoDB 테이블 생성하기 14.4. DynamoDB 테이블에 데이터 추가하기 14.5. DynamoDB 데이터 쿼리하기 14.6. DynamoDB 기타 설정 및 기능 15. 확장 가능한 분산 인 메모리 캐시를 제공하는 ElastiCache 15.1. ElastiCache 캐시 노드 유형 15.2. ElastiCache 예약 캐시 노드 15.3. ElastiCache Memcached 클러스터 생성하기 15.4. ElastiCache Memcached 클러스터 Security Group 생성 및 설정하기 15.5. ElastiCache Memcached 클러스터에 캐시 노드 추가하기 15.6. ElastiCache Redis 클러스터 생성하기 15.7. ElastiCache Redis 클러스터 Security Group 생성 및 설정하기 15.8. ElsatiCache Redis 클러스터 스냅샷 활용하기 15.8.1. ElastiCache Redis 클러스터 스냅샷 설정하기 15.8.2. ElastiCache Redis 클러스터 스냅샷으로 Redis 클러스터 생성하기 15.9. ElastiCache Redis 클러스터의 Redis Replica 생성하기 16. 사용자와 그룹을 생성하여 접근 제어 및 권한 관리를 제공하는 IAM 16.1. IAM 그룹 생성하기 16.2. IAM 사용자 생성하기 16.3. IAM 사용자로 AWS 콘솔에 접속하기 16.4. IAM 역할 활용하기 16.4.1. IAM 역할 생성하기 16.4.2. IAM 역할을 사용하는 EC2 인스턴스 생성하기 16.5. IAM 기타 설정 및 기능 17. AWS 리소스와 연동 가능한 DNS 서비스 Route53 17.1. Route 53 HostedZone 생성하기 17.2. Route 53 A 레코드 생성하기 17.3. Route 53과 S3 연동하기 17.4. Route 53과 CloudFront 연동하기 17.5. Route 53 DNS Failover 활용하기 17.6. Route 53 Latency based routing, Weighted Round Robin, Geo Routing 설정하기 17.7. Route 53에서 도메인 구입하기 18. 부하 분산과 고가용성을 제공하는 ELB 18.1. ELB 로드 밸런서 생성하기 18.2. EC2 인스턴스에 웹 서버 실행하기 18.3. ELB 로드 밸런서 Sticky Session 기능 사용하기 19. 자동으로 EC2 인스턴스를 생성해 서비스를 확장하는 Auto Scaling 19.1. Auto Scaling에 사용할 AMI 생성하기 19.2. EC2 생성 옵션 설정과 Auto Scaling 그룹 생성하기 20. 가상 네트워크를 제공하는 VPC 20.1. VPC 생성하기 20.2. VPC 서브넷 생성하기 20.3. VPC 인터넷 게이트웨이 생성하기 20.4. VPC 기타 설정 및 기능 21. 데이터 보관 및 백업을 위한 매우 저렴한 스토리지 서비스 Glacier 21.1. Glacier 볼트 생성하기 21.2. Glacier 볼트에 파일 올리기 21.3. Glacier 볼트에서 파일 받기 22. 서버 구성을 자동화하는 CloudFormation 22.1. CloudFormation 템플릿 기본 구조 22.2. EC2 인스턴스를 생성하는 CloudFormation 템플릿 22.3. EC2 인스턴스를 생성하고 웹 서버를 설치, 실행하는 CloudFormation 템플릿 22.4. EC2 인스턴스를 생성하고 Security Group을 설정하는 템플릿 22.5. CloudFormation 템플릿으로 CloudFormation 스택 생성하기 23. 간편하게 사용하는 애플리케이션 플랫폼 서비스 Elastic Beanstalk 23.1. Elstaic Beanstalk으로 Node.js 애플리케이션과 환경 생성하기 23.2. AWS 콘솔에서 Elastic Beanstalk Node.js 애플리케이션 배포하기 23.3. Git으로 Elastic Beanstalk Node.js 애플리케이션 배포하기 23.4. Elastic Beanstalk 환경 URL 교체로 무중단 배포하기 24. 애플리케이션 구성과 배포하는 자동화하는 OpsWorks 24.1. OpsWorks 스택 생성하기 24.2. OpsWorks PHP 레이어 생성하기 24.3. OpsWorks PHP 인스턴스 생성하기 24.4. OpsWorks PHP App 생성하기 24.5. OpsWorks PHP App 배포하기 24.6. OpsWorks 커스텀 Chef 레피시 사용하기 25. 검색 서비스를 제공하는 CloudSearch 25.1. CloudSearch 검색 인스턴스 유형 25.2. CloudSearch 검색 도메인 생성하기 25.3. CloudSearch 검색 도메인에 데이터 올리기 25.4. CloudSearch 검색 도메인에서 검색하기 25.4.1. CloudSearch 검색 자동완성 사용하기 25.4.2. CloudSearch 검색 식 사용하기 25.5. CloudSearch 검색 도메인 엔드포인트 주소 활용하기 25.5.1. CloudSearch 인덱스 구조를 설계하고 검색 도메인 생성하기 25.5.2. CloudSearch 검색 도메인 엔드포인트로 데이터 올리기 25.5.3. CloudSearch 검색 도메인 엔드포인트 주소로 검색하기 26. 푸시 알림 서비스 SNS 26.1. SNS 토픽과 이메일 구독 생성하기 26.2. SNS 토픽에 메시지 보내기 26.3. SNS로 구글 안드로이드에 푸시 알림 보내기 26.3.1. 구글 GCM API 사용 등록하기 26.3.2. SNS 애플리케이션 생성하기 26.3.3. 예제 안드로이드 애플리케이션 실행 및 Registration ID 생성하기 26.3.4. SNS 애플리케이션에 엔드포인트 추가하기 26.3.5. SNS 애플리케이션의 엔드포인트에 메시지 보내기 26.3.6. SNS 토픽에 GCM 구독 생성하기 26.4. SNS로 애플 iOS에 푸시 알림 보내기 26.4.1. iOS App ID 생성하기 26.4.2. 인증서 요청 생성하기 26.4.3. APNS 인증서 생성하기 26.4.4. SNS 애플리케이션 생성하기 26.4.5. 예제 iOS 애플리케이션 실행 및 Device Token 생성하기 26.4.6. SNS 애플리케이션에 엔드포인트 추가하기 26.4.7. SNS 애플리케이션의 엔드포인트에 메시지 보내기 26.4.8. SNS 토픽에 APNS 구독 생성하기 27. 이메일 전송 서비스 SES 27.1. 이메일 주소 인증하기 27.2. 도메인 인증하기 27.3. 프로덕션 액세스 권한 얻기 27.4. SES로 테스트 메일 보내기 27.5. SES SMTP로 메일 보내기 28. 메시지 큐를 제공하는 SQS 28.1. SQS 큐 생성하기 28.2. SQS 처리 실패 큐 생성하기 28.3. SQS 큐에 메시지 보내기/받기 29. 동영상 인코딩 서비스 Elastic Transcoder 29.1. Elastic Transcoder 파이프라인과 작업 생성하기 30. AWS API, CLI 활용하기 30.1. Node.js용 AWS SDK 설치하기 30.2. AWS CLI 설치하기 30.3. EC2 30.4. CloudWatch 30.5. ELB 30.6. Auto Scaling 30.7. S3 30.8. CloudFront 30.9. DynamoDB 30.10. CloudSearch 30.11. SNS 30.12. SES 30.13. SQS 31. 글로벌 사진 사이트 구축하기 31.1. 이미지, 소스 저장용 S3 버킷 생성하기 31.2. 이미지 정보 저장용 RDS DB 인스턴스 생성하기 31.3. 이미지 처리용 SQS 큐 생성하기 31.4. S3, SQS 접근용 IAM 역할 생성하기 31.5. 웹 서버용 ELB 로드 밸런서 생성하기 31.6. 웹 서버, 이미지용 CloudFrnt 배포 생성하기 31.7. Route 53으로 도메인 연결하기 31.8. Node.js로 웹 서버 작성하기 31.8.1. 웹 서버 및 사이트 내용 둘러보기 31.9. 웹 서버 AMI 생성하기 31.10. 웹 서버 Auto Scaling 설정하기 31.11. Node.js로 이미지 변환 서버 작성 및 구축하기 31.11.1. 이미지 변환 서버 내용 둘러보기 31.11.2. 이미지 변환 서버 구축하기 31.12. 사진 사이트 동작 확인하기 32. 자동 확장 가능한 콘서트 티켓 예메 사이트 구축하기 32.1. 소스 저장용 S3 버킷 생성하기 32.2. 좌석 데이터 저장용 RDS DB 인스턴스 생성하기 32.3. 좌석 상태 갱신용 ElastiCache 캐시 클러스터 생성하기 32.4. S3 접근용 IAM 역할 생성하기 32.5. 웹 서버용 ELB 로드 밸런서 생성하기 32.6. 웹 서버용 CloudFront 배포 생성하기 32.7. Route 53으로 도메인 연결하기 32.8. Node.js로 웹 서버 작성하기 32.8.1. 웹 서버 및 사이트 내용 둘러보기 32.9. 웹 서버 AMI 생성하기 32.10. 웹 서버, Auto Scaling 설정하기 32.11. 티켓 예매 사이트 동작 확인하기 33. 자동 확장 가능한 모바일 게임 서버 구축하기 33.1. 소스 저장용 S3 버킷 생성하기 33.2. 순위 산출용 ElastiCache 캐시 클러스터 생성하기 33.3. 게임 데이터 저장용 RDS DB 인스턴스 생성하기 33.4. 로그 저장용 DynamoDB 테이블 생성하기 33.5. S3, DynamoDB 접근용 IAM 역할 생성하기 33.6. 게임 서버용 ELB 로드 밸런서 생성하기 33.7. Route 53으로 도메인 연결하기 33.8. Node.js로 게임 서버 작성하기 33.8.1. 게임 서버 내용 둘러보기 33.9. 게임 서버 AMI 생성하기 33.10. 게임 서버 Auto Scaling 설정하기 33.11. 게임 서버 동작 확인하기 34. 부록 34.1. 요금 계산기 34.2. Windows EC2 인스턴스 사용하기 34.3. S3를 s3fs로 파일 시스템처럼 사용하기 34.4. S3를 s3cmd로 관리하기 34.5. Auto Scaling 그룹의 EC2 인스턴스에 소스 배포하기 34.6. AWS Visual Studio 툴킷 34.7. AWS Eclipse 툴킷 34.8. 요금 절약하기