idempotent state transitions 444445

implementing fault-tolerant web services 445451

creating Imagery processes 446448

looking up Imagery processes 448449

setting up web server project 446

uploading images 450451

implementing fault-tolerant workers to consume SQS messages 451454

handling SQS messages and processing images 453454

setting up workers 452453

imagery-image DynamoDB table 454

IMDS (instance metadata service) 142

immutable servers 422

inbound traffic 150

Infrastructure as Code

JIML 118121

overview of 118

infrastructure programming

CLI 101111

automating with 108111

configuring 103107

installing 101103

using 107

CloudFormation 121132

anatomy of templates 122126

creating templates 126130

updating infrastructure using 131132

DevOps movement 100101

Infrastructure as Code 118121

SDK 111118

controlling virtual machines 112113

creating virtual machines 113116

listing virtual machines and showing details 116117

terminating virtual machines 117118

ingress traffic 150

inline policy 147

in-place deployment 413

installation 298

instance family 91

Instance ID 45

instance stores 237241

backing up data 241

testing performance 240241

using 239240

Instance type 45

InstanceType parameter 469

InstanceType property 127

INSUFFICIENT_DATA state 364

internet-facing load balancer 46

IOPS (Input/output operations per second) 233, 255

IoT (Internet of Things) 173, 202203

IP addresses 151

allowing HTTP traffic from specific source IP addresses 155156

public, allocating for virtual machines 8385

IP (Internet Protocol) 151

IPv4 Public IP 45

ISO 9001 13

items 329

J

Java EE applications, running in private networks 78

JavaScript 112

JIML (JSON Infrastructure Markup Language) 118121

jimp Node.js module 453

K

K8s (Kubernetes) 494

key pairs, configuring for virtual machines 6465

keys 208

key-schema option 331

L

Lambda

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

code execution 173176

Lambda vs. EC2 175176

running code 174175

serverless systems 173174

impacts of serverless pricing model 199201

limitations of 198199

use cases

data processing 202

IoT backend 202203

web applications 201202

website health check example 176189

accessing endpoints within VPCs 189

creating Lambda functions 177181

monitoring Lambda functions with CloudWatch metrics and alarms 184189

searching through Lambda function logs with CloudWatch 181184

latency 80

launch template 371

LaunchTemplate parameter 470

lazy-loading 295

LB node 120

LinkChecker tool 59

listener 395

listener rule 396

listObjects() function 219

load balancers 4647

Imagery applications 459461

setting up with virtual machines 394399

synchronous decoupling with 393399

logging module 184

M

m5.large instance 78, 92

M6g and M6gd Graviton instance types 64

m6g.medium instance 497498

Maintenance Window 138

managed policy 147

Management Console 21

MasterUsername attribute 268

MasterUserPassword attribute 268

max I/O mode performance mode 255

maximum parameter 470

MaxLength property 124

MaxSize parameter 372, 470

MaxValue property 125

measured service 4

Memcached 303

MemoryDB

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

Redis with persistence 306308

tweaking performance 321323

compressing data 323

selecting cache node type 321322

selecting deployment option 322323

memorydb-minimal stack 307308

message queues, asynchronous decoupling with 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

MeteredIOBytes metrics 259

MetricName attribute 364

MetricName parameter 475

MFA (Multi-Factor Authentication) 142143

minimum parameter 470

MinLength property 124

MinSize parameter 372, 470

M instance family 62

MinValue property 125

modern architectures

containers

options to run containers on AWS 491494

running without managing clusters of virtual machines 496498

virtual machines vs. 490491

ECS 495496, 498504

Fargate 496504

S3 498504

monitoring caches 319321

host-level metrics 319320

sufficient memory 320

updating Redis replication 320321

monitoring databases 290291

monitoring virtual machines 7376

monitoring load 7576

showing logs 7374

MountTargetA resource 249

mount targets 245, 248250

Multi-Factor Authentication (MFA) 142143

mycli user 113, 141, 147

MySQL databases 4749, 267271

exploring RDS database instances with MySQL engine 270271

launching WordPress platforms 268270

mysqldump tool 272

myuser user 148

N

NACLs (network access control lists) 158

Namespace parameter 475

NAT gateways, accessing internet from private subnets via 167171

NAT (network address translation) 8, 160

NetworkInterfaces parameter 469

network traffic control 150158

allowing HTTP traffic 154

from source security groups 156158

from specific source IP addresses 155156

