index

A

access control

cache access 309310

cluster and data access 310

configuration access 309

network access 309310

in RDS 279283

configuration access 280281

data access 282283

network access 281282

account creation, in AWS 2431

contact information 26

identity verification 2829

login credentials 2526

payment details 26

signing in 3031

support plans 29

account security, in AWS 141150

authenticating AWS resources with roles 148150

IAM service

defining permissions with IAM identity policies 145147

overview of 143144

root user 142143

users and groups 147148

ACID (atomicity, consistency, isolation, and durability) 265, 326, 346

administration 298

AdministratorAccess AWS managed policy 147

AI as a Service (Elger and Shanaghy) 20

AKI (Amazon Kernel Image) 61

ALARM state 261, 364, 483, 487

ALB (Application Load Balancer) 39

ALBRequestCountPerTarget scale 481

allkeys-lru eviction strategy 320

allkeys-random eviction strategy 320

AllocatedStorage attribute 268

AllowedPattern property 124

AllowedValues property 124

Allow statement 281

Amazon Kernel Imagem (AKI) 61

Amazon Virtual Private Cloud. See VPC

Amazon Web Services. See AWS

AMIs (Amazon Machine Images) 45, 60, 491

bundling runtime and application into 455456

deploying customized AMIs created by Packer 422429

API (application programming interface) 98

API Gateway 201

app1 backend 158

application component of CodeDeploy 413

Application Load Balancer (ALB) 394, 455, 459, 498

ARN (Amazon Resource Name) 146, 278

ArtifactBucket output 415

ASGAverageCPUUtilization scale 481

ASGAverageNetworkIn scale 481

ASGAverageNetworkOut scale 481

ASGs (Auto Scaling groups) 371, 467

Imagery applications

deploying server 459461

deploying worker 461463

recovering from data center outages with 368387

availability zones 369375, 385387

network interface recovery 380385

recovering network-attached storage 375380

asynchronous decoupling 399408

architecture of URL2PNG application 401402

consuming messages programmatically 404407

limitations of messaging with SQS 407408

producing messages programmatically 402404

setting up message queues 402

turning synchronous process into asynchronous one 400401

at command 149

atomicity, consistency, isolation, and durability (ACID) 265, 326

AttachVolume parameter 230, 232

attribute-definitions option 331

attributes 329

authentication

authenticating AWS resources with roles 148150

users 147148

automated deployment

comparing approaches 429

deploying customized AMIs created by Packer 422429

in-place deployment with CodeDeploy 412418

rolling updates with CloudFormation and user data 418422

automation 11, 44

DevOps movement 100101

reasons to automate 101

with CLI 108111

Linux 109110

macOS 109110

Windows 110111

autoscaling 369

based on CloudWatch metrics 474476

based on schedules 473474

decoupling dynamic EC2 instance pools 477487

by load balancer 478483

by queues 483487

managing dynamic EC2 instance pools 468472

Auto Scaling groups. See ASGs

awk text processor 109

AWS access key ID 106

AWS_ACCESS_KEY_ID environment variable 196

AWS (Amazon Web Services)

account creation 2431

contact information 26

identity verification 2829

login credentials 2526

payment details 26

signing in 3031

support plans 29

advantages of 1113

automation 11

economies of scale 1213

global infrastructure 13

innovation and fast growth 11

quality and security 13

reduction of time to market 12

reliability 12

scalability 1112

services that solve common problems 11

alternatives to 1617

automated deployment

comparing approaches 429

deploying customized AMIs created by Packer 422429

in-place deployment with CodeDeploy 412418

rolling updates with CloudFormation and user data 418422

autoscaling

based on CloudWatch metrics 474476

based on schedules 473474

decoupling dynamic EC2 instance pools 477487

managing dynamic EC2 instance pools 468472

caching

access control 309310

cache deployment options 302308

creating cache clusters 298302

installing sample application with CloudFormation 311319

monitoring caches 319321

tweaking performance 321323

cost of 1316

billing example 1415

budget alerts 3236

Free Tier 14

pay-per-use pricing model 16

decoupling infrastructure

asynchronous decoupling with message queues 399408

synchronous decoupling with load balancers 393399

