0% found this document useful (0 votes)
65 views7 pages

14 - Automation Checklist

This document provides an overview and checklist for an automation with Python course. It outlines topics that will be covered, including using the Boto3 SDK to interact with AWS services, writing Python scripts to backup and monitor EC2 instances and EKS clusters, send email notifications, and restart servers and applications. It lists video lessons, demonstration projects, and progress checks for each section. The goal is to teach students how to use Python to automate tasks involving AWS, servers, and website monitoring.

Uploaded by

ketaw53000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views7 pages

14 - Automation Checklist

This document provides an overview and checklist for an automation with Python course. It outlines topics that will be covered, including using the Boto3 SDK to interact with AWS services, writing Python scripts to backup and monitor EC2 instances and EKS clusters, send email notifications, and restart servers and applications. It lists video lessons, demonstration projects, and progress checks for each section. The goal is to teach students how to use Python to automate tasks involving AWS, servers, and website monitoring.

Uploaded by

ketaw53000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Module Checklist

Automation with
Python

By Techworld with Nana


Video Overview
★ Introduction to Boto3 (AWS SDK for Python)
★ Install Boto3 & Connect to AWS
★ Getting familiar with Boto API
★ Python vs. Terraform
★ Project: EC2 Server Status Checks
★ Project: Writing a Scheduled Task
★ Project: Add Tags to EC2 Server Instances
★ Project: Print EKS Cluster Information

Backup & Restore:

★ Project: Data Backup - Backup EC2 Volumes


★ Project: Cleanup - Delete old EC2 Volume Snapshots
★ Project: Restore EC2 Volume from a Backup

★ Handling Errors

Website Monitoring and Recovery

★ Project: Website Monitoring


★ Project: Send Email Notification
★ Project: Restart Application & Server

Demo Projects

Git Project https://gitlab.com/nanuchi/python-automation


Check your progress... 1/5

Introduction to Boto3 (AWS SDK for Python)

❏ Watched video

Install Boto3 & Connect to AWS


❏ Watched video
❏ Demo executed

Useful Links:

● boto3: https://pypi.org/project/boto3/
● Boto3 documentation:
https://boto3.amazonaws.com/v1/documentation/api/latest/index.html

Getting familiar with Boto API


❏ Watched video
❏ Python Script written
❏ Listed VPCs
❏ Created VPC and Subnets

Python vs. Terraform


❏ Watched video
Check your progress... 2/5

Project: EC2 Server Status Checks

❏ Watched video
❏ Python Script written
❏ Preparation: Created 3 EC2 Instances with Terraform

Reference: https://gitlab.com/nanuchi/terraform-learn/-/tree/feature/deploy-to-ec2

❏ Print EC2 Instance State of all EC2 Instances


❏ Print Status Check of all EC2 Instances

Project: Scheduling the Status Checks

❏ Watched video
❏ Python Script written

Project: Add Environment Tags to EC2 Servers

❏ Watched video
❏ Python Script written
❏ Get all EC2 instances from a region
❏ Add the right tags to the EC2 instances
Check your progress... 3/5

Project: EKS Cluster Information

❏ Watched video
❏ Python Script written
❏ Preparation: Create EKS cluster with Terraform

Reference: https://gitlab.com/nanuchi/terraform-learn/-/tree/feature/eks

❏ Get all EKS clusters


❏ Print cluster information: status, endpoint and K8s version

Project: Data Backup for EC2 Instances

❏ Watched video
❏ Python Script written
❏ Preparation: Create 2 EC2 Servers with Environment Tags
❏ Get Volume Ids
❏ Create Snapshots from those Volumes
❏ Write Scheduled Task for this Backup task
❏ Create Snapshots only for Production Servers

Project: Cleanup EC2 Snapshots

❏ Watched video
❏ Python Script written
❏ Preparation: Create 2 EC2 Servers with Environment Tags
❏ Get all EC2 Snapshots
❏ Delete all Snapshots, except the latest 2 created
❏ Write Scheduled Task for this Cleanup task
❏ Delete all Snapshots, except the latest 2 - for each Volume
Check your progress... 4/5

Project: Restore EC2 Instance Data

❏ Watched video
❏ Python Script written
❏ Preparation: Create 2 EC2 Servers with Environment Tags
❏ Create a new Volume from a Snapshot
❏ Attach newly created Volume to EC2 Instance

Note: Handling Errors

❏ Watched video

Project: Website Monitoring - Part 1

❏ Watched video
❏ Python Scripts written
❏ Preparation:
❏ Create Server on Linode
❏ Install Docker
❏ Run nginx container
❏ Validate Requests to nginx website

Useful Links:

● Python Library used to send requests: https://pypi.org/project/requests/


● HTTP Response Codes:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Check your progress... 5/5

Project: Website Monitoring - Part 2

❏ Watched video
❏ Python Scripts written
❏ Send email when Website is down (not HTTP Status 200 - OK)
❏ Write Python code
❏ Configuration for your email provider (e.g. Gmail)
❏ Configure Environment Variables for Credentials)
❏ Send email when connection error (exception) occurs

Useful Links:

● SMTP built-in module used to send emails:


https://docs.python.org/3/library/smtplib.html
● Less Secure Apps Configuration: https://myaccount.google.com/lesssecureapps
● Google App Passwords Configuration (when Two-Step Verification):
https://myaccount.google.com/apppasswords
● Built-In module OS: https://docs.python.org/3/library/os.html

Project: Website Monitoring - Part 3

❏ Watched video
❏ Python Scripts written
❏ Connect to server via ssh
❏ Restart Docker container
❏ Reboot server
❏ Create Access Token in Linode
❏ Connect to Linode via Linode API4 module
❏ Reboot the server and restart the container
❏ Write a scheduled task for this website monitoring program

Useful Links:

● External module for SSH Connection: https://pypi.org/project/paramiko/


● Linode API: https://pypi.org/project/linode-api4/
● Built-In module “time”: https://docs.python.org/3/library/time.html

You might also like