29394a8d2fb2589c2f576e5f42905f38b8b5f3b5
- Add clear project description and prerequisites - Include project structure and quick start guide - Document features, configuration, and outputs - Add cleanup instructions and operational notes - Fix typos and formatting Co-Authored-By: Claude Haiku 4.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01FXWthfA87zaqDnP1N8DU7M
Terraform AWS EC2 Deployment
A Terraform project that automates the deployment of EC2 instances on AWS with custom initialization scripts. This showcases Infrastructure as Code best practices using Terraform to provision and configure cloud resources.
Prerequisites
- Terraform >= 1.0 (download from terraform.io)
- AWS Account with appropriate IAM permissions
- AWS CLI configured with valid credentials
- Basic understanding of Terraform and AWS EC2
Project Structure
.
├── README.md
├── main.tf # Primary Terraform configuration
├── variables.tf # Variable definitions
├── outputs.tf # Output values
└── terraform.tfvars # Variable values (create this file)
Quick Start
-
Clone or navigate to the project directory
cd teraform_aws -
Initialize Terraform
terraform init -
Create terraform.tfvars with your configuration:
aws_region = "us-east-1" instance_type = "t2.micro" # Add other variables as needed -
Plan the deployment
terraform plan -
Apply the configuration
terraform apply -
Retrieve outputs
terraform output
Features
- Automated EC2 instance provisioning
- Custom initialization scripts (user data) for post-launch configuration
- Configurable instance types and regions
- Security group management
- Infrastructure state management with Terraform
Configuration
Edit terraform.tfvars to customize:
- AWS region
- Instance type
- Number of instances
- Custom initialization commands
- Security group rules
Outputs
After successful deployment, Terraform will output:
- EC2 instance IDs
- Public/Private IP addresses
- Security group information
Cleanup
To destroy all resources:
terraform destroy
Notes
- Ensure your AWS credentials are properly configured before running Terraform
- Review the plan output before applying changes
- Some resources may incur AWS charges
- Use appropriate AMI IDs for your chosen region
Languages
HCL
100%