Elastic File System

backing up data 261264

creating filesystems 246248

creating mount targets 248250

mounting EFS filesystems on EC2 instances 250254

sharing files between EC2 instances 254255

tweaking performance 255261

example applications of 510

batch processing infrastructure 910

highly-available system implementation 9

running Java EE applications in private networks 78

web shop hosting 67

fault tolerance

considerations for 438441

Imagery 441463

redundant EC2 instances for increased availability 434438

high availability

architecting for 387389

recovering from data center outages 368387

recovering from EC2 instance failure 361368

infrastructure programming

CLI 101111

CloudFormation 121132

DevOps movement 100101

Infrastructure as Code 118121

SDK 111118

interacting with 2024

blueprints 2324

CLI 22

Management Console 21

SDK 23

Lambda

adding tags containing owner of EC2 instances 190198

code execution 173176

impacts of serverless pricing model 199201

limitations of 198199

use cases 201203

website health check example 176189

modern architectures 490504

NoSQL database service programming

adding data 333336

alternatives to 355356

creating tables 329333

DynamoDB Local 350

modifying data 347348

networking 354

operating DynamoDB 350351

pricing 351354

primary key 348349

RDS vs. 354355

retrieving data 336346

scaling capacity 351354

SQL-like queries with PartiQL 349

to-do application example overview 328329

overview of 5

Relational Database Service

access control 279283

backing up and restoring databases 274279

highly available databases 283285

importing data into databases 271274

monitoring databases 290291

pricing 271

starting MySQL databases 267271

tweaking database performance 285290

security

Amazon Virtual Private Cloud 158171

AWS accounts 141150

keeping operating system up-to-date 137141

network traffic control 150158

responsibility for 136

services 1720

storage

Elastic Block Store 229237

instance stores 237241

S3 209225

virtual machines

adding additional network interfaces to 8589

allocating public IP addresses 8385

connecting to 7072

installing and running software manually 7273

launching 5970

monitoring and debugging 7376

optimizing costs for 9097

shutting down 7677

size of 7780

starting in another data center 8083

WordPress example

cost 5052

creating cloud infrastructure for 3944

deleting infrastructure for 5354

exploring cloud infrastructure for 4550

AWSAuthenticationPlugin plugin 282

AWS CDK (Cloud Development Kit) 132

aws dynamodb create-table command 330

AWS::EC2::SecurityGroup type 152

AWS Lambda in Action (Poccia) 202203

AWS-RunPatchBaseline document 138

AWS secret access key 106

AWS_SECRET_ACCESS_KEY environment variable 196

AWS_SESSION_TOKEN environment variable 196

aws sts get-caller-identity command 148

AZs (availability zones) 432, 436

insights into 385387

overview of 369

recovering failed virtual machines to 369375

B

BackendPublicIpAddress output 157

backups 298, 302303

batch processing 910

BETWEEN x AND y operators 348

block-level storage

persistent, attached over networks 229237

temporary 237241

Block Public Access 225

blocks 227

blueprints 2324

broad network access 4

bucket node 120

bucket policy 222

buckets 209

BurstCreditBalance metric 258

Bursting Throughput mode 257258

C

C6g, C6gd, C6gn, and C7g Graviton instance types 64

Cache engine 309

cache.m6g.large type 305

CacheNodeType property 299

CacheSubnetGroupName property 299

cache.t2.micro node type 321

caching

access control 309310

cluster and data access 310

configuration access 309

network access 309310

cache deployment options 302308

Memcached 303

MemoryDB 306308

Redis 304306

creating cache clusters 298302

minimal CloudFormation template 298300

testing Redis cluster 300302

installing sample application with CloudFormation 311319

cache 313314

database 314315

testing template 317319

virtual machine 315317

VPC 312313

monitoring caches 319321

host-level metrics 319320

sufficient memory 320

updating Redis replication 320321

tweaking performance 321323

compressing data 323

selecting cache node type 321322

selecting deployment option 322323

category attribute 341342

CDK (Cloud Development Kit) 132

CDN (content delivery network) 6, 119, 221

CDN node 120

CI (continuous integration) server 361

C instance family 62

CLI (command-line interface) 22, 9899, 101111

