Acknowledgments |
|
xix | |
Introduction |
|
xxi | |
|
Chapter 1 Overview of Cloud Computing and Amazon Web Services |
|
|
1 | (34) |
|
Advantages of Running Cloud Computing on AWS |
|
|
2 | (4) |
|
Three Models of Cloud Computing |
|
|
4 | (1) |
|
Three Cloud Computing Deployment Models |
|
|
5 | (1) |
|
|
6 | (1) |
|
AWS Global Infrastructure |
|
|
7 | (2) |
|
AWS Security and Compliance |
|
|
9 | (2) |
|
AWS Products and Services |
|
|
11 | (19) |
|
|
11 | (3) |
|
|
14 | (1) |
|
|
15 | (3) |
|
Storage and Content Delivery |
|
|
18 | (1) |
|
|
19 | (2) |
|
|
21 | (2) |
|
|
23 | (1) |
|
|
24 | (1) |
|
|
25 | (2) |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
30 | (5) |
|
|
31 | (1) |
|
|
32 | (3) |
|
|
35 | (58) |
|
Amazon Simple Storage Service (S3) |
|
|
36 | (1) |
|
|
36 | (1) |
|
Usage of Amazon S3 in Real Life |
|
|
37 | (1) |
|
|
38 | (3) |
|
Amazon S3 Data Consistency Model |
|
|
41 | (2) |
|
Amazon S3 Performance Considerations |
|
|
43 | (2) |
|
Reverse the Key Name String |
|
|
45 | (1) |
|
Adding a Hex Hash Prefix to a Key Name |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
47 | (3) |
|
|
47 | (2) |
|
|
49 | (1) |
|
|
50 | (1) |
|
S3 Security Best Practices |
|
|
50 | (1) |
|
|
50 | (11) |
|
Versioning of Objects in Amazon S3 |
|
|
54 | (1) |
|
Amazon S3 Object Lifecycle Management |
|
|
54 | (1) |
|
|
55 | (6) |
|
Static Web Site Hosting in Amazon S3 |
|
|
61 | (1) |
|
|
62 | (3) |
|
Amazon S3 Glacier Key Terminology |
|
|
63 | (1) |
|
Accessing Amazon S3 Glacier |
|
|
64 | (1) |
|
Uploading Files to AmazonS3 Glacier |
|
|
64 | (1) |
|
Retrieving Files from Amazon S3 Glacier |
|
|
65 | (1) |
|
Amazon Elastic Block Store |
|
|
65 | (4) |
|
|
66 | (1) |
|
AWS Block Storage Offerings |
|
|
67 | (2) |
|
Amazon Elastic File System |
|
|
69 | (3) |
|
Using Amazon Elastic File System |
|
|
71 | (1) |
|
Performance Mode of Amazon EFS |
|
|
72 | (1) |
|
On-Premise Storage Integration with AWS |
|
|
72 | (2) |
|
|
73 | (1) |
|
AWS Snowball and AWS Snowball Edge |
|
|
74 | (1) |
|
|
74 | (1) |
|
|
74 | (19) |
|
Lab 2-1 Creating, Moving, and Deleting Objects in Amazon S3 |
|
|
75 | (9) |
|
Lab 2-2 Using Version Control in Amazon S3 |
|
|
84 | (2) |
|
Lab 2-3 Using the Bucket Policy Generator for Amazon S3 |
|
|
86 | (1) |
|
|
86 | (3) |
|
|
89 | (4) |
|
Chapter 3 Virtual Private Cloud |
|
|
93 | (46) |
|
Amazon VPC Components and Terminology |
|
|
94 | (25) |
|
|
95 | (1) |
|
|
95 | (3) |
|
|
98 | (1) |
|
|
99 | (1) |
|
Network Address Translation |
|
|
100 | (2) |
|
Egress-Only Internet Gateway |
|
|
102 | (1) |
|
Elastic Network Interface |
|
|
103 | (1) |
|
Enhanced Networking (Linux Only) |
|
|
104 | (1) |
|
|
104 | (1) |
|
|
105 | (5) |
|
|
110 | (2) |
|
|
112 | (2) |
|
|
114 | (1) |
|
|
115 | (1) |
|
|
116 | (1) |
|
|
117 | (2) |
|
|
119 | (1) |
|
|
119 | (1) |
|
|
120 | (15) |
|
Lab 3-1 Using the VPC Wizard |
|
|
120 | (3) |
|
Lab 3-2 Creating a VPC with Public and Private Subnets |
|
|
123 | (4) |
|
Lab 3-3 Exploring All the Options in a Virtual Private Cloud |
|
|
127 | (8) |
|
|
135 | (4) |
|
|
135 | (2) |
|
|
137 | (2) |
|
Chapter 4 Introduction to Amazon Elastic Compute Cloud |
|
|
139 | (38) |
|
|
140 | (1) |
|
Amazon EC2 Instance Types and Features |
|
|
141 | (5) |
|
General Purpose (T3, T3a, T2, M6g, M5, M5a, M5n, M4, and A1) |
|
|
142 | (1) |
|
Compute Optimized (C6g, C5, C5a, C5n, and C4) |
|
|
143 | (1) |
|
Memory Optimized (R6g, R5, R5a, R5n, R4, X1e, XI, High Memory, and Z1d) |
|
|
143 | (1) |
|
Storage Optimized (I3, I3en, D2, and HI) |
|
|
143 | (1) |
|
Accelerated Computing (P3, P2, Inf1, G4, G3, and F1) |
|
|
143 | (1) |
|
|
144 | (1) |
|
|
144 | (1) |
|
|
145 | (1) |
|
Steps for Using Amazon EC2 |
|
|
146 | (1) |
|
|
146 | (2) |
|
|
146 | (1) |
|
|
147 | (1) |
|
|
147 | (1) |
|
Shared Tenancy, Dedicated Hosts, and Dedicated Instances |
|
|
148 | (1) |
|
|
149 | (1) |
|
|
149 | (1) |
|
|
149 | (1) |
|
|
149 | (4) |
|
|
150 | (2) |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (2) |
|
|
154 | (1) |
|
|
154 | (1) |
|
|
155 | (1) |
|
|
155 | (1) |
|
|
155 | (1) |
|
Connecting to an Instance |
|
|
156 | (2) |
|
|
158 | (1) |
|
Amazon Elastic Container Service |
|
|
159 | (14) |
|
|
161 | (1) |
|
|
161 | (1) |
|
Launching a Web Server Instance |
|
|
162 | (3) |
|
|
165 | (1) |
|
Lab 4-2 Creating an EBS Instance and Attaching It to an EC2 Instance |
|
|
166 | (4) |
|
Lab 4-3 Creating an Elastic File System (EFS) and Mounting Across Two EC2 Instances in Different AZs |
|
|
170 | (3) |
|
|
173 | (4) |
|
|
174 | (2) |
|
|
176 | (1) |
|
Chapter 5 Identity and Access Management and Security on AWS |
|
|
177 | (34) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
179 | (1) |
|
Types of Security Credentials |
|
|
180 | (1) |
|
Temporary Security Credentials |
|
|
180 | (1) |
|
|
181 | (1) |
|
|
182 | (1) |
|
|
183 | (1) |
|
IAM Hierarchy of Privileges |
|
|
184 | (1) |
|
|
184 | (2) |
|
|
184 | (1) |
|
Create a Strong Password Policy |
|
|
185 | (1) |
|
Rotate Security Credentials Regularly |
|
|
185 | (1) |
|
|
185 | (1) |
|
Manage Permissions with Groups |
|
|
185 | (1) |
|
Grant the Least Privileges |
|
|
185 | (1) |
|
|
185 | (1) |
|
Use IAM Roles for Amazon EC2 Instances |
|
|
185 | (1) |
|
Use IAM Policy Conditions for Extra Security |
|
|
185 | (1) |
|
|
186 | (1) |
|
|
186 | (1) |
|
Shared Responsibility Model |
|
|
187 | (5) |
|
|
188 | (1) |
|
Customer's Responsibility |
|
|
189 | (3) |
|
AWS Security Products and Services |
|
|
192 | (11) |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
193 | (1) |
|
|
194 | (1) |
|
|
195 | (1) |
|
|
195 | (1) |
|
AWS Web Application Firewall |
|
|
195 | (1) |
|
|
195 | (1) |
|
|
196 | (1) |
|
|
196 | (1) |
|
Lab 5-1 Creating IAM Users, Groups, and Roles |
|
|
196 | (5) |
|
Managing IAM User Permissions and Credentials |
|
|
201 | (2) |
|
|
203 | (4) |
|
|
207 | (4) |
|
|
208 | (2) |
|
|
210 | (1) |
|
|
211 | (34) |
|
|
212 | (3) |
|
|
215 | (2) |
|
Identify Scalable Resources |
|
|
215 | (1) |
|
|
216 | (1) |
|
|
217 | (6) |
|
|
217 | (1) |
|
|
218 | (5) |
|
|
223 | (1) |
|
|
223 | (2) |
|
|
225 | (1) |
|
|
225 | (2) |
|
Load Balancer Key Concepts and Terminology |
|
|
227 | (4) |
|
|
231 | (1) |
|
|
232 | (3) |
|
Lab 6-1 Set Up Auto Scaling |
|
|
235 | (4) |
|
|
239 | (6) |
|
|
240 | (2) |
|
|
242 | (3) |
|
Chapter 7 Deploying and Monitoring Applications on AWS |
|
|
245 | (64) |
|
|
245 | (5) |
|
Is AWS Lambda Really Serverless? |
|
|
246 | (1) |
|
|
247 | (3) |
|
|
250 | (3) |
|
API Types Supported by API Gateway |
|
|
251 | (1) |
|
Benefits of Amazon API Gateway |
|
|
251 | (2) |
|
|
253 | (1) |
|
Real-Time Application Scenarios |
|
|
253 | (1) |
|
Differences Between Batch and Stream Processing |
|
|
254 | (1) |
|
Amazon Kinesis Data Steams |
|
|
254 | (1) |
|
Benefits of Amazon Kinesis Data Streams |
|
|
255 | (1) |
|
Amazon Kinesis Data Firehose |
|
|
255 | (2) |
|
Benefits of Amazon Kinesis Data Firehose |
|
|
256 | (1) |
|
Amazon Kinesis Data Analytics |
|
|
257 | (2) |
|
Benefits of Amazon Kinesis Data Analytics |
|
|
258 | (1) |
|
Use Cases for Amazon Kinesis Data Analytics |
|
|
258 | (1) |
|
Amazon Kinesis Video Streams |
|
|
259 | (1) |
|
Reference Architectures Using Serverless Services |
|
|
259 | (3) |
|
Real-Time File Processing |
|
|
260 | (1) |
|
Real-Time Stream Processing |
|
|
260 | (1) |
|
Extract, Transformation, and Load (ETL) Processing |
|
|
260 | (1) |
|
|
261 | (1) |
|
|
262 | (4) |
|
Amazon CloudFront Key Concepts |
|
|
263 | (3) |
|
|
266 | (1) |
|
|
266 | (1) |
|
|
266 | (2) |
|
AWS Web Application Firewall |
|
|
268 | (5) |
|
|
273 | (1) |
|
|
273 | (1) |
|
Amazon Simple Queue Service |
|
|
274 | (4) |
|
Amazon Simple Notification Service |
|
|
278 | (2) |
|
AWS Step Functions and Amazon Simple Workflow (SWF) |
|
|
280 | (2) |
|
|
282 | (2) |
|
|
284 | (2) |
|
|
286 | (1) |
|
|
287 | (1) |
|
|
288 | (2) |
|
|
290 | (1) |
|
|
291 | (3) |
|
Metrics Collection and Tracking |
|
|
291 | (1) |
|
Capture Real-Time Changes Using Amazon CloudWatch Events |
|
|
291 | (1) |
|
Monitoring and Storing Logs |
|
|
292 | (1) |
|
|
292 | (1) |
|
View Graphs and Statistics |
|
|
293 | (1) |
|
|
294 | (1) |
|
|
295 | (1) |
|
|
296 | (1) |
|
|
297 | (3) |
|
|
300 | (1) |
|
|
300 | (9) |
|
|
303 | (4) |
|
|
307 | (2) |
|
Chapter 8 Databases on AWS |
|
|
309 | (56) |
|
Understanding Relational Databases |
|
|
309 | (2) |
|
Understanding the Amazon Relational Database Service |
|
|
311 | (3) |
|
Scenario 1 Hosting the Database in Your Data Center On-Premises |
|
|
312 | (1) |
|
Scenario 2 Hosting the Database on Amazon EC2 Servers |
|
|
312 | (1) |
|
Scenario 3 Hosting the Database Using Amazon RDS |
|
|
313 | (1) |
|
Hosting a Database in Amazon EC2 vs. Amazon RDS |
|
|
314 | (1) |
|
High Availability on Amazon RDS |
|
|
315 | (3) |
|
Simplest Architecture: Single-AZ Deployment |
|
|
315 | (1) |
|
High Availability: Multiple AZs |
|
|
315 | (3) |
|
|
318 | (2) |
|
Changing the Instance Type |
|
|
318 | (1) |
|
|
319 | (1) |
|
|
320 | (4) |
|
Amazon VPC and Amazon RDS |
|
|
320 | (4) |
|
Backups, Restores, and Snapshots |
|
|
324 | (1) |
|
|
325 | (2) |
|
|
327 | (1) |
|
|
328 | (9) |
|
Benefits of Amazon Redshift |
|
|
329 | (1) |
|
Amazon Redshift Architecture |
|
|
329 | (3) |
|
Sizing Amazon Redshift Clusters |
|
|
332 | (1) |
|
Networking for Amazon Redshift |
|
|
333 | (1) |
|
|
333 | (1) |
|
|
334 | (1) |
|
|
334 | (1) |
|
Data Loading in Amazon Redshift |
|
|
335 | (1) |
|
Data Distribution in Amazon Redshift |
|
|
336 | (1) |
|
|
337 | (5) |
|
Benefits of Amazon DynamoDB |
|
|
337 | (1) |
|
Amazon DynamoDB Terminology |
|
|
338 | (2) |
|
|
340 | (1) |
|
|
341 | (1) |
|
|
341 | (1) |
|
|
341 | (1) |
|
Amazon DynamoDB Accelerator |
|
|
342 | (1) |
|
|
342 | (1) |
|
|
342 | (2) |
|
|
344 | (2) |
|
Benefits of Amazon Neptune |
|
|
345 | (1) |
|
|
345 | (1) |
|
|
346 | (12) |
|
Benefits of Amazon DocumentDB |
|
|
346 | (1) |
|
Amazon DocumentDB Use Cases |
|
|
347 | (1) |
|
Lab 8-1 RDS: Creating an Amazon Aurora Database |
|
|
348 | (4) |
|
Lab 8-2 Taking a Snapshot of a Database |
|
|
352 | (1) |
|
Lab 8-3 Creating an Amazon Redshift Cluster |
|
|
353 | (3) |
|
Lab 8-4 Creating an Amazon DynamoDB Table |
|
|
356 | (2) |
|
|
358 | (7) |
|
|
360 | (2) |
|
|
362 | (3) |
|
Chapter 9 AWS Well-Architected Framework and Best Practices |
|
|
365 | (32) |
|
|
366 | (2) |
|
|
367 | (1) |
|
|
368 | (1) |
|
|
368 | (1) |
|
|
368 | (6) |
|
Have a Strong Identity Foundation |
|
|
369 | (1) |
|
|
369 | (1) |
|
Implement Security at All Layers |
|
|
370 | (1) |
|
|
370 | (1) |
|
|
371 | (1) |
|
|
371 | (1) |
|
|
371 | (3) |
|
|
374 | (4) |
|
|
375 | (3) |
|
|
378 | (3) |
|
|
378 | (3) |
|
|
381 | (3) |
|
Finding Cost-Effective Resources |
|
|
382 | (1) |
|
Matching Supply with Demand |
|
|
382 | (1) |
|
Being Aware of Expenditures |
|
|
383 | (1) |
|
|
383 | (1) |
|
|
384 | (7) |
|
|
384 | (3) |
|
Build Security in Every Layer |
|
|
387 | (1) |
|
Leverage Multiple Storage Options |
|
|
387 | (1) |
|
|
388 | (1) |
|
|
389 | (1) |
|
Loosely Couple Your Architecture |
|
|
390 | (1) |
|
There Are No Constraints in the AWS Cloud |
|
|
391 | (1) |
|
|
391 | (6) |
|
|
392 | (2) |
|
|
394 | (3) |
|
|
397 | (2) |
|
|
397 | (2) |
|
Appendix B Additional Resources |
|
|
399 | (2) |
|
|
399 | (1) |
|
|
400 | (1) |
|
Appendix C About the Online Content |
|
|
401 | (4) |
|
|
401 | (1) |
|
Your Total Seminars Training Hub Account |
|
|
401 | (1) |
|
|
401 | (1) |
|
Single User License Terms and Conditions |
|
|
401 | (2) |
|
|
403 | (1) |
|
|
403 | (2) |
|
|
405 | (4) |
|
|
405 | (4) |
Glossary |
|
409 | (6) |
Index |
|
415 | |