AWS 100 Labs
Task 1: AWS Core Services
Title: Explore and Implement AWS Core Services
Goal: Gain a foundational understanding of AWS core services, including EC2, S3, and VPC.
Description: Set up an AWS account and familiarize yourself with the AWS Management Console. Launch an EC2 instance, create an S3 bucket for storage, and set up a basic VPC.
Acceptance Criteria: Successfully navigate the AWS Management Console.
- EC2 instance is launched and accessible.
- S3 bucket is created and configured for basic file storage.
- VPC is set up with default settings and documented.
Task 2: Infrastructure as Code with AWS CloudFormation
Title: Deploy Infrastructure Using AWS CloudFormation
Goal: Learn to define and deploy infrastructure as code on AWS using CloudFormation.
Description: Write a CloudFormation template to deploy a simple web application stack, including EC2, Auto Scaling, and Elastic Load Balancer.
Acceptance Criteria: CloudFormation template is written in YAML or JSON and stored in a version-controlled repository. Stack deployment is automated and repeatable using CloudFormation. Web application is accessible through the Elastic Load Balancer URL.
Task 3: AWS Identity and Access Management (IAM)
Title: Configure IAM for Secure Access Management
Goal: Understand and implement secure access management using IAM.
Description: Create IAM users, groups, and roles with specific policies to manage access to AWS resources.
Acceptance Criteria: At least two IAM users and groups are created with appropriate permissions. IAM roles are utilized for EC2 instances to access other AWS services securely. Policies are documented and reviewed to ensure the principle of least privilege.
Task 4: AWS Networking and Security
Title: Design and Implement a Secure AWS Networking Solution
Goal: Develop skills in designing, implementing, and managing secure and scalable AWS networking solutions.
Description: Set up a more complex VPC with public and private subnets, NAT Gateway, and Route Tables. Implement Security Groups and Network ACLs for granular access control.
Acceptance Criteria: VPC is configured with public and private subnets, NAT Gateway, and correct routing. Security Groups and Network ACLs are implemented with documented rules. Network connectivity is tested without compromising security.
Task 5: AWS DevOps and CI/CD
Title: Implement CI/CD Pipelines Using AWS CodePipeline and CodeBuild
Goal: Gain hands-on experience with AWS DevOps tools to automate the build and deployment process.
Description: Create a CI/CD pipeline using AWS CodePipeline, integrating with CodeBuild and CodeDeploy to automate the deployment of a web application.
Acceptance Criteria: AWS CodePipeline is set up and integrated with a source control repository (e.g., GitHub). CodeBuild successfully compiles and tests the application code. CodeDeploy automates the deployment to EC2 instances or Elastic Beanstalk. The deployment process is documented, and the application is accessible post-deployment.
Task 6: AWS Monitoring and Optimization
Title: Implement Monitoring and Optimization with Amazon CloudWatch and AWS Trusted Advisor
Goal: Learn to implement and configure monitoring and optimization features in AWS.
Description: Configure Amazon CloudWatch for monitoring the web application's performance and setting up alarms. Use AWS Trusted Advisor to analyze and optimize the AWS environment for cost, performance, security, and fault tolerance.
Acceptance Criteria: CloudWatch is configured with custom metrics and alarms for the web application. Key performance metrics are identified, monitored, and documented. Trusted Advisor recommendations are reviewed, implemented where appropriate, and documented.