automating with 108111

Linux 109110

macOS 109110

Windows 110111

backing up data on S3 with 210213

configuring 103107

installing 101103

Linux ARM 102

Linux x86 (64-bit) 102

macOS 102

Windows 102103

using 107

cloud computing 3

Cloud Development Kit (CDK) 132

CloudFormation 121132

anatomy of templates 122126

format version and description 123

outputs 126

parameters 123125

resources 125126

creating templates 126130

installing sample application 311319

cache 313314

database 314315

testing template 317319

virtual machine 315317

VPC 312313

minimal template 298300

rolling updates with 418422

testing template 317319

tips and tricks for 428429

updating infrastructure using 131132

using to describe filesystems 246247

CloudWatch

autoscaling based on metrics 474476

monitoring Lambda functions with metrics and alarms 184189

recovering from EC2 instance failure with 361368

searching through Lambda function logs with 181184

CMS (content management system) 49, 306

CodeDeploy 20, 412418

cold start 199

command-line interface. See CLI

COMPLETE status 365

Compute Savings Plans 91

configuration management 410

ConstraintDescription property 125

containers

options to run containers on AWS 491494

running without managing clusters of virtual machines 496498

virtual machines vs. 490491

content delivery network (CDN) 221

content management system (CMS) 306

continuous integration (CI) server 361

costs 80

archiving objects to optimize 213216

for AWS 1316

billing example 1415

budget alerts 3236

Free Tier 14

pay-per-use pricing model 16

for EFS 247248

for virtual machines 9097

committing to usage for discount 9192

spare compute capacity 9297

impacts of serverless pricing model 199201

of DynamoDB 351354

of RDS 271

of RDS snapshots 279

WordPress example 5052

CPUUtilization ElastiCache metric 319

CREATE_COMPLETE state 254, 269, 301, 307

CRUD (Creating, removing, updating, and deleting) 216

D

Database Migration Service (DMS) 273

data center outages, recovering from with Auto Scaling group 368387

availability zones

insights into 385387

overview of 369

recovering failed virtual machines to 369375

network interface recovery 380385

recovering network-attached storage 375380

data centers 5

data security standard (DSS) 13

DBInstanceClass attribute 268

DBName attribute 268

DB node 120

db.t2.micro instance type 286

DDoS (denial of service) attacks 136

dead-letter queue (DLQ) 458

debugging virtual machines 7376

declarative approach 122

decoupling infrastructure

asynchronous decoupling with message queues 399408

architecture of URL2PNG application 401402

consuming messages programmatically 404407

limitations of messaging with SQS 407408

producing messages programmatically 402404

setting up message queues 402

turning synchronous process into asynchronous one 400401

dynamic EC2 instance pools 477487

autoscaling by load balancer 478483

autoscaling by queues 483487

redundant EC2 instances for increased availability 436438

synchronous decoupling with load balancers 393399

Default output format 106

Default property 124

Default region name 106

deleteItem operation 346

DeleteMessage operation 408

DeleteOnTermination attribute 229

DELETE statement 349

denial of service (DDoS) attacks 136

Deny statement 281

Deployment Option Engine 303

describe command 366, 374, 379

describe-db-instances command 271, 276277

describe-instances command 374375, 379380

describe-stack-resource command 278

DesiredCapacity parameter 470

DesiredCount configuration details 502

detail-type attribute 193

Device management service 306

DevOps movement 100101

Dimensions parameter 475

D instance family 63

disaster recovery 278

Discourse application, installing with CloudFormation 311319

cache 313314

database 314315

testing template 317319

virtual machine 315317

VPC 312313

Discourse Components 311

DLQ (dead-letter queue) 458

DMS (Database Migration Service) 273

DNS (Domain Name System) service 82

DNS node 120

Dockerfile 491

Docker in Action, second edition (Nickoloff & Kuenzl) 490

docopt 328

DSS (data security standard) 13

DynamoDB 20, 327

adding data 333336

adding tasks 336

adding users 335336

alternatives to 355356

creating tables 329333

identifying tasks by partition key and sort key 332333

identifying users by partition key 330331

deploying for Imagery applications 457458

DynamoDB Local 350

modifying data 347348

