▣ Chapter 01: 컨테이너 개요 1-1 컨테이너 기술 __서버 가상화와 컨테이너 __컨테이너의 장점 1-2 도커란 __도커 개요 __알아둬야 할 기본 도커 조작 __컨테이너를 운용할 때의 과제 1-3 오케스트레이터란 __오케스트레이터가 해결할 수 있는 것 __대표적인 컨테이너 오케스트레이터 1-4 컨테이너 기술을 도입하기 위해 고려해야 할 것 __컨테이너를 전제로 하는 애플리케이션을 개발하는 방법 __컨테이너 설계ㆍ운용에 임하는 자세 __개발 팀 역할 분담 개편 ▣ Chapter 02: 컨테이너 설계에 필요한 AWS 기초 지식 2-1 AWS가 제공하는 컨테이너 서비스 __제어 플레인 __데이터 플레인 __저장소(Repository) __기타 2-2 아키텍처 구성 예 __ECS on EC2 __ECS on Fargate __EKS on EC2 __EKS on Fargate 2-3 각 아키텍처를 적용한 사용 예 __온프레미스 또는 EC2에 쿠버네티스를 사용하는 경우 __블록체인을 이용하는 풀 노드(Full node)를 구축하는 경우 __기계 학습이 필요한 경우 __높은 자원 집약율을 실현하고자 하는 경우 __SI로 서비스를 만드는 경우 __자사 제품으로 서비스를 개발하는 경우 2-4 AWS에서 컨테이너를 이용할 때의 장점 __로드맵 정보 제공 __지속적인 요금 개정 __다수의 컨테이너 활용 사례 __풍부한 학습 매뉴얼 ▣ Chapter 03: 컨테이너를 이용한 AWS 아키텍처 3-1 이 장을 읽기에 앞서 3-2 Well-Architected 프레임워크 활용 3-3 설계 대상 아키텍처 __이 장에서 다룰 AWS 서비스 __예제 웹 애플리케이션 개요 __설계 요구사항과 기본 아키텍처 3-4 운영 설계 __모니터링과 옵저버빌리티(Observability)의 중요성 __로깅 설계 __지표 설계 __트레이스 설계 __CI/CD 설계 __이미지 유지 보수 운영 __Bastion 설계 3-5 보안 설계 __공동 책임 모델의 이해 __컨테이너 개발 보안 모범 사례 __이미지에 대한 보안 대책 __레지스트리에 대한 보안 대책 __오케스트레이터에 대한 보안 대책 __컨테이너에 대한 보안 대책 3-6 안정성 설계 __다중 AZ 구성을 통한 가용성 향상 __장애 시 절체 및 복구 __시스템 유지 보수를 위한 서비스 정지 __서비스 할당량 고려 3-7 성능 설계 __성능 설계 아이디어 __Step 1: 비즈니스상 성능 요건 __Step 2-1: 자원 할당 __Step 2-2: 확장 전략 검토 __Step 3: 테스트 수행 __Step 4: 지표 확인 __Step 5: 용량 할당 및 확장 전략의 수정 __성능 설계에 필요한 사고방식 3-8 비용 최적화 설계 __비용 최적화 아이디어 __ECS 태스크 수와 자원 크기 산정 __Compute Savings Plans 활용 __ECR 컨테이너 이미지 관리 __개발ㆍ스테이징 환경의 ECS 태스크 실행 시간대 조절 __Fargate Spot 활용 __컨테이너 이미지 크기 줄이기 ▣ Chapter 04: 컨테이너 구축하기(기초편) 4-1 실습으로 만들 AWS 구성 __CloudFormation 템플릿을 이용한 구축 4-2 네트워크 구축 __VPC와 서브넷 __인터넷 게이트웨이 __라우팅 테이블 __보안 그룹 __CloudFormation을 이용한 자원 생성 4-3 애플리케이션 구축 __예제 애플리케이션 개요 __예제 애플리케이션 구축 4-4 컨테이너 레지스트리 구축 __컨테이너 레지스트리 생성 __컨테이너 레지스트리용 네트워크 생성 __애플리케이션 등록 __컨테이너 애플리케이션 등록 4-5 오케스트레이터 구축 __ECS on Fargate 동작 이미지 확인 __오케스트레이터 구축 내용 확인 __CloudWatch Logs용 VPC 엔드포인트 생성 __Blue/Green 배포용 ALB 추가 __Internal용 보안 그룹 변경 __Blue/Green 배포용 IAM 역할 생성 __ECS 구축 __컨테이너 배포 확인 4-6 데이터베이스 구축 __보안 그룹 생성 __Aurora 인스턴스의 네트워크 구성 __Aurora 인스턴스 생성 __데이터베이스 접속을 위한 준비 __Secrets Manager 설정 4-7 애플리케이션 간 통신 확인 __DB에 접속하는 프런트엔드 애플리케이션 등록 및 실행 __통신 확인 ▣ Chapter 05: 컨테이너 구축하기(실천편) 5-1 실습에서 구축할 AWS 구성 5-2 운영 설계: Code 시리즈를 이용한 CI/CD __CodeCommit 생성 __CodeBuild 생성 __CodeDeploy에 대해 __CodePipeline 생성 __응용 프로그램 수정 및 파이프라인 실행 확인 5-3 운영 설계 & 보안 설계: 애플리케이션 이미지 추가 설정 5-4 성능 설계: 수평 확장을 이용한 가용성 향상 __ECS 서비스에 Auto Scaling 설정 추가 __Auto Scaling 동작 확인 5-5 보안 설계: 응용 프로그램 무단 접근 방지 __AWS WAF __WAF 생성 __WAF 추가 후 확인 5-6 운영 설계 & 보안 설계: 로그 수집 기반 구축 __로그 관리용 S3 버킷 생성 __FireLens용 컨테이너 기본 이미지 생성 __ECS 작업에 로그 라우터 컨테이너 추가 __로그 출력 확인 5-7 운영 설계: Fargate를 이용한 Bastion 구축 __Fargate Bastion으로 이용할 컨테이너 이미지 등록 __각종 IAM 설정 __Systems Manager의 VPC 엔드포인트 생성 __Systems Manager 인스턴스 티어 변경 __Fargate Bastion용 작업 정의 생성 __Fargate Bastion 실행 5-8 보안 설계: Trivy/Dockle을 이용한 보안 확인▣ 부록A: AWS 계정 생성 및 설정▣ 부록B: 생성한 자원 삭제