Wednesday, 13 March 2024

AWS Cloud Job Labs & Projects

 


Lab 01: CloudWatch – Create Billing Alarm & Service Limits

Dive into CloudWatch, AWS’s monitoring service. This lab focuses on setting up billing alarms to manage costs effectively and keeping an eye on service limits to ensure your applications run smoothly within defined boundaries.

AWS billing notifications can be enabled using Amazon CloudWatch. CloudWatch is an Amazon Web Services service that monitors all of your AWS account activity. CloudWatch, in addition to billing notifications, provides infrastructure for monitoring apps, logs, metrics collecting, and other service metadata, as well as detecting activity in your AWS account usage.

AWS CloudWatch offers a number of metrics through which you can set your alarms. For example, you may set an alarm to warn you when a running instance’s CPU or memory utilization exceeds 90% or when the invoice amount exceeds $100. We get 10 alarms and 1,000 email notifications each month with an AWS free tier account.


Lab 02: Create And Connect To Windows EC2 Machine

Get a practical experience with Elastic Compute Cloud (EC2) by launching a Windows instance. Learn the nuances of instance creation and connect seamlessly to Windows-based virtual machines.

windows ec2





Lab 03: Create And Connect To Linux EC2 Machine

Extend your EC2 skills by spinning up a Linux instance. Discover the nuances of the Linux environment within AWS, from creation to connecting and managing instances efficiently.

linux-ec2


Lab 4 : Working with AWS IAM

Unlock the power of Identity and Access Management (IAM) by navigating through user and group management. Gain insights into the foundation of AWS security, controlling who can access your resources and what actions they can perform.


Lab 05: Enable Multi-Factor Authentication

Elevate your security posture by implementing Multi-Factor Authentication (MFA) in IAM. This lab walks you through the process of adding an extra layer of authentication for enhanced account protection.IAM


Lab 06: IAM Power User

Become an IAM power user by delving into advanced features. Learn to create and manage policies, roles, and permissions, gaining mastery over nuanced access control scenarios.

PowerUser

Lab 08: Create S3 Bucket, Upload and access Files, And Host the Website

Explore the versatile Amazon Simple Storage Service (S3) by creating buckets, uploading files, and even hosting a static website. This lab provides hands-on experience in leveraging S3 for scalable and secure object storage.Lab: S3

Lab 09: Create and mount Elastic File System (EFS) on EC2 Instances

Dive into Elastic File System (EFS) to create a scalable and shared file storage solution. Learn to mount EFS on EC2 instances, facilitating collaboration and data access across multiple compute resources.Storage

Lab 10: Create and Manage EBS Volumes & Snapshots

Master Elastic Block Store (EBS), a fundamental component for EC2 instances. This lab guides you through the creation and management of EBS volumes and snapshots, ensuring data durability and flexibility.

EBS volumeLab 11: Host Website On Windows EC2 Instance Using IIS

Take a deeper dive into EC2 by deploying a website on a Windows instance using Internet Information Services (IIS). Gain insights into web hosting on AWS and configuring Windows-based servers.

IIS web server

Lab 12: Configure Apache Webserver on AWS Linux EC2 Machine

Extend your web hosting knowledge by configuring an Apache web server on a Linux-based EC2 instance. Understand the intricacies of hosting applications on a Linux environment within AWS.

Install-Apache-Web-ServerLab 13: Network Load Balancer

Delve into the world of load balancing with Network Load Balancer (NLB). This lab provides hands-on experience in setting up and optimizing network-based load balancing for high availability.

Load-balancerLab 14: Configure a Load Balancer And Autoscaling on EC2 Instances

Optimize your infrastructure’s performance and availability by configuring load balancers and implementing auto-scaling on EC2 instances. This lab equips you with essential skills for managing dynamic workloads.Load balancer & AutoScaling

Lab 15: Create Launch Template For Auto Scaling Group

Streamline the process of launching and scaling EC2 instances with launch templates. This lab guides you through creating templates for efficient and consistent auto-scaling group deployments.

auto_scaling-templateLab 16: Create a Custom Virtual Private Cloud

Build a tailored Virtual Private Cloud (VPC) to isolate and organize your AWS resources. This lab delves into creating custom VPCs, defining subnets, and configuring routing tables for optimal network architecture.

