aws-certified-developer-associate-dva-c01
Chapter 01 - Course Introduction - AWS Certified Developer Associate
Lecture 001 - Course Introduction - AWS Certified Developer Associate
What cover

What services will be covered

Lecture 003 - Create your AWS Account
Lecture 005 - Important Message
Lecture 006 - About your instructor
Chapter 02 - Code & Slides Download
Chapter 03 - Getting started with AWS
Lecture 008 - AWS Cloud Overview - Regions & AZ
Lecture 009 - Tour of the AWS Console & Services in AWS
Lecture 010 - About the UI changes in the course
Chapter 04 - IAM & AWS CLI
Lecture 011 - IAM Introduction_ Users, Groups, Policies
Users groups and policies
- User can belong to many groups
- Policy is a json document

Permissions

Lecture 012 - IAM Users & Groups Hands On
Create a user
- Iam is global
- Don't use root account, let create an user

Create a user - next
- Click on next to create a group if group not exist, then asign user into that group
- User from a group will inherit all permissions of that group
- Permission is created via "create policy", here we don't need to create new policy, we choose a existing policy

About tag
- We can see tag everywhere in aws

User created
- We can download the csv file contains user credential, or send email to them
- We can view in detail Group or User via sub menu in the left

Create an alias for Account
- Click on Create link (in the righ) to popup this dialog and input the alias

Copy the url then bookmark it for later login

Lecture 013 - IAM Policies
Iam policies inheritance
- "inline policy" means policy asign direct to user

The structure

Lecture 014 - IAM Policies Hands On
View detail an user
- This user has "inline policy" and belong to two groups

View an policy
- This is powerful, system allows all actions on all resources

Lecture 015 - IAM MFA Overview
Password policy

Mfa

Mfa devices

Mfa devices

Lecture 016 - IAM MFA Hands On
Lecture 017 - AWS Access Keys, CLI and SDK
Access key

An example

Aws cli

Aws sdk

Lecture 018 - AWS CLI Setup on Windows
Lecture 019 - AWS CLI Setup on Mac OS X
Lecture 020 - AWS CLI Setup on Linux
Lecture 021 - AWS CLI Hands On
Click on the button to create an access key
- Never create one for root user
- Only create for an user

Aws cli config

Aws iam list-users
- List all users

Lecture 023 - AWS CloudShell
Cloud shell
- Cloud shell available on some regions only
- We can configure via gear button
- We can download file from CloudShell

Lecture 024 - IAM Roles for AWS Services
Iam role created for a service not for physical user

Lecture 025 - IAM Roles Hands On
Choose aws service
- For exam, we need only focus to this type of role

Asign a permission

Choose a role name

Role overview

Lecture 026 - IAM Security Tools
Iam security tools

Lecture 027 - IAM Security Tools Hands On
Let download a report

View access advisor
- We can see our actions in the past
- We can see the user has permission on many service, we should remove permission for this user

Lecture 028 - IAM Best Practices
Iam best practice

Lecture 029 - IAM Summary
Summary

