클라우드 입문자를 위해 AWS 인프라를 구축하고 운용하는 방법을 단계별로 설명한다. 먼저 클라우드에서 네트워크 및 서버를 구축하는 데 필요한 기본 지식을 알려주고, AWS의 네이티브 기능을 조합하여 안전하면서도 강력한 엔터프라이즈 인프라를 구축/운용하기 위한 설정 방법과 노하우를 친절하게 알려준다.
Contents
옮긴이 머리말 x
베타리더 후기 xii
이 책에 대하여 xiv
CHAPTER 1 AWS 시작하기
1.1 AWS 개요 2
1.2 클라우드 3
1.2.1 컴퓨터 리소스로서의 클라우드 3 / 1.2.2 클라우드의 장점 5
1.2.3 IaaS, PaaS, SaaS 6 / 1.2.4 AWS에서 제공하는 클라우드 형태 8
1.3 AWS 제공 솔루션 8
1.3.1 엔터프라이즈 애플리케이션 구축 8 / 1.3.2 서버리스 애플리케이션 구축 9
1.3.3 AI와 머신러닝 10 / 1.3.4 기타 제공 솔루션 10
1.3.5 이 책에서 다루는 비즈니스 니즈와 서비스 11
CHAPTER 2 AWS 계정 만들기
2.1 AWS 계정이란? 14
2.1.1 AWS 계정 생성 시 준비물 14 / 2.1.2 루트 사용자 15
2.2 AWS 계정 생성하기 16
2.2.1 AWS 계정 생성 16 / 2.2.2 연락처 정보 입력 17 / 2.2.3 결제 정보 입력 18
2.2.4 자격 증명 확인 19 / 2.2.5 Support 플랜 선택 19
2.3 로그인하기 21
2.3.1 로그인 21 / 2.3.2 AWS 계정 정보 입력 21 / 2.3.3 AWS 계정의 비밀번호 입력 22
2.4 AWS 관리 콘솔 이용법 23
2.4.1 리전 변경 23 / 2.4.2 서비스 대시보드 열기 24 / 2.4.3 로그아웃 24
CHAPTER 3 안전한 조작 준비하기
3.1 IAM 28
3.1.1 인증 28 / 3.1.2 접근 허가 29 / 3.1.3 루트 사용자 29 / 3.1.4 사용자와 그룹 30
3.2 IAM 대시보드를 이용해 안전성 확인하기 31
3.2.1 AWS 계정 루트 사용자의 액세스 키 잠금 31 / 3.2.2 MFA 활성화 33
3.2.3 개별 IAM 사용자 생성 37 / 3.2.4 사용자 그룹을 이용한 접근 권한 할당 41
3.2.5 사용자에 대한 강력한 암호 정책 구성 44
CHAPTER 4 가상 네트워크 만들기
4.1 네트워크 48
4.2 VPC 49
4.2.1 VPC란? 49 / 4.2.2 생성 내용 50 / 4.2.3 VPC 생성 순서 51
4.3 서브넷과 가용 영역 54
4.3.1 서브넷과 가용 영역이란? 54 / 4.3.2 IPv4 CIDR 설계 방법 55
4.3.3 생성 내용 56 / 4.3.4 서브넷 생성 순서 58
4.4 인터넷 게이트웨이 60
4.4.1 인터넷 게이트웨이란? 60 / 4.4.2 생성 내용 61
4.4.3 인터넷 게이트웨이 생성 순서 61
4.5 NAT 게이트웨이 65
4.5.1 NAT 게이트웨이란? 65 / 4.5.2 NAT 시스템 66
4.5.3 생성 내용 67 / 4.5.4 NAT 게이트웨이 생성 순서 68
4.6 라우팅 테이블 70
4.6.1 라우팅 테이블이란? 70 / 4.6.2 생성 내용 71 / 4.6.3 라우팅 테이블 생성 순서 73
4.7 보안 그룹 78
4.7.1 보안 그룹이란? 78 / 4.7.2 생성 내용 79 / 4.7.3 보안 그룹 생성 순서 80
CHAPTER 5 점프 서버 준비하기
5.1 점프 서버란? 86
5.2 SSH 접속에 필요한 키 페어 준비하기 87
5.2.1 생성 내용 87 / 5.2.2 키 페어 생성 순서 88
5.3 점프 서버 준비하기 89
5.3.1 생성 내용 89 / 5.3.2 EC2 인스턴스 생성 순서 90
5.4 접속 확인하기 97
5.4.1 접속 확인 순서 97
CHAPTER 6 웹 서버 준비하기
6.1 웹 서버란? 102
6.2 웹 서버 준비하기 103
6.2.1 생성 내용 103 / 6.2.2 점프 서버와 비교 104 / 6.2.3 EC2 인스턴스 생성 순서 104
6.3 접속 확인하기 110
6.3.1 접속 확인 순서 111
CHAPTER 7 로드 밸런서 준비하기 113
7.1 로드 밸런서란? 114
7.1.1 로드 밸런서의 역할 114 / 7.1.2 AWS에서 제공하는 로드 밸런서 116
7.1.3 로드 밸런서를 이용한 요청 라우팅 117
7.2 로드 밸런서 생성하기 118
7.2.1 생성 내용 118 / 7.2.2 가용 영역 118
7.2.3 로드 밸런서와 대상 그룹 119 / 7.2.4 로드 밸런서 생성 순서 120
7.3 작동 확인하기 128
7.3.1 HTTP 요청을 받을 준비 128 / 7.3.2 요청 라우팅 확인 129
7.3.3 브라우저에서 접근 130
CHAPTER 8 데이터베이스 서버 준비하기
8.1 데이터베이스 서버란? 132
8.2 RDS 133
8.2.1 RDS 시스템 134
8.3 데이터베이스 서버 생성 흐름 135
8.4 파라미터 그룹 생성하기 135
8.4.1 생성 내용 135 / 8.4.2 파라미터 그룹 생성 순서 136
8.5 옵션 그룹 생성하기 137
8.5.1 생성 내용 137 / 8.5.2 옵션 그룹 생성 순서 137
8.6 서브넷 그룹 생성하기 139
8.6.1 생성 내용 139 / 8.6.2 서브넷 그룹 생성 순서 139
8.7 데이터베이스 생성하기 142
8.7.1 생성 내용 142 / 8.7.2 데이터베이스 생성 순서 142
8.8 작동 확인하기 149
CHAPTER 9 이미지 저장 장소 준비하기
9.1 스토리지 154
9.2 S3 155
9.2.1 S3의 작업 범위와 비용 155 / 9.2.2 S3와 VPC의 관계 156 / 9.2.3 S3 시스템 158
9.3 S3 버킷 생성하기 158
9.3.1 생성 내용 158 / 9.3.2 버킷 조작 순서 158
9.4 역할을 생성해 EC2에 적용하기 161
9.4.1 생성 내용 161 / 9.4.2 역할 생성 순서 162 / 9.4.3 EC2에 역할 적용하기 165
9.5 작동 확인하기 166
CHAPTER 10 커스텀 도메인과 DNS 준비하기
10.1 도메인 이름이란? 170
10.1.1 DNS 171 / 10.1.2 SSL 서버 인증서 172
10.2 Route 53의 기능 알아보기 174
10.2.1 도메인 이름 등록 174 / 10.2.2 DNS 서버 175
10.3 Certificate Manager 176
10.4 도메인 이름 취득하기 177
10.4.1 도메인 이름 취득 순서 177
10.5 퍼블릭 DNS에 리소스 정보 추가하기 182
10.5.1 퍼블릭 DNS로의 추가 순서 183 / 10.5.2 작동 확인 188
10.6 프라이빗 DNS 준비하기 190
10.6.1 생성 내용 190 / 10.6.2 프라이빗 DNS 생성 순서 191
10.6.3 EC2 정보 추가 순서 194 / 10.6.4 RDS 정보 추가 순서 197 / 10.6.5 작동 확인 199
10.7 SSL 서버 인증서 발행하기 201
10.7.1 SSL 서버 인증서 발행 순서 201 / 10.7.2 로드 밸런서에 리스너 추가 205
10.7.3 작동 확인 207
CHAPTER 11 메일 서버 준비하기
11.1 메일 시스템 212
11.1.1 메일 전송 시스템 213 / 11.1.2 POP3와 IMAP4 비교 213
11.2 Amazon SES 214
11.2.1 메일 송신 214 / 11.2.2 메일 수신 215
11.2.3 Amazon SES를 생성하는 리전 217 / 11.2.4 샌드박스 217
11.3 메일 송수신 기능 생성하기 217
11.3.1 도메인 설정 내용 217 / 11.3.2 도메인 설정 순서 218
11.3.3 검증 완료 메일 주소 추가 221 / 11.3.4 관리 콘솔에서 테스트 메일 송신 223
11.3.5 SMTP를 이용한 메일 송신 226 / 11.3.6 메일 수신 229
11.3.7 샌드박스 외부로 이동 233
CHAPTER 12 캐시 서버 준비하기
12.1 캐시 서버란? 238
12.1.1 캐시 시스템 238 / 12.1.2 레디스와 멤캐시드 240
12.2 일래스틱캐시 241
12.2.1 일래스틱캐시 계층 시스템 241
12.3 일래스틱캐시 생성하기 243
12.3.1 생성 내용 244 / 12.3.2 일래스틱캐시 생성 순서 244
12.4 작동 확인하기 248
CHAPTER 13 샘플 애플리케이션 작동하기
13.1 인프라스트럭처에 배치할 애플리케이션 253
13.2 인프라 구성 확인하기 255
13.2.1 인프라스트럭처 255 / 13.2.2 미들웨어 257
13.3 샘플 애플리케이션 설치하기 257
13.3.1 OS 설정과 미들웨어 설치 258 / 13.3.2 루비 온 레일즈 환경 구축 259
13.3.3 샘플 애플리케이션 설치 260
13.4 작동 확인하기 264
CHAPTER 14 서비스 모니터링하기
14.1 모니터링이란? 272
14.1.1 집중 관리 272 / 14.1.2 경보 273 / 14.1.3 지속적인 정보 수집 274
14.2 주요 모니터링 항목 274
14.2.1 생사 모니터링 275 / 14.2.2 CPU 사용률 275
14.2.3 메모리 사용률 276 / 14.2.4 디스크 용량 276
14.2.5 네트워크 트래픽 276 / 14.2.6 리소스별 모니터링 항목 277
14.3 CloudWatch 278
14.4 리소스 모니터링하기 279
14.4.1 모니터링 순서와 기능 279 / 14.4.2 대시보드 생성 281
14.4.3 위젯 생성 283 / 14.4.4 경보 생성 288 / 14.4.5 미리 보기 및 생성 293
CHAPTER 15 요금 확인하기
15.1 요금 관리 방식 298
15.1.1 서비스 가동 전 견적 298 / 15.1.2 서비스 가동 중 PDCA 299
15.2 Billing and Cost Management 300
15.2.1 AWS 요금 계산기 300 / 15.2.2 예상 요금 예시 303
15.3 예산 작성하기 304
15.3.1 예산 작성 순서 304
15.4 일일 요금 확인하기 310
15.4.1 Cost Explorer 이용 310
15.5 청구서 확인하기 313
15.6 예산 개선하기 313
15.7 마치며 314
CHAPTER 16 부록
16.1 설정 항목 목록 316
16.2 리소스 삭제 방법 321
16.2.1 NAT 게이트웨이 321 / 16.2.2 EC2 321 / 16.2.3 Elastic IP 321
16.2.4 Application Load Balancer 322 / 16.2.5 RDS 322
16.2.6 일래스틱캐시 322 / 16.2.7 S3 322
16.3 IaC 322
16.3.1 AWS에서의 IaC 323 / 16.3.2 AWS CLI 설치 324
16.3.3 CloudFormation을 이용한 리소스 생성 예 325
찾아보기 328
Author
나카가키 겐지,김모세
나고야 대학 이학부를 나와 1998년부터 SCSK 주식회사에서 자바 및 닷넷 시스템 전문 IT 아키텍트로 일했다. 2012년에는 주식회사 에이팀(Ateam)에서 소셜 게임 플랫폼의 개발 및 유지 보수를 담당했고, 2020년에는 PayPay 주식회사에서 백엔드 시스템의 개발 및 유지 보수를 담당했다. 2021년부터는 다시 SCSK 주식회사에서 신규 시스템 개발을 맡고 있다. 저서로 《スラスラわかるJava》, 《作ればわかる!Google App Engine for Javaプログラミング》(이상 쇼에이샤) 등이 있다.
나고야 대학 이학부를 나와 1998년부터 SCSK 주식회사에서 자바 및 닷넷 시스템 전문 IT 아키텍트로 일했다. 2012년에는 주식회사 에이팀(Ateam)에서 소셜 게임 플랫폼의 개발 및 유지 보수를 담당했고, 2020년에는 PayPay 주식회사에서 백엔드 시스템의 개발 및 유지 보수를 담당했다. 2021년부터는 다시 SCSK 주식회사에서 신규 시스템 개발을 맡고 있다. 저서로 《スラスラわかるJava》, 《作ればわかる!Google App Engine for Javaプログラミング》(이상 쇼에이샤) 등이 있다.