Introduction |
|
xxi | |
Assessment Test |
|
xxxii | |
Chapter 1 Overview of Google Cloud Platform |
|
1 | (14) |
|
|
2 | (6) |
|
|
3 | (1) |
|
|
4 | (3) |
|
|
7 | (1) |
|
|
8 | (1) |
|
Cloud Computing vs. Data Center Computing |
|
|
8 | (2) |
|
Rent Instead of Own Resources |
|
|
8 | (1) |
|
Pay-as-You-Go-for-What-You-Use Model |
|
|
9 | (1) |
|
Elastic Resource Allocation |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
11 | (4) |
Chapter 2 Google Cloud Computing Services |
|
15 | (24) |
|
Computing Components of Google Cloud Platform |
|
|
16 | (5) |
|
|
17 | (4) |
|
Storage Components of Google Cloud Platform |
|
|
21 | (5) |
|
|
21 | (2) |
|
|
23 | (3) |
|
Networking Components of Google Cloud Platform |
|
|
26 | (3) |
|
|
26 | (2) |
|
|
28 | (1) |
|
|
28 | (1) |
|
Additional Components of Google Cloud Platform |
|
|
29 | (2) |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
31 | (3) |
|
|
34 | (5) |
Chapter 3 Projects, Service Accounts, and Billing |
|
39 | (28) |
|
How GCP Organizes Projects and Accounts |
|
|
40 | (7) |
|
|
40 | (3) |
|
|
43 | (2) |
|
|
45 | (2) |
|
|
47 | (3) |
|
|
47 | (2) |
|
Granting Roles to Identities |
|
|
49 | (1) |
|
|
50 | (1) |
|
|
51 | (5) |
|
|
51 | (2) |
|
Billing Budgets and Alerts |
|
|
53 | (1) |
|
|
54 | (2) |
|
|
56 | (2) |
|
Provisioning Stackdriver Workspaces |
|
|
58 | (2) |
|
|
60 | (1) |
|
|
61 | (6) |
Chapter 4 Introduction to Computing in Google Cloud |
|
67 | (24) |
|
|
68 | (9) |
|
|
68 | (3) |
|
Virtual Machines Are Contained in Projects |
|
|
71 | (1) |
|
Virtual Machines Run in a Zone and Region |
|
|
72 | (1) |
|
Users Need Privileges to Create Virtual Machines |
|
|
73 | (1) |
|
Preemptible Virtual Machines |
|
|
74 | (2) |
|
|
76 | (1) |
|
Use Cases for Compute Engine Virtual Machines |
|
|
77 | (1) |
|
|
77 | (4) |
|
Structure of an App Engine Application |
|
|
77 | (1) |
|
App Engine Standard and Flexible Environments |
|
|
78 | (2) |
|
|
80 | (1) |
|
|
81 | (3) |
|
|
82 | (1) |
|
Kubernetes Cluster Architecture |
|
|
82 | (1) |
|
Kubernetes High Availability |
|
|
83 | (1) |
|
Kubernetes Engine Use Cases |
|
|
84 | (1) |
|
|
84 | (1) |
|
Cloud Functions Execution Environment |
|
|
84 | (1) |
|
Cloud Functions Use Cases |
|
|
85 | (1) |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
87 | (4) |
Chapter 5 Computing with Compute Engine Virtual Machines |
|
91 | (26) |
|
Creating and Configuring Virtual Machines with the Console |
|
|
92 | (11) |
|
Main Virtual Machine Configuration Details |
|
|
95 | (2) |
|
Additional Configuration Details |
|
|
97 | (6) |
|
Creating and Configuring Virtual Machines with Cloud SDK |
|
|
103 | (4) |
|
|
103 | (1) |
|
|
104 | (1) |
|
Example Installation on Ubuntu Linux |
|
|
104 | (1) |
|
Creating a Virtual Machine with Cloud SDK |
|
|
105 | (1) |
|
Creating a Virtual Machine with Cloud Shell |
|
|
106 | (1) |
|
Basic Virtual Machine Management |
|
|
107 | (4) |
|
Starting and Stopping Instances |
|
|
107 | (1) |
|
Network Access to Virtual Machines |
|
|
108 | (1) |
|
Monitoring a Virtual Machine |
|
|
109 | (2) |
|
|
111 | (1) |
|
Guidelines for Planning, Deploying, and Managing Virtual Machines |
|
|
111 | (1) |
|
|
112 | (1) |
|
|
112 | (1) |
|
|
113 | (4) |
Chapter 6 Managing Virtual Machines |
|
117 | (28) |
|
Managing Single Virtual Machine Instances |
|
|
118 | (16) |
|
Managing Single Virtual Machine Instances in the Console |
|
|
118 | (12) |
|
Managing a Single Virtual Machine Instance with Cloud Shell and the Command Line |
|
|
130 | (4) |
|
Introduction to Instance Groups |
|
|
134 | (3) |
|
Creating and Removing Instance Groups and Templates |
|
|
134 | (3) |
|
Instance Groups Load Balancing and Autoscaling |
|
|
137 | (1) |
|
Guidelines for Managing Virtual Machines |
|
|
137 | (1) |
|
|
138 | (1) |
|
|
138 | (2) |
|
|
140 | (5) |
Chapter 7 Computing with Kubernetes |
|
145 | (30) |
|
Introduction to Kubernetes Engine |
|
|
146 | (3) |
|
Kubernetes Cluster Architecture |
|
|
146 | (1) |
|
|
147 | (2) |
|
Deploying Kubernetes Clusters |
|
|
149 | (5) |
|
Deploying Kubernetes Clusters Using Cloud Console |
|
|
149 | (4) |
|
Deploying Kubernetes Clusters Using Cloud Shell and Cloud SDK |
|
|
153 | (1) |
|
Deploying Application Pods |
|
|
154 | (3) |
|
|
157 | (11) |
|
|
168 | (1) |
|
|
168 | (2) |
|
|
170 | (5) |
Chapter 8 Managing Kubernetes Clusters |
|
175 | (34) |
|
Viewing the Status of a Kubernetes Cluster |
|
|
176 | (14) |
|
Viewing the Status of Kubernetes Clusters Using Cloud Console |
|
|
176 | (8) |
|
Viewing the Status of Kubernetes Clusters Using Cloud SDK and Cloud Shell |
|
|
184 | (6) |
|
Adding, Modifying, and Removing Nodes |
|
|
190 | (2) |
|
Adding, Modifying, and Removing Nodes with Cloud Console |
|
|
190 | (1) |
|
Adding, Modifying, and Removing with Cloud SDK and Cloud Shell |
|
|
191 | (1) |
|
Adding, Modifying, and Removing Pods |
|
|
192 | (4) |
|
Adding, Modifying, and Removing Pods with Cloud Console |
|
|
192 | (3) |
|
Adding, Modifying, and Removing Pods with Cloud SDK and Cloud Shell |
|
|
195 | (1) |
|
Adding, Modifying, and Removing Services |
|
|
196 | (3) |
|
Adding, Modifying, and Removing Services with Cloud Console |
|
|
196 | (2) |
|
Adding, Modifying, and Removing Services with Cloud SDK and Cloud Shell |
|
|
198 | (1) |
|
Viewing the Image Repository and Image Details |
|
|
199 | (4) |
|
Viewing the Image Repository and Image Details with Cloud Console |
|
|
199 | (3) |
|
Viewing the Image Repository and Image Details with Cloud SDK and Cloud Shell |
|
|
202 | (1) |
|
|
203 | (1) |
|
|
203 | (1) |
|
|
204 | (5) |
Chapter 9 Computing with App Engine |
|
209 | (16) |
|
|
210 | (1) |
|
Deploying an App Engine Application |
|
|
211 | (4) |
|
Deploying an App Using Cloud Shell and SDK |
|
|
211 | (4) |
|
Scaling App Engine Applications |
|
|
215 | (2) |
|
Splitting Traffic between App Engine Versions |
|
|
217 | (1) |
|
|
218 | (1) |
|
|
218 | (2) |
|
|
220 | (5) |
Chapter 10 Computing with Cloud Functions |
|
225 | (16) |
|
Introduction to Cloud Functions |
|
|
226 | (3) |
|
Events, Triggers, and Functions |
|
|
227 | (1) |
|
|
227 | (2) |
|
Cloud Functions Receiving Events from Cloud Storage |
|
|
229 | (4) |
|
Deploying a Cloud Function for Cloud Storage Events Using Cloud Console |
|
|
229 | (2) |
|
Deploying a Cloud Function for Cloud Storage Events Using gcloud Commands |
|
|
231 | (2) |
|
Cloud Functions Receiving Events from Pub/Sub |
|
|
233 | (1) |
|
Deploying a Cloud Function for Cloud Pub/Sub Events Using Cloud Console |
|
|
233 | (1) |
|
Deploying a Cloud Function for Cloud Pub/Sub Events Using gcloud Commands |
|
|
234 | (1) |
|
|
234 | (1) |
|
|
235 | (2) |
|
|
237 | (4) |
Chapter 11 Planning Storage in the Cloud |
|
241 | (34) |
|
|
242 | (12) |
|
|
243 | (2) |
|
|
245 | (2) |
|
|
247 | (6) |
|
Storage Types When Planning a Storage Solution |
|
|
253 | (1) |
|
|
254 | (14) |
|
|
254 | (1) |
|
Relational: Cloud SQL, Cloud Spanner, and BigQuery |
|
|
254 | (7) |
|
NoSQL: Datastore, Cloud Firestore, and Bigtable |
|
|
261 | (7) |
|
Choosing a Storage Solution: Guidelines to Consider |
|
|
268 | (1) |
|
|
269 | (1) |
|
|
270 | (1) |
|
|
271 | (4) |
Chapter 12 Deploying Storage in Google Cloud Platform |
|
275 | (34) |
|
Deploying and Managing Cloud SQL |
|
|
276 | (7) |
|
Creating and Connecting to a MySQL Instance |
|
|
276 | (2) |
|
Creating a Database, Loading Data, and Querying Data |
|
|
278 | (1) |
|
Backing Up MySQL in Cloud SQL |
|
|
279 | (4) |
|
Deploying and Managing Datastore |
|
|
283 | (2) |
|
Adding Data to a Datastore Database |
|
|
283 | (1) |
|
|
284 | (1) |
|
Deploying and Managing BigQuery |
|
|
285 | (3) |
|
Estimating the Cost of Queries in BigQuery |
|
|
285 | (1) |
|
|
286 | (2) |
|
Deploying and Managing Cloud Spanner |
|
|
288 | (4) |
|
Deploying and Managing Cloud Pub/Sub |
|
|
292 | (3) |
|
Deploying and Managing Cloud Bigtable |
|
|
295 | (3) |
|
Deploying and Managing Cloud Dataproc |
|
|
298 | (4) |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
304 | (1) |
|
|
305 | (4) |
Chapter 13 Loading Data into Storage |
|
309 | (28) |
|
Loading and Moving Data to Cloud Storage |
|
|
310 | (5) |
|
Loading and Moving Data to Cloud Storage Using the Console |
|
|
310 | (4) |
|
Loading and Moving Data to Cloud Storage Using the Command Line |
|
|
314 | (1) |
|
Importing and Exporting Data |
|
|
315 | (15) |
|
Importing and Exporting Data: Cloud SQL |
|
|
315 | (4) |
|
Importing and Exporting Data: Cloud Datastore |
|
|
319 | (1) |
|
Importing and Exporting Data: BigQuery |
|
|
320 | (5) |
|
Importing and Exporting Data: Cloud Spanner |
|
|
325 | (2) |
|
Importing and Exporting Data: Cloud Bigtable |
|
|
327 | (2) |
|
Importing and Exporting Data: Cloud Dataproc |
|
|
329 | (1) |
|
Streaming Data to Cloud Pub/Sub |
|
|
330 | (1) |
|
|
331 | (1) |
|
|
332 | (1) |
|
|
333 | (4) |
Chapter 14 Networking in the Cloud: Virtual Private Clouds and Virtual Private Networks |
|
337 | (24) |
|
Creating a Virtual Private Cloud with Subnets |
|
|
338 | (6) |
|
Creating a Virtual Private Cloud with Cloud Console |
|
|
338 | (4) |
|
Creating a Virtual Private Cloud with gcloud |
|
|
342 | (1) |
|
Creating a Shared Virtual Private Cloud Using gcloud |
|
|
343 | (1) |
|
Deploying Compute Engine with a Custom Network |
|
|
344 | (3) |
|
Creating Firewall Rules for a Virtual Private Cloud |
|
|
347 | (4) |
|
Structure of Firewall Rules |
|
|
347 | (1) |
|
Creating Firewall Rules Using Cloud Console |
|
|
348 | (2) |
|
Creating Firewall Rules Using gcloud |
|
|
350 | (1) |
|
Creating a Virtual Private Network |
|
|
351 | (4) |
|
Creating a Virtual Private Network Using Cloud Console |
|
|
351 | (3) |
|
Creating a Virtual Private Network Using gcloud |
|
|
354 | (1) |
|
|
355 | (1) |
|
|
355 | (2) |
|
|
357 | (4) |
Chapter 15 Networking in the Cloud: DNS, Load Balancing, and IP Addressing |
|
361 | (22) |
|
|
362 | (5) |
|
Creating DNS Managed Zones Using Cloud Console |
|
|
362 | (4) |
|
Creating a DNS Managed Zones Using gcloud |
|
|
366 | (1) |
|
Configuring Load Balancers |
|
|
367 | (8) |
|
|
367 | (1) |
|
Configuring Load Balancers using Cloud Console |
|
|
368 | (6) |
|
Configuring Load Balancers using gcloud |
|
|
374 | (1) |
|
|
375 | (2) |
|
|
375 | (1) |
|
|
375 | (2) |
|
|
377 | (1) |
|
|
378 | (1) |
|
|
379 | (4) |
Chapter 16 Deploying Applications with Cloud Launcher and Deployment Manager |
|
383 | (22) |
|
Deploying a Solution Using Cloud Launcher |
|
|
384 | (10) |
|
Browsing Cloud Launcher and Viewing Solutions |
|
|
384 | (6) |
|
Deploying Cloud Launcher Solutions |
|
|
390 | (4) |
|
Deploying an Application Using Deployment Manager |
|
|
394 | (4) |
|
Deployment Manager Configuration Files |
|
|
394 | (3) |
|
Deployment Manager Template Files |
|
|
397 | (1) |
|
Launching a Deployment Manager Template |
|
|
398 | (1) |
|
|
398 | (1) |
|
|
399 | (1) |
|
|
400 | (5) |
Chapter 17 Configuring Access and Security |
|
405 | (20) |
|
Managing Identity and Access Management |
|
|
406 | (8) |
|
Viewing Account Identity and Access Management Assignments |
|
|
406 | (2) |
|
Assigning Identity and Access Management Roles to Accounts and Groups |
|
|
408 | (3) |
|
Defining Custom Identity and Access Management Roles |
|
|
411 | (3) |
|
Managing Service Accounts |
|
|
414 | (4) |
|
Managing Service Accounts with Scopes |
|
|
414 | (2) |
|
Assigning a Service Account to a Virtual Machine Instance |
|
|
416 | (1) |
|
|
417 | (1) |
|
|
418 | (1) |
|
|
418 | (2) |
|
|
420 | (5) |
Chapter 18 Monitoring, Logging, and Cost Estimating |
|
425 | (38) |
|
Monitoring with Stackdriver |
|
|
426 | (12) |
|
Creating Alerts Based on Resource Metrics |
|
|
427 | (10) |
|
|
437 | (1) |
|
|
438 | (8) |
|
|
438 | (3) |
|
Viewing and Filtering Logs |
|
|
441 | (3) |
|
|
444 | (2) |
|
|
446 | (7) |
|
|
446 | (2) |
|
|
448 | (3) |
|
Viewing Google Cloud Platform Status |
|
|
451 | (2) |
|
Using the Pricing Calculator |
|
|
453 | (4) |
|
|
457 | (1) |
|
|
458 | (1) |
|
|
459 | (4) |
Appendix Answers to Review Questions |
|
463 | (40) |
|
Chapter 1 Overview of Google Cloud Platform |
|
|
464 | (2) |
|
Chapter 2 Google Cloud Computing Services |
|
|
466 | (2) |
|
Chapter 3 Projects, Service Accounts, and Billing |
|
|
468 | (2) |
|
Chapter 4 Introduction to Computing in Google Cloud |
|
|
470 | (2) |
|
Chapter 5 Computing with Compute Engine Virtual Machines |
|
|
472 | (3) |
|
Chapter 6 Managing Virtual Machines |
|
|
475 | (2) |
|
Chapter 7 Computing with Kubernetes |
|
|
477 | (2) |
|
Chapter 8 Managing Kubernetes Clusters |
|
|
479 | (2) |
|
Chapter 9 Computing with App Engine |
|
|
481 | (2) |
|
Chapter 10 Computing with Cloud Functions |
|
|
483 | (2) |
|
Chapter 11 Planning Storage in the Cloud |
|
|
485 | (2) |
|
Chapter 12 Deploying Storage in Google Cloud Platform |
|
|
487 | (3) |
|
Chapter 13 Loading Data into Storage |
|
|
490 | (2) |
|
Chapter 14 Networking in the Cloud Virtual Private Clouds and Virtual Private Networks |
|
|
492 | (2) |
|
Chapter 15 Networking in the Cloud: DNS, Load Balancing, and IP Addressing |
|
|
494 | (2) |
|
Chapter 16 Deploying Applications with Cloud Launcher and Deployment Manager |
|
|
496 | (2) |
|
Chapter 17 Configuring Access and Security |
|
|
498 | (2) |
|
Chapter 18 Monitoring, Logging, and Cost Estimating |
|
|
500 | (3) |
Index |
|
503 | |