Chapter 05 - EC2 Fundamentals
Lecture 030 - AWS Budget Setup
Lecture 031 - EC2 Basics
Lecture 032 - Create an EC2 Instance with EC2 User Data to have a Website Hands On
Lecture 033 - EC2 Instance Types Basics
Lecture 034 - Security Groups & Classic Ports Overview
Lecture 035 - Security Groups Hands On
Lecture 036 - SSH Overview
Lecture 037 - How to SSH using Linux or Mac
Lecture 038 - How to SSH using Windows
Lecture 039 - How to SSH using Windows 10
Lecture 041 - EC2 Instance Connect
Lecture 042 - EC2 Instance Roles Demo
Lecture 043 - EC2 Instance Purchasing Options
Chapter 06 - EC2 Instance Storage
Lecture 044 - EBS Overview
Lecture 045 - EBS Hands On
Lecture 046 - EBS Snapshots
Lecture 047 - EBS Snapshots - Hands On
Lecture 048 - AMI Overview
Lecture 049 - AMI Hands On
Lecture 050 - EC2 Instance Store
Lecture 051 - EBS Volume Types
Lecture 052 - EBS Multi-Attach
Lecture 053 - Amazon EFS
Lecture 054 - Amazon EFS - Hands On
Lecture 055 - EFS vs EBS
Lecture 056 - EBS & EFS - Section Cleanup
Chapter 07 - AWS Fundamentals_ ELB + ASG
Lecture 057 - High Availability and Scalability
Lecture 058 - Elastic Load Balancing (ELB) Overview
Lecture 059 - Classic Load Balancer (CLB)
Lecture 060 - Classic Load Balancer (CLB) with Hands On
Lecture 061 - Application Load Balancer (ALB)
Lecture 062 - Application Load Balancer (ALB) - Hands On
Lecture 063 - Network Load Balancer (NLB)
Lecture 064 - Network Load Balancer (NLB) - Hands On
Lecture 065 - Gateway Load Balancer (GWLB)
Lecture 066 - Elastic Load Balancer - Sticky Sessions
Lecture 067 - Elastic Load Balancer - Cross Zone Load Balancing
Lecture 068 - Elastic Load Balancer - SSL Certificates
Lecture 069 - Elastic Load Balancer - Connection Draining
Lecture 070 - Auto Scaling Groups (ASG) Overview
Lecture 071 - Auto Scaling Groups Hands On
Lecture 072 - Auto Scaling Groups - Scaling Policies
Lecture 073 - Auto Scaling Groups - Scaling Policies Hands On
Chapter 08 - AWS Fundamentals_ RDS + Aurora + ElastiCache
Lecture 074 - Amazon RDS Overview
Lecture 075 - RDS Read Replicas vs Multi AZ
Lecture 076 - Amazon RDS Hands On
Lecture 077 - RDS Encryption + Security
Lecture 078 - Amazon Aurora
Lecture 079 - Amazon Aurora - Hands On
Lecture 080 - ElastiCache Overview
Lecture 081 - ElastiCache Hands On
Lecture 082 - ElastiCache Strategies
Lecture 083 - ElastiCache Redis Cluster Modes
Chapter 09 - Route 53
Lecture 084 - What is a DNS_
Lecture 085 - Route 53 Overview
Lecture 086 - Route 53 - Registering a domain
Lecture 087 - Route 53 - Creating our first records
Lecture 088 - Route 53 - EC2 Setup
Lecture 089 - Route 53 - TTL
Lecture 090 - Route 53 CNAME vs Alias
Lecture 091 - Routing Policy - Simple
Lecture 092 - Routing Policy - Weighted
Lecture 093 - Routing Policy - Latency
Lecture 094 - Route 53 Health Checks
Lecture 095 - Route 53 - Health Checks Hands On
Lecture 096 - Routing Policy - Failover
Lecture 097 - Routing Policy - Geolocation
Lecture 098 - Routing Policy - Geoproximity
Lecture 099 - Routing Policy - Traffic Flow & Geoproximity Hands On
Lecture 100 - Routing Policy - Multi Value
Lecture 101 - 3rd Party Domains & Route 53
Lecture 102 - Route 53 - Section Cleanup
Chapter 10 - VPC Fundamentals
Lecture 103 - VPC Fundamentals - Section Introduction
Lecture 104 - VPC, Subnets, IGW and NAT
Lecture 105 - NACL, SG, VPC Flow Logs
Lecture 106 - VPC Peering, Endpoints, VPN, DX
Lecture 107 - VPC Cheat Sheet & Closing Comments
Lecture 108 - Three Tier Architecture
Chapter 11 - Amazon S3 Introduction
Lecture 109 - Amazon S3 - Section Introduction
Lecture 110 - S3 Buckets and Objects
Lecture 111 - S3 Buckets and Objects - Hands On
Lecture 112 - S3 Versioning
Lecture 113 - S3 Versioning - Hands On
Lecture 114 - S3 Encryption
Lecture 115 - S3 Encryption - Hands On
Lecture 116 - S3 Security & Bucket Policies
Lecture 117 - S3 Bucket Policies Hands On
Lecture 118 - S3 Websites
Lecture 119 - S3 CORS
Lecture 120 - S3 CORS Hands On
Lecture 121 - S3 Consistency Model
Chapter 12 - AWS CLI, SDK, IAM Roles & Policies
Lecture 122 - IAM Roles and Policies Hands On
Lecture 123 - AWS Policy Simulator
Lecture 124 - AWS CLI Dry Run
Lecture 125 - AWS CLI STS Decode
Lecture 126 - AWS EC2 Instance Metadata
Lecture 127 - AWS CLI Profiles
Lecture 128 - AWS CLI with MFA
Lecture 129 - AWS SDK Overview
Lecture 130 - Exponential Backoff & Service Limit Increase
Lecture 131 - AWS Credentials Provider & Chain
Lecture 132 - AWS Signature v4 Signing
Chapter 13 - Advanced S3 & Athena
Lecture 133 - S3 MFA Delete
Lecture 134 - S3 MFA Delete Hands On
Lecture 135 - S3 Default Encryption
Lecture 136 - S3 Access Logs
Lecture 137 - S3 Access Logs - Hands On
Lecture 138 - S3 Replication (Cross Region and Same Region)
Lecture 139 - S3 Replication - Hands On
Lecture 140 - S3 Pre-signed URLs
Lecture 141 - S3 Pre-signed URLs - Hands On
Lecture 142 - S3 Storage Classes + Glacier
Lecture 143 - S3 Storage Classes + Glacier - Hands On
Lecture 144 - S3 Lifecycle Rules
Lecture 145 - S3 Lifecycle Rules - Hands On
Lecture 146 - S3 Performance
Lecture 147 - S3 & Glacier Select
Lecture 148 - S3 Event Notifications
Lecture 149 - S3 Event Notifications - Hands On
Lecture 150 - Athena Overview
Lecture 151 - Athena Hands On
Chapter 14 - CloudFront
Lecture 152 - CloudFront - Overview
Lecture 153 - CloudFront Hands On
Lecture 154 - CloudFront Caching & Caching Invalidations - Hands On
Lecture 155 - CloudFront Caching & Invalidations Hands On
Lecture 156 - CloudFront Security
Lecture 157 - CloudFront Signed URL _ Cookies
Lecture 158 - CloudFront Signed URL - Key Groups + Hands On
Lecture 159 - CloudFront Advanced Concepts
Chapter 15 - ECS, ECR & Fargate - Docker in AWS
Lecture 160 - Docker Introduction
Lecture 161 - Amazon ECS
Lecture 162 - Creating ECS Cluster - Hands On
Lecture 163 - Creating ECS Service - Hands On
Lecture 164 - Amazon ECS - Auto Scaling
Lecture 165 - Amazon ECS - Rolling Updates
Lecture 166 - Amazon ECS - Solutions Architectures
Lecture 167 - Amazon ECS Task Definitions - Deep Dive
Lecture 168 - Amazon ECS Task Definitions - Hands On
Lecture 169 - Amazon ECS - Task Placements
Lecture 170 - Amazon ECR
Lecture 171 - Amazon ECR - Hands On
Lecture 172 - Amazon EKS
Chapter 16 - AWS Elastic Beanstalk
Lecture 173 - AWS Elastic Beanstalk - Section Introduction
Lecture 174 - Elastic Beanstalk Overview (High level)
Lecture 175 - Beanstalk First Environment
Lecture 176 - Beanstalk Second Environment
Lecture 177 - Beanstalk Deployment Modes
Lecture 178 - Beanstalk Deployment Modes Hands On
Lecture 179 - Beanstalk CLI and Deployment Process
Lecture 180 - Beanstalk Lifecycle Policy Overview + Hands On
Lecture 181 - Beanstalk Extensions
Lecture 182 - Beanstalk & CloudFormation
Lecture 183 - Beanstalk Cloning
Lecture 184 - Beanstalk Migrations
Lecture 185 - Beanstalk with Docker
Lecture 186 - Beanstalk Advanced Concepts
Lecture 187 - Beanstalk Cleanup
Chapter 17 - AWS CICD_ CodeCommit, CodePipeline, CodeBuild, CodeDeploy
Lecture 188 - AWS CICD - Section Introduction
Lecture 189 - Introduction to CICD in AWS
Lecture 190 - CodeCommit Overview
Lecture 191 - CodeCommit Hands On Part I
Lecture 192 - CodeCommit Hands On Part 2
Lecture 193 - CodePipeline Overview
Lecture 194 - CodePipeline Hands On
Lecture 195 - CodeBuild Overview
Lecture 196 - CodeBuild Hands On Part I
Lecture 197 - CodeBuild Hands On Part 2
Lecture 198 - CodeDeploy Overview
Lecture 199 - CodeDeploy Hands On
Lecture 200 - CodeDeploy for EC2 and ASG
Lecture 201 - CodeStar - Overview
Lecture 202 - CodeStar - Hands On
Lecture 203 - CodeArtifact - Overview
Lecture 204 - CodeGuru - Overview
Chapter 18 - AWS CloudFormation
Lecture 205 - AWS CloudFormation - Section Introduction
Lecture 206 - CloudFormation Overview
Lecture 207 - CloudFormation Create Stack Hands On
Lecture 208 - CloudFormation Update and Delete Stack Hands On
Lecture 209 - YAML Crash Course
Lecture 210 - CloudFormation Resources
Lecture 211 - CloudFormation Parameters
Lecture 212 - CloudFormation Mappings
Lecture 213 - CloudFormation Outputs
Lecture 214 - CloudFormation Conditions
Lecture 215 - CloudFormation Intrinsic Functions
Lecture 216 - CloudFormation Rollbacks
Lecture 217 - CloudFormation ChangeSets, Nested Stacks & StackSet
Lecture 218 - CloudFormation Drift
Chapter 19 - AWS Monitoring & Audit_ CloudWatch, X-Ray and CloudTrail
Lecture 219 - AWS Monitoring - Section Introduction
Lecture 220 - Monitoring Overview in AWS
Lecture 221 - CloudWatch Metrics
Lecture 222 - CloudWatch Custom Metrics
Lecture 223 - CloudWatch Logs
Lecture 224 - CloudWatch Logs Hands On
Lecture 225 - CloudWatch Agent & CloudWatch Logs Agent
Lecture 226 - CloudWatch Logs Metric Filters
Lecture 227 - CloudWatch Alarms
Lecture 228 - CloudWatch Alarms Hands On
Lecture 229 - CloudWatch Events
Lecture 230 - Amazon EventBridge
Lecture 231 - Amazon EventBridge - Hands On
Lecture 232 - X-Ray Overview
Lecture 233 - X-Ray Hands On
Lecture 234 - X-Ray_ Instrumentation and Concepts
Lecture 235 - X-Ray_ Sampling Rules
Lecture 236 - X-Ray APIs
Lecture 237 - X-Ray with Beanstalk
Lecture 238 - X-Ray & ECS
Lecture 239 - CloudTrail
Lecture 240 - CloudTrail Hands On
Lecture 241 - CloudTrail vs CloudWatch vs X-Ray
Lecture 242 - AWS Quick Clean-Up
Chapter 20 - AWS Integration & Messaging_ SQS, SNS & Kinesis
Lecture 243 - AWS Integration & Messaging - Section Introduction
Lecture 244 - Introduction to Messaging
Lecture 245 - Amazon SQS - Standard Queues Overview
Lecture 246 - SQS - Standard Queue Hands On
Lecture 247 - SQS Queue Access Policy
Lecture 248 - SQS - Message Visibility Timeout
Lecture 249 - SQS - Dead Letter Queues
Lecture 250 - SQS - Delay Queues
Lecture 251 - SQS - Certified Developer concepts
Lecture 252 - SQS - FIFO Queues
Lecture 253 - SQS - FIFO Queues Advanced
Lecture 254 - Amazon SNS
Lecture 255 - Amazon SNS and SQS - Fan Out Pattern
Lecture 256 - SNS Hands On
Lecture 257 - Kinesis Overview
Lecture 258 - Kinesis Data Streams Overview
Lecture 259 - Kinesis Producers
Lecture 260 - Kinesis Consumers
Lecture 261 - Kinesis Data Streams Hands On
Lecture 262 - Kinesis Client Library
Lecture 263 - Kinesis Operations
Lecture 264 - Kinesis Data Firehose Overview
Lecture 265 - Kinesis Data Firehose Hands On
Lecture 266 - Kinesis Data Analytics
Lecture 267 - SQS vs SNS vs Kinesis
Lecture 268 - Data Ordering for Kinesis vs SQS FIFO
Chapter 21 - AWS Serverless_ Lambda
Lecture 269 - AWS Lambda - Section Introduction
Lecture 270 - Serverless Introduction
Serverless

Serverless in aws

Lecture 271 - AWS Lambda Overview
Why lambda

Benefits of aws lambda

Some services often integrate with lambda

An example

Example of cron job

Pricing

Lecture 272 - AWS Lambda - First Hands On
An example

Basic settings
- Memory, timeout, execution role ...

Metric
- Cloudwatch

Raise exception

View the log
- To see the problem

Lecture 273 - Lambda Synchronous Invocations
Synchronous Invocations

Services invokes lambda

Lecture 274 - Lambda Synchronous Invocations Hands On
Cli list-functions

Cli call a function

Lecture 275 - Lambda & Application Load Balancer
Alb invokes lambda

Alb to lambda

Response

Multi header values
- The same name

Lecture 276 - Lambda & Application Load Balancer Hands On
Create alb
- At this step we asign the lambda

Lecture 277 - AWS Lambda@Edge Overview
Use cases and solutions

Using lambda edge

An example

Use cases

Lecture 278 - Lambda Asynchronous Invocations & DLQ
Overview

Services trigger lambda

Lecture 279 - Lambda Asynchronous Invocations Hands On
Invoke a lambda
- The result status code is 202
- Let check log

View the log
- The lambda executed
- There is error, but we can not know in caller it always returns 202

Edit invocation to send msg to SQS when failed
- Click on Edit button to open configuration to config retry

