{"id":19024866,"url":"https://github.com/thyagomota/aws-labs","last_synced_at":"2025-06-24T06:35:15.901Z","repository":{"id":39492894,"uuid":"270847677","full_name":"thyagomota/aws-labs","owner":"thyagomota","description":"A collection of hands-on labs to help learning the fundamentals of AWS cloud computing services.","archived":false,"fork":false,"pushed_at":"2022-12-27T10:59:33.000Z","size":19942,"stargazers_count":242,"open_issues_count":1,"forks_count":146,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-19T17:14:22.226Z","etag":null,"topics":["aws","labs"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thyagomota.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-08T22:44:04.000Z","updated_at":"2025-05-18T06:31:02.000Z","dependencies_parsed_at":"2023-01-31T03:16:04.391Z","dependency_job_id":null,"html_url":"https://github.com/thyagomota/aws-labs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thyagomota/aws-labs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thyagomota%2Faws-labs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thyagomota%2Faws-labs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thyagomota%2Faws-labs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thyagomota%2Faws-labs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thyagomota","download_url":"https://codeload.github.com/thyagomota/aws-labs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thyagomota%2Faws-labs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261621768,"owners_count":23185791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","labs"],"created_at":"2024-11-08T20:39:15.627Z","updated_at":"2025-06-24T06:35:15.854Z","avatar_url":"https://github.com/thyagomota.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aws-labs\nA collection of hands-on labs to help learning the fundamentals of AWS cloud computing services. Each lab has:\n\n* a title,\n* a difficulty level (1-3),\n* a goal,\n* an architecture diagram,\n* a step-by-step guide, describing how to run the lab, with textual and visual information,\n* links to AWS documentation or other relevant information,\n* procedures to test and validate the lab, and\n* optional challenges.\n\nSupporting files such as scripts, policy documents, and CloudFormation templates are provided when relevant to completing the lab.\n\nI hope you enjoy these labs. Suggestions and contributions are welcomed. Thanks!\n\n## Index\n\n[Lab-001 - A Single EC2 Instance](lab-001)\n\nThe goal of this lab is to launch a single EC2 instance in a public subnet accessible over the Internet via SSH.\n\n[Lab-002 - A Single EC2 Instance in a Private Subnet + Bastion Host](lab-002)\n\nThe goal of this lab is to demonstrate how to access an EC2 instance launched in a private subnet using a bastion host.\n\n[Lab-003 - A Single EC2 Instance in a Private Subnet + Bastion Host + NAT Gateway](lab-003)\n\nThis lab illustrates how an EC2 instance running in a *private* subnet can be configured to access the internet with the help of a service called [Nat gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).\n\n[Lab-004 - A Single EC2 Instance in a Private Subnet + Bastion Host + Nat Instance](lab-004)\n\nThis lab is similar to [lab-003](lab-003) but instead of using a *Nat gateway* you are asked to use a [Nat instance](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html).\n\n[Lab-005 - An HTTP Load Balancer](lab-005)\n\nThe goal of this lab is to illustrate how to use an [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html) to distribute requests over two web servers running on distinct Availability Zones.\n\n[Lab-006 - A Simple EC2 Auto Scaling](lab-006)\n\nThis goal of this lab is to illustrate how to setup a simple EC2 auto scaling service. You will create an auto scaling group with initially only one EC2 instance running. A rule will be setup to automatically launch a second EC2 instance when the CPU usage of the first instance reaches 75%.\n\n[Lab-007 - A Simple EC2 Auto Scaling + Load Balancing](lab-007)\n\nThis lab is a continuation of [lab-006](lab-006) with a Load Balancer added.\n\n[Lab-008 - Secure EC2 Auto Scaling + Load Balancing](lab-008)\n\nThis is lab is similar to [lab-007](lab-007) with a caveat: the auto scaling group is configured to create the EC2 instances in the private subnet. Also, two security groups control traffic in and out of the application load balancer and the EC2 instances (in the private subnets). To enable the EC2 instances to respond to requests coming from the internet, NAT gateways were configured on the public subnets of the VPC.\n\n[Lab-009 - A Standalone RDS Instance Running MySQL](lab-009)\n\nThis lab illustrates how to launch a standalone RDS instance running a MySQL database. An EC2 instance will also be launched to allow access to the database using phpMyAdmin.\n\n[Lab-010 - An RDS Instance with a Standby](lab-010)\n\nThis lab is similar to [lab-009](lab-009) with the addition of a standby RDS instance in another AZ to simulate a failover scenario.\n\n[Lab-011 - An RDS Instance with a Read Replica](lab-011)\n\nThis lab is similar to [lab-009](lab-009) with the addition of a *read replica* RDS instance, a read-only copy of the database.\n\n[Lab-012 - A Simple Dynamodb Service](lab-012)\nThis lab illustrates how to create and remotely access a dynamodb table.  Dynamodb is a NoSQL managed database service.   \n\n[Lab-013 - An S3 Bucket Accessed via AWS CLI](lab-013)\n\nThe goal of this lab is to illustrate how to create an S3 bucket and access it from a client computer via AWS CLI (command-line interface).\n\n[Lab-014 - An S3 Bucket Accessed via an S3 Gateway Endpoint](lab-014)\n\nThe goal of this lab is to illustrate how to access an S3 bucket from an EC2 instance in a private subnet using an S3 gateway endpoint.\n\n[Lab-015 - An S3 Bucket Accessed via AWS CLI + Resource-based Policy](lab-015)\n\nThis lab is similar to [lab-013](../lab-013). However, we will be creating a resource-based policy to only allow access to the bucket if requests are sent from a specific IP address.  \n\n[Lab-016 - Moving an EBS Volume Between EC2 Instances](lab-016)\n\nThe goal of this lab is to illustrate how to move an EBS volume from one EC2 instance to another.\n\n[Lab-017 - Snapshot an EBS Volume](lab-017)\n\nThis lab's goal is similar to [lab-016](lab-016) but because we want to move a volume from one AZ to another we will have to first create a snapshot of the volume and then create a new volume from the snapshot.\n\n[Lab-018 - Creating and Sharing an NFS File System via EFS](lab-018)\n\nThe goal of this lab is to illustrate how to create and share an NFS file system using AWS [EFS](https://aws.amazon.com/efs/) service.\n\n[Lab-019 - Connecting to an EC2 Instance via Systems Manager](lab-019)\n\nThis lab illustrates how to connect to an EC2 instance via [Systems Manager](https://aws.amazon.com/systems-manager/), a service that offers a central place to view and manage AWS resources.\n\n[Lab-20 - Running an Amazon ECS Sample App](lab-020)\n\nThis lab illustrates how to launch a web server using Amazon ECS's [Fargate service](https://aws.amazon.com/fargate/).\n\n[Lab-21 - VPC Peering](lab-021)\n\nThe goal of this lab is to illustrate a VPC peering connection, a way to connect two VPCs using a private connection.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthyagomota%2Faws-labs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthyagomota%2Faws-labs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthyagomota%2Faws-labs/lists"}