allowing ICMP traffic 153154

security groups 152153

NFS (network filesystem) 50, 377

NLB (Network Load Balancer) 394

nodecc (Node Control Center for AWS) 112113

creating virtual machines 113116

listing virtual machines and showing details 116117

terminating virtual machines 117118

Node.js 112

Node.js in Action, second edition (Young) 112, 217, 334, 403

Node.js in Motion (Evans) 112, 217, 334, 403

nodes 304

NoEcho property 124

noeviction eviction strategy 320

NoSQL database service programming

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

DynamoDB Local 350

modifying data 347348

networking 354

operating DynamoDB 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 328

Notifications section 31

NumCacheNodes property 299

O

object stores 202, 207209

Objects variable 220

OK state 364

On-demand mode 351

on-demand self-service 4

one-time actions load pattern 473

operating systems

keeping up-to-date 137141

selecting for virtual machines 6062

outbound traffic 150

OutputKey key 270

Outputs property, AWS CloudFormat template 126

--output text option 109

P

P, G, and CG instance family 63

PaaS (Platform as a Service) 4

Packer 429

deploying customized AMIs created by 422429

tips and tricks for 428429

Parameter properties, AWS CloudFormat template 124

Parameter store 413

Parameter types 123

PartiQL, SQL-like queries with 349

partition key

identifying users by 330331

overview of 348

sort key and

identifying tasks by 332333

overview of 348349

patch baseline 138

patching 298

payment option 91

pay-per-use pricing model 16

PCI DSS Level 1 13

PCI (payment card industry) 13

pending state 236

PercentIOLimit metric 256, 258

performance modes, in EFS 255256

Period attribute 364

ping command 154

Plan component 261

Platform as a Service (PaaS) 4

Poccia, Danilo 202203

POST /image/:id/upload route 446

POST /image requests 447

POST /image route 446

POST request 450

predictive scaling 474

primary key 348349

getting items by key 337338

partition key

identifying users by 330331

overview of 348

partition key and sort key

identifying tasks by 332333

overview of 348349

querying items by key and filter 338341

Principal property 145

print statements 184

private cloud 4

private networks 158171

accessing internet from private subnets via NAT gateways 167171

adding private backend subnet 163166

creating 160

creating IGWs 160

defining public proxy subnet 160163

launching virtual machines in subnets 166167

private subnets 158

processed/ key prefix 458

processed(s3Key) sepia image 444

programmatic storage 216220

installing web applications that use S3 218

reviewing code access S3 with SDK 218220

listing all images in S3 buckets 219220

uploading images to S3 218219

setting up buckets 218

provisioned mode 351

Provisioned Throughput mode, in EFS 257261

provisioned-throughput option 331

ProxyPublicIpAddress output 157, 171

public cloud 4

public subnets 158

puppeteer Node.js module 405

putItem method 334

putObject() function 218

Python, implementing Lambda functions in 193195

Q

query operation 338339, 346

--query option 108

queuing theory 319

R

R5 instance types 63

R6gd Graviton instance type 64

R6i instance family 63

rapid elasticity 4

RBAC (role-based access control) 309

RDS (Relational Database Service) 20, 39, 47, 266, 389, 432

access control 279283

configuration access 280281

data access 282283

network access 281282

backing up and restoring databases 274279

automated snapshots 274275

copying databases to another region 278

cost of snapshots 279

manual snapshots 275276

restoring databases 276278

DynamoDB vs. 354355

highly available databases 283285

importing data into databases 271274

monitoring databases 290291

pricing 271

starting MySQL databases 267271

exploring database instances with MySQL engine 270271

launching WordPress platforms 268270

tweaking database performance 285290

increasing database resources 286287

read replication 287290

read replication 287290

creating read-replication databases 288289

promoting read replicas to standalone databases 289290

Reboot action 76

Recovery Point 261

recovery point objective (RPO) 387

recovery time objective (RTO) 387

Recurring actions load pattern 473

Redis

clusters

single-node cluster 304

with cluster mode disabled 304305

with cluster mode enabled 305306

testing clusters 300302

updating replication 320321

with persistence 306308

redis property 299

regions 369

reliability 12

relocating 278

Replication 298, 302

replication group 304

ReplicationLag metric 319321

resource pooling 4

Resource property 147

retries 458

revision component of CodeDeploy 413

R instance family 62

role-based access control (RBAC) 309

root user, securing 142143