Retry configuration
- Here we don't have a SQS queue, let's create one

Create a SQS queue
- Input the name, everything let default

Retry configuration
- There is an error because of missing permission
- Let update the execution role

Click to edit the role

Select AmazonSKQSFullAccess
- We go back then click save, the configuration success

View summary
- Lambda will retry 2, if failed, the message will send to SQS

View the log
- There is retrying, and it was failed
- Focus to requestId, it is the same, starts with 2ab
- Let check in SQS

Poll the message
- Click on Poll for messages to retrieve message
- Then click on message's link

The content of the msg

Lecture 280 - Lambda & CloudWatch Events _ EventBridge
Lecture 281 - Lambda & CloudWatch Events _ EventBridge Hands On
Lecture 282 - Lambda & S3 Event Notifications
Lecture 283 - Lambda & S3 Event Notifications - Hands On
Lecture 284 - Lambda Event Source Mapping
Lecture 285 - Lambda Event Source Mapping Hands On (SQS)
Lecture 286 - Lambda Destinations
Lecture 287 - Lambda Destinations Hands On
Lecture 288 - Lambda Permissions - IAM Roles & Resource Policies
Iam role

Resource based policies

Lecture 289 - Lambda Permissions - IAM Roles & Resource Policies - Hands On
Lecture 290 - Lambda Environment Variables
Lecture 291 - Lambda Environment Variables - Hands On
Lecture 292 - Lambda Monitoring & X-Ray Tracing
Lecture 293 - Lambda Monitoring & X-Ray Tracing - Hands On
Lecture 294 - Lambda in VPC
Lecture 295 - Lambda in VPC - Hands On
Lecture 296 - Lambda Function Performance
Lecture 297 - Lambda Function Performance - Hands On
Lecture 298 - Lambda Concurrency
Lecture 299 - Lambda Concurrency Hands On
Lecture 300 - Lambda External Dependencies
Lecture 301 - Lambda External Dependencies - Hands On
Lecture 302 - Lambda and CloudFormation
Lecture 303 - Lambda and CloudFormation - Hands On
Lecture 304 - Lambda Layers
Lecture 305 - Lambda Layers - Hands On
Lecture 306 - Lambda Container Images
Lecture 307 - Lambda Versions and Aliases
Lecture 308 - Lambda Versions and Aliases - Hands On
Lecture 309 - Lambda and CodeDeploy
Lecture 310 - Lambda Limits
Lecture 311 - Lambda Best Practices
Chapter 22 - AWS Serverless_ DynamoDB
Lecture 312 - DynamoDB - Section Introduction
Lecture 313 - DynamoDB Overview
Tranditional Architecture

