thirdmadman / rsschool-devops-course-tasks

GNU General Public License v3.0
1 stars 0 forks source link

Task 2 #3

Closed thirdmadman closed 3 weeks ago

thirdmadman commented 1 month ago

I will update this PR - docs in progress

Evaluation Criteria (95)

  1. Terraform Code Implementation (50 points)

    • [x] Terraform code is created to configure the following:
      • VPC
      • 2 public subnets in different AZs
      • 2 private subnets in different AZs
      • Internet Gateway
      • Routing configuration:
      • Instances in all subnets can reach each other
      • Instances in public subnets can reach addresses outside VPC and vice-versa
      • (You can see screenshots below)
  2. Code Organization (10 points)

    • [x] Variables are defined in a separate variables file.
    • [x] Resources are separated into different files for better organization. All possible to tweak variables are located in task_2/variabels.tf
  3. Verification (10 points)

    • [x] Terraform plan is executed successfully.
    • [x] A resource map screenshot is provided (VPC -> Your VPCs -> your_VPC_name -> Resource map).
  4. Additional Tasks (30 points)

    • [x] Security Groups and Network ACLs (5 points)
      • Implement security groups and network ACLs for the VPC and subnets.
    • [x] Bastion Host (5 points)
      • Create a bastion host for secure access to the private subnets.
    • [x] NAT is implemented for private subnets (10 points)
      • Orginize NAT for private subnets with simpler or cheaper way
      • Instances in private subnets should be able to reach addresses outside VPC
    • [ ] Documentation (0 points) WORK IN PROGRESS
      • Document the infrastructure setup and usage in a README file.
    • [x] Submission (5 points)
    • [x] A GitHub Actions (GHA) pipeline is set up for the Terraform code. Example: https://github.com/thirdmadman/rsschool-devops-course-tasks/actions/runs/11333882612/job/31518947970

I'm trying to use as little money on AWS as possible, due to that fact, all deployments of infrastructure are almost immediately destroyed after its testing, thats why ips on screenshots can differ from ips form GHA terraform apply.

image

image image image