Lesson plan

Lesson Plan: AWS and DNS

Objective: Students will learn how to use Amazon Web Services (AWS) to set up a domain name system (DNS) and configure DNS records.

Materials:

AWS account Access to the AWS Management Console Basic understanding of DNS Prerequisites:

Basic knowledge of networking and DNS Familiarity with AWS Management Console Lesson Plan:

Introduction to AWS and DNS (10 minutes)

  • Brief overview of AWS and its services
  • Explanation of DNS and its importance in web applications

Setting up a DNS Zone (15 minutes)

  • Log in to the AWS Management Console
  • Navigate to Route 53 service
  • Click "Create Hosted Zone"
  • Enter a domain name and click "Create"
  • Review the hosted zone details and take note of the nameservers
  • Configuring DNS Records (25 minutes)
  • Navigate to the hosted zone created in step 2
  • Click "Create Record Set"
  • Enter the record name, type, and value
  • Click "Create"
  • Repeat for additional records
  • Test the records using a DNS lookup tool

Code Snippets (30 minutes)

  • Provide students with code snippets for automating DNS record creation in AWS using the AWS SDK
  • Guide students through setting up and configuring the SDK on their local machines
  • Demonstrate how to use the SDK to create and modify DNS records Conclusion (10 minutes)
  • Recap the importance of DNS in web applications
  • Discuss the benefits of automating DNS record creation in AWS
  • Encourage students to explore other AWS services and incorporate DNS in their future projects

Code Snippet: Here is an example of creating a DNS record in AWS Route 53 using the AWS SDK for Python:

import boto3

# Create a Route 53 client
client = boto3.client('route53')

# Define the hosted zone ID
hosted_zone_id = 'YOUR_HOSTED_ZONE_ID'

# Define the new record set
record_set = {
    'Name': 'example.com',
    'Type': 'A',
    'TTL': 300,
    'ResourceRecords': [
        {
            'Value': '192.0.2.1'
        }
    ]
}

# Create the record set
response = client.change_resource_record_sets(
    HostedZoneId=hosted_zone_id,
    ChangeBatch={
        'Changes': [
            {
                'Action': 'CREATE',
                'ResourceRecordSet': record_set
            }
        ]
    }
)

# Print the response
print(response)

Plan For The Hacks.

  • For the hacks, it will be very simple...
  • The student will just be creating an AWS account and taking a screen shot of that.
  • Inside of the AWS, they will be configuring a record and using Postman to test the table.

Grading

I will just be grading this on completion but if you go beyond and create a routing method for the DNS, I will award extra points.