Nosql db

Dynamodb

Dynamodb basic

Dynamodb - pk option 1

Dynamodb - pk option 2

Dynamodb - exercise

Lecture 314 - DynamoDB Basics - Hands On
Lecture 315 - DynamoDB WCU & RCU - Throughput
Capacity modes

Capacity modes - provisioned

Write capacity

Strongly consistent read vs eventually consistent read

Write capacity

Partition internal

Throttling

Capacity modes - on demand

Lecture 316 - DynamoDB WCU & RCU - Hands On
On demand

Provisioned

Provisioned - table capacity
- Should enable auto scaling

Lecture 317 - DynamoDB Basic APIs
Writing data

Reading data

Reading data - query

Reading data - scan

Deleting data

Batch operations

Lecture 318 - DynamoDB Basic APIs - Hands On
Lecture 319 - DynamoDB Indexes (GSI + LSI)
Rsi

Gsi

Indexes and throttling

Lecture 320 - DynamoDB Indexes (GSI + LSI) - Hands On
An lsi
- We input the name of column
- Index name auto generated
- For simple, let selec All for attr-projection

Query based on lsi
- Now, we can query based on lsi
- For gsi, simlilar with lsi, but gsi can created after table creation

Lecture 321 - DynamoDB PartiQL
PariQl

