Terraform can provision an AWS EC2 instance and set up a Python virtual environment in a single, reproducible run — the whole workflow is declarative and version‑controlled.

How do I store the Terraform state securely?

Can I use a different Linux distribution for the EC2 instance?

Is it possible to attach an Elastic IP to the instance?

A Terraform configuration file describes the desired state of AWS resources; applying it makes the real cloud match that state.