RPO (recovery point objective) 387388

RTO (recovery time objective) 387388

Run Command 138

S

S3 bucket 413

S3 (Simple Storage Service) 20

archiving objects to optimize costs 213216

backing up data on S3 with AWS CLI 210213

deploying for Imagery applications 457458

modern architectures 498504

object stores, defined 208209

optimizing performance 225

overview of 209

programmatic storage 216220

installing web applications that use S3 218

reviewing code access S3 with SDK 218220

setting up buckets 218

protecting data from unauthorized access 224225

static web hosting 220223

accessing websites hosted on S3 223

configuring buckets for 222

creating buckets and uploading static websites 221

S3 Standard storage class 213

SaaS (Software as a Service) 34

SAM (Serverless Application Model)

deploying Lambda functions with 197198

setting up Lambda functions with 195196

Savings Plans option 90

Sbarski, Peter 203

scalability 1112

scaling policies 467

scan operation, DynamoDB 344346

schedule expression 180

SDK 111118

nodecc 112113

creating virtual machines 113116

listing virtual machines and showing details 116117

terminating virtual machines 117118

overview of 23

reviewing code access S3 with 218220

listing all images in S3 buckets 219220

uploading images to S3 218219

security 13

Amazon Virtual Private Cloud 158171

accessing internet from private subnets via NAT gateways 167171

adding private backend subnet 163166

creating VPCs and IGWs 160

defining public proxy subnet 160163

launching virtual machines in subnets 166167

AWS accounts 141150

authenticating AWS resources with roles 148150

defining permissions with IAM identity policies 145147

IAM service overview 143144

root user 142143

users and groups 147148

keeping operating system up-to-date 137141

network traffic control 150158

allowing HTTP traffic 154

allowing HTTP traffic from source security groups 156158

allowing HTTP traffic from specific source IP addresses 155156

allowing ICMP traffic 153154

security groups 152153

protecting data from unauthorized access 224225

responsibility for 136

security groups 40, 309

allowing HTTP traffic from source security groups 156158

overview of 152153

sed text processsor 109

SELECT * FROM table SQL request 271

Serverless Application Model. See SAM

serverless architecture 173

Serverless Architectures on AWS, second edition (Sbarski) 174, 203

service-level agreement (SLA) 389

service-level objective (SLO) 389

services

overview of 1720

solving common problems 11

SES (Simple Email Service) 316

Shanaghy, Eóin 20

sharding 302, 304

sharing data volumes

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

Simple Email Service (SES) 316

Simple Queue Service. See SQS

simple scaling 474

Simple Storage Service. See S3

site environment variable 180

SLA (service-level agreement) 389

SLO (service-level objective) 389

snapshots 235

snapshots, in RDS 274

automated 274275

cost of 279

manual 275276

SNI (Server Name Indication) 85

Software as a Service (SaaS) 4

sort key

identifying tasks by 332333

overview of 348349

source attribute 193

SPOF (single point of failure) 304, 432

Spot Instances option 90

SQS (Simple Queue Service) 393, 399408, 432433, 436

architecture of URL2PNG application 401402

consuming messages programmatically 404407

deploying for Imagery applications 457458

implementing fault-tolerant workers to consume messages 451454

handling SQS messages and processing images 453454

setting up workers 452453

limitations of messaging with 407408

producing messages programmatically 402404

setting up message queues 402

turning synchronous process into asynchronous one 400401

SSM (Systems Manager) Patch Manager 138

stacks 128

stateless servers 216, 467

static web hosting 220223

accessing websites hosted on S3 223

configuring buckets for 222

creating buckets and uploading static websites 221

StatusCheckFailed_System metric 364

step scaling 474

storage

attaching to virtual machines 65

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

object stores, defined 208209

S3

archiving objects to optimize costs 213216

backing up data on S3 with AWS CLI 210213

optimizing performance 225

overview of 209

programmatic storage 216220

protecting data from unauthorized access 224225

static web hosting 220223

--storage-class parameter 214

SubnetA parameter 301

SubnetB parameter 301

subnets 436

accessing internet from private subnets via NAT gateways 167171

adding private backend subnet 163166

defining public proxy subnet 160163

launching virtual machines in subnets 166167

SwapUsage metric 319320

synchronous decoupling 392399

Systems Manager (SSM) Patch Manager 138

Systems Performance: Enterprise and the Cloud (Gregg) 320

system status check 366