VPCLab 17: Work with VPC Peering Connection

Connect multiple VPCs seamlessly with VPC peering connections. This lab provides hands-on experience in establishing and configuring peering connections for secure and efficient communication.VPC peering

Lab 18: AWS Elastic IP

Explore the benefits of Elastic IP addresses in AWS. This lab guides you through the process of allocating and associating Elastic IPs to EC2 instances, providing static public IP addresses for dynamic cloud environments.elastic-IP-address

Lab 19: Establish a Client Side VPN

Enhance your network security by establishing a client-side VPN connection to AWS. This lab walks you through the setup, configuration, and optimization of VPN connections for secure data transmission.

AWS Client VPN Concept

Lab 20: Get Started with AWS X-Ray

Step into the world of AWS X-Ray, a powerful tool for analyzing and debugging distributed applications. This lab provides hands-on experience in instrumenting applications and gaining insights into performance bottlenecks.

xray-servicemapLab 21: Configure Amazon CloudWatch to Notify Change In EC2 CPU Utilization

Master Amazon CloudWatch for proactive monitoring of your EC2 instances. This lab focuses on setting up notifications based on changes in CPU utilization, ensuring timely responses to performance fluctuations.Cloud watch

Lab 22: Enable CloudTrail and Store Logs In S3

Enhance your AWS security by enabling AWS CloudTrail. This lab guides you through the process of setting up CloudTrail and storing logs in Amazon S3 for comprehensive audit trails and compliance.

Enable CloudTrail and Store Logs In S3Lab 23: Setting Up AWS Config to Assess Audit & Evaluate AWS Resources

Gain control and visibility into your AWS resource configurations with AWS Config. This lab walks you through the setup and utilization of AWS Config for continuous assessment, auditing, and evaluation of your cloud environment.

AWS Config to Assess Audit & Evaluate AWS ResourcesLab 24: Create & Query with Amazon DynamoDB

Dive into Amazon DynamoDB, a fully managed NoSQL database service. This lab provides hands-on experience in creating tables and executing queries, exploring the scalability and flexibility of DynamoDB.

dynamodbLab 25: Configure a MySQL DB Instance via Relational Database Service (RDS)

Navigate through Amazon Relational Database Service (RDS) to configure a MySQL database instance. This lab equips you with the skills to set up, manage, and optimize a relational database in the AWS cloud.

getting-started-mysqlLab 26: Create A Redis Cache and connect It To EC2 Instance

Explore Amazon ElastiCache and its Redis caching capabilities. This lab guides you through the creation of a Redis cache cluster and connecting it to an EC2 instance, enhancing data retrieval performance.

Elasti chacheLab 27: Amazon Athena

Unlock the power of serverless querying with Amazon Athena. This lab introduces you to Athena’s capabilities, allowing you to run ad-hoc SQL queries on data stored in Amazon S3.

Amazon AthenaLab 28: Introduction to AWS Glue

Delve into AWS Glue for data integration and transformation. This lab provides hands-on experience in discovering, cataloging, and transforming data, laying the foundation for efficient data processing.

AWS_ETL_GlueLab 29: Visualize Web Traffic Using Kinesis Data Streams

Enter the realm of real-time data streaming with Amazon Kinesis Data Streams. This lab guides you through the process of visualizing web traffic patterns, showcasing the capabilities of Kinesis for data analytics.

Web Traffic Using Kinesis Data StreamsLab 30: Send An E-mail Through AWS SES

Master Amazon Simple Email Service (SES) to send emails securely and reliably. This lab explores SES’s features, from setting up email sending to configuring templates and handling bounces and complaints for robust email communication.

E-mail Through AWS SESLab 31: Event-Driven Architectures Using AWS Lambda, SES, SNS and SQS

Build dynamic and scalable event-driven architectures with AWS Lambda, Simple Email Service (SES), Simple Notification Service (SNS), and Simple Queue Service (SQS). This lab guides you through creating a seamless communication flow within your AWS environment.

Event-Driven Architectures Using AWS Lambda, SES, SNS and SQSLab 32: Build API Gateway with Lambda Integration

Create a robust API Gateway and integrate it with AWS Lambda for efficient and scalable API management. This lab equips you with the skills to build and manage APIs seamlessly.

build_api_gateway_with_lambda_integrationLab 33: Create and Update Stacks using CloudFormation

