옮긴이 머리말 ix
베타리더 후기 xi
추천 서문 xii
이 책에 대하여 xiv
감사의 글 xix
CHAPTER 1 클라우드 스탠다드 시대의 시스템 개발 1
1.1 시스템 개발에서 클라우드의 등장 3
__1.1.1 클라우드에 관한 사전 지식 3
__1.1.2 클라우드의 특징 6
__1.1.3 시간에 따른 클라우드 서비스의 변화 7
1.2 클라우드를 이용한 시스템 개발 8
__1.2.1 개발 현장의 상황 8
__1.2.2 클라우드의 등장이 IT 시장에 미친 영향 11
1.3 시스템 개발 체제 정비 방법 15
__1.3.1 시스템 개발 방법 선택 15
__1.3.2 개발팀 분리에 관한 사고방식 19
CHAPTER 2 아키텍처링에 관한 사고방식 23
2.1 아키텍처링의 필요성 25
__2.1.1 아키텍처 패턴 25
__2.1.2 아키텍처링에서 알 수 있는 것 29
2.2 클라우드 아키텍처 검토 31
__2.2.1 IaaS Only 31
__2.2.2 매니지드 서비스 활용 31
2.3 클라우드 아키텍처 참고 자료 33
__2.3.1 AWS Well-Architected Framework 33
__2.3.2 AWS 백서 및 안내서 34
__2.3.3 AWS Trusted Advisor 활용 35
CHAPTER 3 클라우드 아키텍처링과 서비스 선정 39
3.1 대상 서비스에 적합한 아키텍처링 41
__3.1.1 엔터프라이즈 계열 시스템(클라우드) 41
__3.1.2 웹 기반 모바일 애플리케이션 42
3.2 시스템 구축 시의 요건 43
__3.2.1 클라우드 네이티브 요건 43
__3.2.2 클라우드로의 마이그레이션 패턴 46
3.3 클라우드에서만 가능한 구성 52
__3.3.1 Well-Architected Framework 활용 52
__3.3.2 Auto Scaling 사용 여부 54
__3.3.3 매니지드 서비스 사용 여부 56
__3.3.4 VPC 연결 방법 57
__3.3.5 온프레미스와의 연결 59
__3.3.6 멀티 리전, 멀티 클라우드가 필요한가? 64
__3.3.7 업데이트 방식 검토 65
__3.3.8 AWS Marketplace 활용 67
3.4 기능 요건과 비기능 요건 69
__3.4.1 기능 요건 69
__3.4.2 비기능 요건 69
3.5 구현 및 운용 계획 시 유의점 71
__3.5.1 클라우드에서 시스템을 만드는 이유를 명확히 한다 71
__3.5.2 클라우드 이용 방침을 만든다 72
__3.5.3 AWS 서비스 업데이트 시 대응 방침 74
3.6 시스템의 대략적인 예상 비용 설정 76
__3.6.1 AWS Pricing Calculator 사용 방법 76
__3.6.2 더욱 정확한 예상 비용 설정 방법 81
CHAPTER 4 비기능 요건 노하우 83
4.1 계정 관리 85
__4.1.1 ‘계정’은 무엇을 가리키는가? 85
__4.1.2 AWS 계정 관리 86
__4.1.3 루트 사용자 관리 89
__4.1.4 IAM 사용자와 IAM 역할 관리 92
__4.1.5 예방 제어와 탐지 제어 97
4.2 가용성과 DR 100
__4.2.1 가용성 확보 100
__4.2.2 백업 전략 102
__4.2.3 DR 확보 104
4.3 클라우드 시스템에서의 성능 확보 110
__4.3.1 인스턴스 유형 선택 110
__4.3.2 스케일 업과 스케일 아웃 113
4.4 관측 가능성 확보 116
__4.4.1 시스템을 감시하는 목적은 무엇인가? 116
__4.4.2 로그와 트레이스 수집 121
__4.4.3 온프레미스에서 클라우드로의 모니터링 마이그레이션 125
__4.4.4 경고 취급 127
CHAPTER 5 클라우드 아키텍처링 포인트 131
5.1 시스템 요건 133
__5.1.1 설정한 가공의 요건 133
5.2 구성 검토 포인트 134
__5.2.1 다중 계정 아키텍처 134
__5.2.2 RTO/RPO에 맞춘 백업/DR 전략 135
__5.2.3 Auto Scaling 사용 여부 138
__5.2.4 비용 관리/절감 전략 139
__5.2.5 로그 취급 144
5.3 구축 시 검토 포인트 145
__5.3.1 어떻게 구축할 것인가? 145
__5.3.2 어디부터 만들 것인가? 146
CHAPTER 6 다중 계정 아키텍처 구축 151
6.1 실습 구성 153
__6.1.1 시스템 개요 153
__6.1.2 시스템 구성도 155
6.2 AWS 계정 준비 161
__6.2.1 관리 계정 설정 161
__6.2.2 AWS Control Tower를 이용한 다중 계정 환경 준비 172
__6.2.3 사용자에게 MFA 디바이스 이용을 강제한다 177
__6.2.4 사용자 등록 179
__6.2.5 AWS Control Tower를 이용한 멤버 계정 설정 194
__6.2.6 AWS IAM Identity Center 관리 권한을 로그인용 계정에 위임하기 197
__6.2.7 예산 설정 199
__6.2.8 AWS Security Hub 활성화 206
__6.2.9 Amazon GuardDuty 활성화 211
__6.2.10 멤버 계정의 Security Hub와 GuardDuty 활성화 214
CHAPTER 7 클라우드 시스템을 안정적으로 지속시키는 방법 217
7.1 클라우드와 온프레미스의 공통점 219
__7.1.1 물리 기기의 고장 219
7.2 클라우드만의 특징 221
__7.2.1 서비스 사양 변경 221
__7.2.2 장애 대응: 사고가 발생했다면 어떻게 하는가? 223
__7.2.3 비용 모니터링의 중요성 225
__7.2.4 AWS Support 활용 228
CHAPTER 8 클라우드 시스템을 올바르게 평가하는 관점 233
8.1 비용 관점 235
__8.1.1 인프라스트럭처 비용 관점 235
__8.1.2 인적 비용 관점 236
__8.1.3 시간적 비용 관점 238
8.2 보안 관점 239
8.3 운용 관점 241
8.4 비즈니스와 조직 관점 242
__8.4.1 비즈니스 관점 242
__8.4.2 조직 관점 243
CHAPTER 9 클라우드의 장점을 살린 개발 사례 245
9.1 인터넷 공개 웹사이트의 호스팅 247
__9.1.1 시스템 개요 247
__9.1.2 클라우드의 장점 활용 247
9.2 사내 시스템으로서의 데이터 분석 인프라스트럭처 251
__9.2.1 시스템 개요 251
__9.2.2 클라우드의 장점 활용 251
9.3 공개 사례: 주식회사 발 연구소 254
__9.3.1 시스템 개요 254
__9.3.2 클라우드의 장점 활용 254
9.4 공개 사례: 홋카이도 TV 방송 주식회사 256
__9.4.1 시스템 개요 256
__9.4.2 클라우드의 장점 활용 256
찾아보기 259