T

t2 instance family 477

t2.micro instance 63, 477

t3 instance family 477

T4g Graviton instance types 64

tables

creating 329333

identifying tasks by partition key and sort key 332333

identifying users by partition key 330331

scanning and filtering data 344345

tags 42

target group 396

TargetGroupARNs parameter 470

target tracking 474

task-add command 328

task-done command 329

task-la command 329, 343

task-ls command 328, 332, 339

task-rm command 328, 347

TaskRoleArn IAM role 501

TCO (total cost of ownership) 200

templates 121, 128

Terminal section 31

Terminate action 76

throughput modes, in EFS 257261

Bursting Throughput mode 257258

Provisioned Throughput mode 258261

tid attribute 342

tid sort key 333

T instance family 62

tls option 251

to-do application example

adding data 333336

adding tasks 336

adding users 335336

creating tables 329333

identifying tasks by partition key and sort key 332333

identifying users by partition key 330331

modifying data 347348

overview of 328

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

todo-task table 333, 338, 342, 349

todo-user table 330333, 335, 337, 344

TransactWriteItems API method 346

TTL (time-to-live) 295, 393

U

uid partition key 331, 333

updateItem operation 347, 448

UPDATE statement 349

upload/ key prefix 458

uploaded(s3Key) function 444

URL2PNG application example, architecture of 401402

url2png-HighQueueAlarm-* alarm 487

url2png-LowQueueAlarm-* alarm 487

url2png stack 485

URL key 482

URL output 415

user-add command 328, 335

user command 328, 330

UserData parameter 469

UserData script 253

user-ls command 328

user-rm command 328, 346

user <uid> command 337

UUID (universally unique identifier) 439

V

vault 261

vertical scaling of databases 285, 326

virtual machines 4546

adding additional network interfaces to 8589

allocating public IP addresses 8385

attaching storage 65

configuring key pair for login 6465

connecting to 7072

containers vs. 490491

creating IAM roles 6768

defining network and firewall settings 65

installing and running software manually 7273

installing sample application 315317

launching 5970

launching EC2 instances 6970

launching in subnets 166167

monitoring and debugging 7376

monitoring load 7576

showing logs 7374

naming 60

network traffic control 150158

allowing HTTP traffic 154

allowing HTTP traffic from source security groups 156158

allowing HTTP traffic from specific source IP addresses 155156

allowing ICMP traffic 153154

security groups 152153

nodecc 112113

creating virtual machines 113116

listing virtual machines and showing details 116117

terminating virtual machines 117118

optimizing costs for 9097

committing to usage for discount 9192

spare compute capacity 9297

recovering failed virtual machines to availability zones 369375

selecting operating system 6062

setting advanced details 65

setting up load balancers with 394399

sharing data volumes between

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

shutting down 7677

size of

changing 7780

choosing 6264

starting in another data center 8083

starting with CloudFormation 121132

anatomy of templates 122126

creating templates 126130

updating infrastructure 131132

VM nodes 120

VM (virtual machines) 3, 58, 119

volatile-lru strategy 320

volatile-random eviction strategy 320

volatile-ttl eviction strategy 320

VolumeId output 235

VPC (Amazon Virtual Private Cloud) 158171

accessing endpoints within VPCs 189

accessing internet from private subnets via NAT gateways 167171

adding private backend subnet 163166

creating VPCs and IGWs 160

defining public proxy subnet 160163

launching virtual machines in subnets 166167

network configuration 312313

VPC parameter 301

VpcSecurityGroupIds property 299

VPCZoneIdentifier parameter 470

W

WebServerSecurityGroup group 281

web services 5

web shop hosting 67

website health check example 176189

accessing endpoints within VPCs 189

creating Lambda functions 177181

monitoring Lambda functions with CloudWatch metrics and alarms 184189

searching through Lambda function logs with CloudWatch 181184

website-health-check Lambda function 185

WordPress 268270

cost 5052

creating cloud infrastructure for 3944

deleting infrastructure for 5354

exploring cloud infrastructure for 4550

load balancer 4647

MySQL database 4749

network filesystem 50

virtual machines 4546

wordpress-copy-snapshot snapshot 276

wordpress-manual-snapshot snapshot 275, 278

X

X2gd Graviton instance type 64

x-backend response header 158

X instance family 62

Y

Young, Alex 112, 217, 334, 403

yum install command 167

Z

zlib library 323

 

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

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