Learning Path
AWS Security
Course curriculum
AWS ECS - Scaling Docker
Course curriculum
Module 1: Amazon ECS Overview
- 1.1 What is Amazon ECS?
- 1.2 How Does It Compare with Other Services?
Module 2: Preparation for the Hands on Labs
- 2.1 Introduction
- 2.2 Setting up an Initial Course Folder
- 2.3 Installing Docker
- 2.4 Getting Set up on AWS
- 2.5 Installing and Configuring the AWS CLI
- 2.6 Benefits of Using the AWS CLI
- 2.7 Creating an SSH Keypair
- 2.8 Creating a Security Group
- 2.9 Creating ECS IAM Roles
Module 3: Deep Dive with Amazon ECS
- 3.1 Breaking Down Each ECS Component
- 3.2 Clusters
- 3.3 Container Agent
- 3.4 Container Instances
- 3.5 Task Definitions
- 3.6 Scheduler
- 3.7 Scheduling Services
- 3.8 Starting Tasks
- 3.9 Private Docker Registry (ECR)
- 3.10 ECS CLI
- 3.11 Tearing Down Our Cluster
Module 4: Developing the Ruby on Rails Application
- 4.1 Introduction
- 4.2 Generating a New Rails Project
- 4.3 Setting up a Strong Foundation
- 4.4 Dockerizing Your Rails Application
- 4.5 Running the Application Locally
- 4.6 Working with the Application
- 4.7 Building the Demo Application
- 4.8 Other Web Frameworks and Custom Apps
Module 5: Preparing to Deploy Everything on AWS
- 5.1 Introduction
- 5.2 Using and Configuring nginx
- 5.3 Setting up an S3 Bucket
- 5.4 Setting up RDS for Postgres
- 5.5 Setting up ElastiCache for Redis
- 5.6 Setting up an Elastic Load Balancer
- 5.7 Visualizing the Application's Architecture
- 5.8 Profiling the Ruby on Rails Application
Module 6: Estimating AWS Costs Based on Facts
- 6.1 Introduction
- 6.2 Going over the Cost Spreadsheet
- 6.3 Experimenting with Different Traffic Figures
- 6.4 Comparing Costs to Other Cloud Providers
- 6.5 Benefiting from Amazon's Free Tier
Module 7: Deploying Everything with Amazon ECS
- 7.1 Introduction
- 7.2 Creating the Production Cluster
- 7.3 Creating the Private Registry Repositories
- 7.4 Spinning up Multiple Container Instances
- 7.5 Registering the Task Definitions
- 7.6 Scheduling Services
- 7.7 Pushing Application Changes without Downtime
- 7.8 Automating Your Deployments with a Script
- 7.9 Exploring the AWS Console and Container Logs
Module 8: Domain Names and SSL
- 8.1 Introduction
- 8.2 Wiring up the ELB Endpoint to a Domain Name
- 8.3 Creating Free SSL Certificates with Amazon ACM
- 8.4 Updating the Security Group to Handle SSL
- 8.5 Updating the ELB to Handle SSL
- 8.6 Updating nginx to Handle SSL
Event Driven Security
Course curriculum
Module 1: Restricted Access
- 1.1 Restricted Access: Introduction
- 1.2 Setup: CloudTrail
- 1.3 Lambda
- 1.4 Event Trigger Setup: CloudWatch Events
- 1.5 Event / Response in Action: Testing
- 1.6 Review the Setup: Lambda and CloudFormation
Module 2: Bad IPs
- 2.1 Bad IPs: Introduction
- 2.2 Web Application Firewall (WAF)
- 2.3 Setup - WAF Configuration
- 2.4 Event / Response in Action - Testing
Module 3: Compromised Servers
- 3.1 Compromised Servers - Introduction
- 3.2 Setup - VPC Flow Logs
- 3.3 Setup - Lambda
- 3.4 CloudWatch Logs Stream
- 3.5 Lambda Code Review
- 3.6 Event / Response in Action - Testing
Module 4: Bad Config
- 4.1 Bad Config - Introduction
- 4.2 Setup - AWS Config setup
- 4.3 Setup - AWS Config Rules setup
- 4.4 What’s the Problem?
- 4.5 Setup and Test - Custom Config Rule
- 4.6 Lambda Function
Serverless Framework with GraphQL
Course curriculum
Module 1: Section 1
- 1.1 What is Serverless
- 1.2 Why a Framework
- 1.3 Installing AWS CLI
- 1.4 Installing Nodejs
- 1.5 Installing the Serverless Framework
- 1.6 Get Going
Module 2: Section 2
- 2.1 What's in a Service
- 2.2 Comparing Traditional Architectures
- 2.3 Hello World & AWS Console
- 2.4 The Smallest Serverless Project
- 2.5 Function Configuration
- 2.6 Deploying
- 2.7 YAML Debugging Clinic
Module 3: Section 3
- 3.1 Serverless Web Sites
- 3.2 REST Refresher
- 3.3 Starting a New Project
- 3.4 Accepting POST data
- 3.5 Redirecting and Path Handling
- 3.6 Environment Variables & Factor Apps
Module 4: Section 4
- 4.1 Storage & Backends
- 4.2 Staged Deployments
- 4.3 CloudFormation Concepts
- 4.4 IAM Confused
- 4.5 Reading DynamoDB Data
- 4.6 Adding Data to DynamoDB
- 4.7 Promises & Writing User Data
- 4.8 Serverless Framework Variables
- 4.9 Customizing Your Domain Name
Module 5: Section 5
- 5.1 Introduction
- 5.2 Security and Setting up Cognito
- 5.3 Static Sites on AWS
- 5.4 Creating a CDN
- 5.5 Signing Up and Logging In
- 5.6 Authenticated Requests
- 5.7 Packaging Dependencies
- 5.8 First GraphQL Endpoint
- 5.9 GraphQL Article Service
- 5.10 Saving Data with Mutations
- 5.11 GraphQL Frontend
- 5.12 Comment Section
Module 6: Section 6
- 6.1 Cleaning Up Resources
- 6.2 Final Wrap Up
AWS DynamoDB - From Beginner to Pro
Course curriculum
Module 1: Database Fundamentals
- 1.1 Database Fundamentals - Section Introduction
- 1.2 A brief history of data storage
- 1.3 Database Fundamentals
- 1.4 Data Normalisation
- 1.5 NOSQL Database fundamentals
- 1.6 Python 101
- 1.7 JSON101
Module 2: DynamoDB Basics
- 2.1 DynamoDB Basics - Section Introduction
- 2.2 Creating & Configuring your AWS account
- 2.3 Getting Setup on OSX
- 2.4 Getting Setup on Windows
- 2.5 Getting Setup on Linux
- 2.6 Getting Setup with EC
- 2.7 Course Case Studies - Weather Station Inc
- 2.8
- 2.9 Dynamo DB Introduction
- 2.10 Dynamo DB Consistency Model
- 2.11 DEMO - Console Basics
- 2.12 DEMO - Working with Tables
- 2.13 Controlling Table Performance
- 2.14 Data Model Design - Version
- 2.15 DEMO - Retrieving Items
- 2.16 An introduction to partitions
- 2.17 Batch Opertions
- 2.18 DEMO - Case Study Setup : Learning Online
- 2.19 Monitoring and Alerting
- 2.20 DEMO - Load Testing Student Enrollment
- 2.21 Lessons Learned
- 2.22 Refining the Learning Online Data Model v
- 2.23 DEMO - ReTesting Student Enrollment
- 2.24 Conditional and Update Expressions
- 2.25 DEMO - Using Conditional and Update Expressions
- 2.26 Controlling Access to DynamoDB
- 2.27 DEMO - Access Control
Module 3: Advanced DynamoDB
- 3.1 Section Introduction
- 3.2 Partitions Deep-Dive
- 3.3 Advanced Key Design
- 3.4 Advanced Query & Scan
- 3.5 DEMO - Non Key searches and large sets
- 3.6 Local Secondary Indexes (LSI)
- 3.7 Global Secondary Indexes (GSI)
- 3.8 Best Practice - Part - Tables
- 3.9 Best Practice - Part - Items
- 3.10 Best Practice - Part - Indexes (GSI and LSI)
- 3.11 Data Model v Changes
- 3.12 Data Model v Implementation
- 3.13 DEMO - Comparing Searches - with and without indexes
- 3.14 Efficient Data Upload
- 3.15 Dynamo DB API - Indepth & Error Handling
- 3.16 Advanced Performance & Mitigating performance burstyness
- 3.17 DynamoDB Streams
- 3.18 Dynamo DB Triggers (Streams + Lambda)
- 3.19 Data Model v Discussion and Implementation
- 3.20 DEMO - Trigger - Teacher Performance
- 3.21
- 3.22 DEMO - Trigger - Altered Grades
- 3.23 DEMO - Trigger - High Performance Exam Dashboard
- 3.24 Logging DynamoDB Events using CloudTrail
- 3.25 Federated Access
- 3.26 DEMO - Federated Access
- 3.27 DEMO - Export and Import using DataPipeline
- 3.28 DEMO - Replication and DR
- 3.29 DEMO - SQL-Like Querying using EMR
Application Load Balancer
Course curriculum
Module 1: Section1
- 1.1 Creating an Application Load Balancer (ALB)
Module 2: Section2
- 2.1 EC with ALB Introduction
- 2.2 EC with ALB - Lab
- 2.3 Why Auto Scaling?
- 2.4 Path Based Routing
- 2.5 EC with ALB Summary
Module 3: Section3
- 3.1 EC Container Service (ECS) with Application Load Balancer (ALB) Introduction
- 3.2 ECS with ALB
- 3.3 Path-Based Routing
- 3.4 ECS with ALB Summary
Module 4: Section4
- 4.1 Monitoring an ALB Introduction
- 4.2 CloudWatch Metrics & Alarms
- 4.3 Access Logs
- 4.4 Access Logs
- 4.5 Monitoring an ALB Summary
Module 5: Section5
- 5.1 Securing an ALB - Introduction
- 5.2 Controlling Traffic with Security Groups
- 5.3 Encrypting Data in Transit with SSL/TLS
- 5.4 Managing API Access with IAM
- 5.5 Securing an ALB Summary