Enter the realm of Infrastructure as Code (IaC) with AWS CloudFormation. Learn to create and update stacks to provision and manage AWS resources in a repeatable and automated fashion.

update-stack-changesets-diagramLab 34: Create S3 Bucket Using CloudFormation

Automate S3 bucket creation with AWS CloudFormation, streamlining your infrastructure management and ensuring consistency across deployments.

Create-S3-bucket-with-CRR-using-cloud-formation-v2Lab 35: Create & Configure EC2 with Helper-Scripts

Leverage helper scripts to automate the creation and configuration of EC2 instances. This lab provides hands-on experience in scripting for efficient and reproducible infrastructure deployment.

 

Create & Configure EC2 with Helper-ScriptsLab 36: Deploy An Application In Beanstalk Using Docker

Explore AWS Elastic Beanstalk for simplified application deployment. This lab focuses on deploying applications using Docker containers, providing scalability and ease of management.

dockerhub-to-elasticbeanstalkLab 37: Immutable Deployment on Beanstalk Environment

Implement immutable deployments on Elastic Beanstalk environments for enhanced reliability and consistency. This lab guides you through deploying applications with minimal downtime and risk.
eb-blue-green-success

Lab 38: Blue-Green Deployments Using Elastic Beanstalk

Optimize your deployment strategies with blue-green deployments on Elastic Beanstalk. This lab explores techniques for minimizing downtime and risk during application updates.

AWS-Blue-Green-Deployment-Elastic-BeanstalkLab 39: AWS Serverless Application Model

Enter the world of serverless architecture with the AWS Serverless Application Model (AWS SAM). This lab provides a hands-on introduction to building and deploying serverless applications efficiently.

Serverless Application ModelLab 40: AWS KMS Create & Use

Explore AWS Key Management Service (KMS) for creating and using cryptographic keys to enhance data security. This lab guides you through the process of securing sensitive information with KMS.

KMSLab 41: Block Web Traffic with WAF in AWS

Fortify your web applications with AWS Web Application Firewall (WAF). This lab demonstrates how to block malicious web traffic and protect your applications from common security threats.

Block Web Traffic with WAF in AWSLab 42: Amazon Inspector

Enhance your security posture with Amazon Inspector, an automated security assessment service. This lab guides you through setting up and using Inspector to identify vulnerabilities in your AWS resources.

Amazon InspectorLab 43: Working with AWS CodeCommit

Collaborate effectively on software development projects with AWS CodeCommit. This lab provides hands-on experience in version control, code collaboration, and repository management.

aws code commitLab 44: Build Application with AWS CodeBuild

Automate your build processes with AWS CodeBuild. This lab guides you through setting up build projects, compiling code, and generating artifacts for deployment.

AWS CodeBuildLab 45: Deploy Sample Application using AWS CodeDeploy

Streamline application deployment with AWS CodeDeploy. This lab demonstrates how to automate the deployment process, ensuring consistent and reliable releases.

CodeDeployLab 46: Create a Simple Pipeline (CodePipeline)

Build end-to-end continuous integration and continuous deployment (CI/CD) pipelines with AWS CodePipeline. This lab provides hands-on experience in orchestrating and automating your software delivery process.

Simple Pipeline (CodePipeline)Lab 47: Build Application with AWS CodeStar

Accelerate your development workflow with AWS CodeStar. This lab introduces you to the benefits of CodeStar for simplifying project setup, development, and deployment.

Simple Pipeline (CodePipeline)Lab 48: Create ECR, Install Docker, Create Image, and Push Image To ECR

Dive into containerization with Amazon Elastic Container Registry (ECR). This lab covers the entire container lifecycle, from creating a repository to pushing Docker images to ECR for seamless container management.

ECR, Install Docker, Create Image, and Push Image To ECRLab 49: Create Task Definitions, Scheduling Tasks, Configuring Services and Cluster using EC2 Launch Types

Explore Amazon ECS (Elastic Container Service) by creating task definitions, scheduling tasks, and configuring services and clusters. This lab provides hands-on experience in managing containerized applications using different EC2 launch types.

Create Task DefinitionsLab 50: Create Elastic Kubernetes Service (EKS) Cluster on AWS