We can query based on index as well

Lecture 322 - DynamoDB Optimistic Locking
Optimistic locking
- User1 failed to update because client2 updated before, and then the version is 2

Lecture 323 - DynamoDB DAX
Dynamodb accelerator - dax

Vs elasticache

Lecture 324 - DynamoDB DAX - Hands On
Lecture 325 - DynamoDB Streams
Dynamodb Streams

Dynamodb Streams

Dynamodb Streams

Vs lambda

Lecture 326 - DynamoDB Streams - Hands On
Lecture 327 - DynamoDB TTL
Ttl

Lecture 328 - DynamoDB CLI
Good to know

An example

Lecture 329 - DynamoDB Transactions
Transactions

An example

Capacity computation

Lecture 330 - DynamoDB Session State
Lecture 331 - DynamoDB Partitioning Strategies
Write sharding

Lecture 332 - DynamoDB Conditional Writes, Concurrent Writes & Atomic Writes
Write types

Lecture 333 - DynamoDB Patterns with S3
Large objects pattern

Indexing s3 object metadata

Lecture 334 - DynamoDB Operations
Some operations

Lecture 335 - DynamoDB Security & Other
Security and others

User interacts directly

Fine-grained access control

Chapter 23 - AWS Serverless_ API Gateway
Lecture 336 - API Gateway - Section Introduction
Lecture 337 - AWS API Gateway Overview
Build serverless rest api

Aws api gateway

Integration high level

Endpoint type

Lecture 338 - API Gateway Basics Hands On
Example where api gateway can be used

Create one

First sceen
- 0356b associate with a lambda
- Click on action, then choose GET then click on tick near the word GET. input information for the endpoint

How api gateway can invoke the lambda
- Go to lambda then view the resource-based policy we can see that the api-gateway can invoke the lambda

Flow
- When client request, a Method Request created
- Next, the Integration Request created at proxy
- It requests to execute lambda function
- There is no Integration Reponse to transform response
- Finnally, the Method response send back response to client

Test it

Create a sub request
- Here is an example, the path is: /house
- (prev one is /)

Deploying

Deployment result

We can click the link to access the endpoint a respose will return

Hourse endpoint

Wrong endpoint

Lecture 339 - API Gateway Stages and Deployment
Deployment statge

Stage v1 vs v2
- This is a common use case

Stage variables

Stage variables - use cases

Lecture 340 - API Gateway Stages and Deployment Hands On
Publish version 1
- Edit the function
- Then click on Action button to choose Publish version
- Aws shows this dialog, let the vesion desc empty

Create a version 2
- From $lastest, first we choose the version in the combobox
- Then change the code
- Then publish

Let create a lambda alias
- Let create dev, test, prod

New endpoint
- We dynamic naming lambda function based on variable

Click on save
- This means we don't have permission, let do it
- Let copy the command, will use later

View in the function
- The resouce-based policy is empty

We use aws cli ton add permission
- Modify the command by specify the stage name instead of variable

We can see permission in the alias now

Create stages
- Dev, test and prod

Specify a varialble

The api gateway

Test it
- /prod/stagevariables
- /test/stagevariables
- /dev/stagevariables