networking 354

operating 350351

pricing 351354

primary key 348349

partition key 348

partition key and sort key 348349

RDS vs. 354355

retrieving data 336347

eventually consistent data retrieval 345346

getting items by key 337338

global secondary indexes 341344

querying items by key and filter 338341

scanning and filtering all table data 344345

scaling capacity 351354

SQL-like queries with PartiQL 349

to-do application example overview 328329

DynamoDB Local 350

E

ebs CloudFormation stack 232

EBS (Elastic Block Store) 20, 229237, 244, 433

backing up data with EBS snapshots 235237

creating EBS volumes and attaching to EC2 instances 230

tweaking performance 232235

using 230232

EC2 (Elastic Compute Cloud) 5, 20, 39, 57

adding additional network interfaces to virtual machines 8589

adding tags containing owner of EC2 instances 190198

authorizing Lambda functions to use other AWS services with IAM roles 196197

deploying Lambda functions with SAM 197198

implementing Lambda functions in Python 193195

setting up Lambda functions with SAM 195196

subscribing to EventBridge events 191193

allocating public IP addresses 8385

attaching storage 65

configuring key pair for login 6465

connecting to virtual machines 7072

creating EBS volumes and attaching to EC2 instances 230

creating IAM roles 6768

decoupling dynamic instance pools 477487

autoscaling by load balancer 478483

autoscaling by queues 483487

defining network and firewall settings 65

IAM roles for server and worker EC2 instances 458459

installing and running software manually 7273

Lambda vs. 175176

launching EC2 instances 6970

launching virtual machines 5970

managing dynamic instance pools 468472

monitoring and debugging virtual machines 7376

monitoring load 7576

showing logs 7374

mounting EFS filesystems on EC2 instances 250254

naming virtual machines 60

optimizing costs for virtual machines 9097

committing to usage for discount 9192

spare compute capacity 9297

recovering from instance failure with CloudWatch 361368

redundant instances for increased availability 434438

decoupling 436438

removing a single point of failure 435

RTO and RPO comparison for single instance 388

selecting operating system 6062

setting advanced details 65

sharing files between instances 254255

shutting down virtual machines 7677

size of virtual machines

changing 7780

choosing 6264

starting virtual machines in another data center 8083

EC2 Image Builder 422

EC2InstanceA virtual machine 254

EC2 Instance Savings Plans 91

ec2-owner-tag CloudFormation stack 198

ec2-ssm-core IAM role 424

ec2:StopInstances action 149

economies of scale 1213

ECS (Elastic Container Service) 396, 489, 494496, 498504

efs backup vault 263264

efs CloudFormation stack 259, 264

EFS (Elastic File System) 20, 40, 50, 243244, 377

backing up data 261264

creating filesystems 246248

pricing 247248

using CloudFormation to describe filesystems 246247

creating mount targets 248250

mounting EFS filesystems on EC2 instances 250254

sharing files between EC2 instances 254255

tweaking performance 255261

performance modes 255256

storage class and performance 261

throughput modes 257261

egress traffic 150

EIP (Elastic IP addresses service) 83, 433

EKS (Elastic Kubernetes Service) 396, 489, 494

ElastiCache

access control 309310

cluster and data access 310

configuration access 309

network access 309310

cache deployment options 302308

Memcached 303

MemoryDB 306308

Redis 304306

creating cache clusters 298302

minimal CloudFormation template 298300

testing Redis cluster 300302

installing sample application with CloudFormation 311319

cache 313314

database 314315

testing template 317319

virtual machine 315317

VPC 312313

monitoring caches 319321

host-level metrics 319320

sufficient memory 320

updating Redis replication 320321

tweaking performance 321323

compressing data 323

selecting cache node type 321322

selecting deployment option 322323

ElastiCache service 20

Elastic Block Store. See EBS

Elastic Compute Cloud. See EC2

Elastic Container Service. See ECS

Elastic File System. See EFS

Elastic IP addresses service (EIP) 83, 433

elasticity 466

Elastic Kubernetes Service (EKS) 396, 489, 494

Elastic Load Balancing (ELB) 39

ELB (Elastic Load Balancing) 20, 39, 382, 393394, 432433, 436