Delve into Kubernetes on AWS by creating an Elastic Kubernetes Service (EKS) cluster. This lab guides you through provisioning and managing Kubernetes clusters for container orchestration.

Elastic Kubernetes Service (EKS) Cluster on AWSLab 51: Application Migration to AWS

Learn the intricacies of migrating applications to AWS. This lab covers assessment, planning, and execution strategies to ensure a seamless transition to the cloud.

Application Migration to AWSLab 52: Database Migration To AWS

Explore strategies and tools for migrating databases to AWS. This lab provides practical guidance on minimizing downtime and ensuring data consistency during database migration.

Database Migration To AWSLab 53: AWS Data Transfer Acceleration

Optimize your data transfer speed with AWS Data Transfer Acceleration. This lab introduces you to acceleration techniques for efficient data movement within the AWS infrastructure.

Lab 54: Migrating a Monolithic Application to AWS with Docker

Experience the process of migrating a monolithic application to AWS using Docker containers. This lab covers containerization strategies and best practices for achieving scalability and flexibility in a cloud environment.

monolith_Microservices-app-architecture

Real-time Projects

Project 1: 3-Tier Architecture Deployment (Web, App, Database)

Create a well-architected 3-tier system. The web layer serves as the user interface, the app layer processes business logic, and the database layer stores and manages data. This project ensures a scalable and modular infrastructure, fostering efficient resource utilization.

3-tier architectureProject 2: DevOps: End-to-End CI/CD Pipeline

Establish an end-to-end CI/CD pipeline for your development workflow. This includes automating code builds, running tests, and deploying applications seamlessly. The goal is to enhance collaboration among developers, reduce manual errors, and accelerate the release of high-quality software.

pipeline

Project 3: Blue/Green Deployment with ECS (Serverless)

Implement a blue/green deployment strategy using AWS Elastic Container Service (ECS), a serverless container orchestration service. This project enables you to deploy new versions of your application without downtime, allowing for instant rollback in case of issues.

Bule-greenProject 4: Migration: On-Premise to Cloud (App, Database, Data)

Execute a comprehensive migration from on-premise infrastructure to the AWS cloud. This involves moving applications, databases, and data to the cloud, optimizing for scalability, cost efficiency, and improved reliability.

On-Premise to Cloud (App, Database, Data) Project 5: Migration: Monolithic App to Microservices

Transform a monolithic application into a microservices architecture on AWS. Break down the application into smaller, independent services, each with its own functionality. This project aims to enhance agility, scalability, and ease of maintenance.

Monolithic App to MicroservicesProject 6: Security: SSL/TLS/Keys Certificate Management System

Implement a robust security system, including SSL/TLS protocols for encrypted communication and a key management system for secure key storage and access. This project ensures the confidentiality and integrity of data in transit.
SSL TLS Keys Certificate Management System

Project 7: Host Static Website on AWS using S3 & Route53

Host a static website using Amazon S3 for storage and Amazon Route 53 for domain management. This project includes setting up S3 buckets, configuring static website hosting, and managing domain routing, providing a reliable and scalable solution for static content.

Host Static Website on AWS using S3 & Route53Project 8: Host Dynamic Website on AWS: Apache, MariaDB, PHP

Deploy a dynamic website using a stack comprising an Apache web server, MariaDB database, and PHP scripting. This project involves configuring each component, ensuring seamless communication, and establishing a scalable environment for dynamic web applications.

Host Dynamic Website on AWS Apache MariaDB PHP (1)Project 9: Deploy API Gateway, Application & Database

Build and deploy a comprehensive solution that includes an API Gateway, application layer, and database. This project focuses on designing RESTful APIs, connecting them to backend services, and managing data storage effectively.

Deploy API Gateway, Application & DatabaseProject 10: Deploy React App using Amplify, Lambda & AppConfig

Develop and deploy a React.js application using AWS Amplify for hosting, AWS Lambda for serverless functions, and AppConfig for configuration management. This project showcases modern front-end development practices, serverless architecture, and efficient application configuration in the AWS cloud.

Deploy React App using Amplify, Lambda & AppConfig





SDLC Automation: AWS

Overview 

SDLC domain supports one of the core principles of DevOps of removing the difference between developers and operators with the intent of performing automation as much as possible. The main idea behind Automation is to set up, configuration, deploy, and support infrastructure and the applications that run on it. With the help of automation, you can set up environments more rapidly in a standardized and repeatable manner. The removal of manual processes is key to a successful DevOps strategy. The advantage of automation is critical to realizing the full benefits of the cloud.

SDLC Automation Steps

Benefits of Automation:

  • Rapid changes
  • Improved productivity
  • Repeatable configurations
  • Reproducible environments
  • Leveraged elasticity
  • Leveraged auto-scaling
  • Automated testing

There are many services and concepts that plays important role in SDLC Automation. We are going to discuss a few services and concepts that are important for the AWS Certified DevOps Engineer-Professional Exam.

What is CI/CD?

SDLC Automation revolves around Continuous Integration and Continuous Delivery. It helps in securely store and version application’s source code and automatically build, test, and deploy your application to AWS or your on-premises environment. Continuous Integration(CI) and Continous Deployment(CD) get rid of the traditional manual gate and implement fully automated verification of the acceptance environment to determine the scenario of whether the pipeline can continue to production or not.

SDLC CI/CD pipeline

Benefits of CI/CD:

  • Build Faster
  • Decrease code review time
  • Automatic
  • Faster fault isolation
  • Additional deployment features

Also read: AWS Elastic Beanstalk is an easy-to-use AWS service for deploying and scaling web applications and services.

What is AWS CodeCommit?

AWS CodeCommit is a fully-managed source control service that hosts your secure Git-based repositories. It makes it easy for groups to collaborate on code in a secure and highly scalable ecosystem. CodeCommit eliminates the need to operate your source control system or worry about scaling its infrastructure. CodeCommit securely stores anything from source code to binaries, and it runs seamlessly with your existing Git tools. To know more check our blog on AWS CodeCommit
(SDLC) AWS CodeCommit

Benefits of CodeCommit:

  • Fully managed
  • Able to store anything
  • Highly available
  • Offers faster development lifecycles
  • Works with your existing tools
  • Secure

Also Read: Our blog post on AWS Inspector.

What is AWS CodeBuild?

AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your build servers. CodeBuild scales continuously and processes multiple builds concurrently, so your builds are not left waiting in a queue. You can get started quickly by using prepackaged build environments, or you can create custom build environments that use your own build tools. With CodeBuild, you are charged by the minute for the compute resources you use.

Codebuild

Benefits of CodeBuild:

  • Fully managed build service
  • Continuous scaling
  • Pay as you go
  • Extensible
  • Enables continuous integration and delivery
  • Secure

Check Out: Our blog post on AWS Certified DevOps Engineer.

What is AWS CodeDeploy?

AWS CodeDeploy is a fully managed deployment service that automates software deployments to a variety of computing services such as Amazon EC2, AWS Fargate, AWS Lambda, and your on-premises servers. AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications.

(SDLC) AWS CodeDeploy

Benefits of CodeDeploy:

  • Automated deployments
  • Minimize downtime
  • Centralized control
  • Easy to adopt

What is AWS CodePipeline?

AWS CodePipeline is a fully managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates. CodePipeline automates the build, test, and deploy phases of your release process every time there is a code change, based on the release model you define. This enables you to rapidly and reliably deliver features and updates. With AWS CodePipeline, you only pay for what you use. There are no upfront fees or long-term commitments. To get in-depth knowledge check our blog on Deploy Web App On AWS Using CodePipeline

AWS CodePipline

Benefits of CodePipeline:

  • Rapid delivery
  • Configurable workflow
  • Get started fast
  • Easy to integrate

What is AWS CodeStar?

AWS CodeStar enables you to quickly develop, build, and deploy applications on AWS. AWS CodeStar provides a unified user interface, enabling you to easily manage your software development activities in one place. With AWS CodeStar, you can set up your entire continuous delivery toolchain in minutes, allowing you to start releasing code faster. With the AWS CodeStar project dashboard, you can easily track progress across your entire software development process, from your backlog of work items to teams’ recent code deployments.

There is no additional charge for using AWS CodeStar. You only pay for the AWS resources that you provision for developing and running your application (for example, Amazon EC2 instances).

(SDLC) AWS CodeStar

Benefits of CodeStar:

  • Start developing on AWS in minutes
  • Manage software delivery in one place
  • Work across your team securely
  • Choose from a variety of project templates