Lecture 341 - API Gateway Stages Configurations Hands On
Each stage we can config diff setting

Lecture 342 - API Gateway Canary Deployments
Canary Deployments

Lecture 343 - API Gateway Canary Deployments Hands On
Update the endpoint to point to version 1

Prod stage is pointing to version 1

Create a Canary
- Configure 50% tranfic

Now modify the endpoint
- And deploy to prod (canary)

Test it
- Some time it is v1, some time is v2 (50% change to v1, v2)

Promote canary
- Click on Promote Canary button to promote

Test it
- Now the response is always v2

Lecture 344 - API Gateway Integration Types & Mappings
Integration types

Integration types

Integration types

Mapping template

Example

Example

Lecture 345 - API Gateway Mapping Templates Hands On
Lecture 346 - API Gateway Swagger & Open API 3.0
Lecture 347 - API Gateway Caching
Lecture 348 - API Gateway Usage Plans & API Keys
Lecture 349 - API Gateway Monitoring, Logging and Tracing
Lecture 350 - API Gateway CORS & Hands On
Lecture 351 - API Gateway Authentication and Authorization
Security - sig v4

Resource policies
- Define who and which can access

Security - cognito

Security - lambda authorizer
- Most flexible

Summary

We can set authorization here

We can use resource policy
- Here we have 3 templates

We can user authorizers

Lecture 352 - API Gateway REST API vs HTTP API
Lecture 353 - API Gateway Websocket API
Lecture 354 - API Gateway Websocket API Hands On
Lecture 355 - API Gateway - Architecture
Architecture

Chapter 24 - AWS Serverless_ SAM - Serverless Application Model
Lecture 356 - AWS SAM - Section Introduction
Lecture 357 - SAM Overview
About SAM

Recipe

Sam deployment

Cli debugging

Lecture 358 - Installing the SAM CLI
Following the guide

Lecture 359 - Creating first SAM Project
Reference project on github
- Awslabs

First project
- Sam init --help: for help
- Here we create a project with this structure
- The content is copied from github then modified
- App.lambda_handler is a method inside app.py

Lecture 360 - Deploying SAM Project
Create a bucket
- A bucket is created

Package project and upload to s3
- Sam is shortcut for "aws cloudformation"

View generated template file
- It contains such as s3 bucket

Create a changeset and deploy

View cloudformation - overview
- We see the status is in-progress

View cloudformation - resouce
- We can see it created a function and role

Check the deployed lambda

Lecture 361 - SAM API Gateway
Update the source code

Lecture 362 - SAM DynamoDB
Update app.py
- Copy the code from awslab then edit like this

Lecture 363 - SAM - CloudFormation Designer and Application Repository
Lecture 364 - SAM Policy Templates
Lecture 365 - SAM with CodeDeploy
Lecture 366 - SAM Section Summary
Lecture 367 - Serverless Application Repository (SAR)
Lecture 368 - Serverless Application Repository (SAR) - Hands On
Chapter 25 - Cloud Development Kit (CDK)
Lecture 369 - CDK Overview
About cdk

Cdk diagram

Cdk hand on in the next lecture

Cdk vs sam

Lecture 370 - CDK Hands On
Some first steps

Install some dependencies

Nano to edit the file

Update the file

The file
- Import some dependencies

Create a bucket to store images

Create role

Create dynamodb table

Create lambda

Create index.py

The file
- It used to detect labels as description in file

Cdk bootstrap

Check in console

Cdk synth
- A long file is created

Ckd deploy

Chapter 26 - Cognito_ Cognito User Pools, Cognito Identity Pools & Cognito Sync
Lecture 371 - Cognito Overview
Cognito Overview

Lecture 372 - Cognito User Pools
Cup

Diagram

Integration

Lecture 373 - Cognito User Pools Hands On
Create a user pool

Step 2

Step 3

Step 4

Step 5

Create an app client

Create client setting

Domain name

Test
- The image is a customed one

Login sucess

Check user pool

Sign in via external federated IP

Customize trigger

Lecture 374 - Cognito User Pools - Others
Lambda trigger

Hosted authentication ui

Lecture 375 - Cognito Identity Pools
Federated Identity

Diagram

Diagram with cup

Iam

Guest user example

Dynamodb