Elger, Peter 20

encryption 309

endpoint 273

EndpointURL stack output 455, 462

Engine attribute 268

EngineCPUUtilization metric 319320

Engine property 299

ENI (Elastic Network Interface) 373, 433, 460461, 501

ERP (enterprise resource planning) 58

eth1 networking interface 89

etherpad-codedeploy stack 414

eu-west-1 region 278

Evans, PJ 112, 217, 334, 403

EventBridge 176177, 191193

eventName attribute 193

eventSource attribute 193

eventually consistent data retrieval 345346

Evictions metric 319320

expected environment variable 180, 188

F

failure resilience types 432

Fargate 496504

fault tolerance

considerations for 438441

crashing and retrying 438

idempotent retry 438441

Imagery 441463

deploying application 454463

idempotent state machine 443445

implementing fault-tolerant web services 445451

implementing fault-tolerant workers to consume SQS messages 451454

redundant EC2 instances for increased availability 434438

decoupling 436438

removing a single point of failure 435

FIFO (first in, first out) queues 408

filesystem 245

F instance family 63

firewalls, defining settings for virtual machines 65

FPGAs (field-programmable gate arrays) 63

Free Tier 14

G

G5g Graviton instance type 64

GCP (Google Cloud Platform) 16

general Purpose mode performance mode 255

GET /image/:id 446, 448

getItem operations 337338, 346, 353

GET request 100

Glacier service 20

global secondary indexes

creating and querying 342344

using for more flexible queries 341342

Google Cloud Platform (GCP) 16

gp2 type 65

GPUs (graphics processing units) 63

Graviton ARM processors 64

Graviton instance types 64

Gregg, Brendan 320

grep text processor 109

guests 58

GUID (globally unique identifier) 208

GUI (graphical user interface) 21

H

HA (high availability)

architecting for 387389

different high availability guarantees 388389

RTO and RPO comparison for single EC2 instance 388

enabling high-availability deployment 284285

overview of 283285

recovering from data center outages with Auto Scaling group 368387

availability zones 369375, 385387

network interface recovery 380385

recovering network-attached storage 375380

recovering from EC2 instance failure with CloudWatch 361368

redundant EC2 instances for 434438

decoupling 436438

removing a single point of failure 435

hard drive storage

Elastic Block Store 229237

backing up data with EBS snapshots 235237

creating EBS volumes and attaching to EC2 instances 230

tweaking performance 232235

using 230232

instance stores 237241

backing up data 241

testing performance 240241

using 239240

HealthCheckGracePeriod parameter 470

HealthCheckType paramter 470

Help section 31

high availability. See HA

hook_after_install.sh script 416

host machine 58

httpd-tools package 482

HTTP traffic

allowing 154

allowing from source security groups 156158

allowing from specific source IP addresses 155156

HVM (hardware virtual machine) 62

hypervisors 58

I

IaaS (Infrastructure as a Service) 4, 61, 118

IAM group 143

IAM (Identity and Access Management) 20, 309, 433

authorizing Lambda functions to use other AWS services with IAM roles 196197

creating roles 6768

defining permissions with IAM identity policies 145147

overview of 143144

roles for server and worker EC2 instances 458459

IAM identity policy 143

IamInstanceProfile parameter 469

IAM managed policy 147

iam option 251

IAM role 143, 413

IAM user 143

ICMP (Internet Control Message Protocol) traffic, allowing 153154

idempotency

idempotent retry 438441

creating blog post entries in database 439

invalidating cache 439

posting to blog Twitter feed 440441

idempotent state machine 443445

finite state machine 443444

idempotent state transitions 444445

Identity and Access Management. See IAM

id path parameter 446, 449

ifconfig output 89

IGWs (internet gateways) 160

I instance family 63

Im4gn and Is4gen Graviton instance types 64

ImageId parameter 469

Imagery 441463

deploying application 454463

bundling runtime and application into images 455456

deploying S3, DynamoDB, and SQS 457458

deploying server with load balancers and Auto Scaling group 459461

deploying worker with Auto Scaling group 461463

IAM roles for server and worker EC2 instances 458459

idempotent state machine 443445

finite state machine 443444

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset