terraform-data-engineering-iac

Provision AWS S3, EC2, and IAM resources for data pipelines using Terraform.

5|1|Updated May 16, 2026
One-click install
npx skills add https://github.com/reason-machines/data-skills --skill terraform-data-engineering-iac-reason-machines
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: terraform-data-engineering-iac
Source: https://github.com/reason-machines/data-skills/tree/main/skills/terraform-data-engineering-iac
Command: npx skills add https://github.com/reason-machines/data-skills --skill terraform-data-engineering-iac-reason-machines

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Manually creating and configuring AWS infrastructure for data pipelines is error-prone, hard to reproduce, and difficult to track. This Skill provides Infrastructure-as-Code patterns with Terraform so data engineering environments can be provisioned, versioned, and torn down consistently. ## Core Features & Use Cases - AWS Resource Provisioning: Create S3 buckets with versioning and lifecycle rules, EC2 instances for data processing, and IAM roles with least-privilege access policies. - State & Environment Management: Use Terraform state commands, workspaces, variable files, and remote S3 backends with DynamoDB locking for multi-environment setups. - Troubleshooting Guidance: Resolve common issues like state locks, credential errors, and resource conflicts with concrete CLI commands. - Use Case: A data engineer needs a reproducible dev environment with a data lake bucket and a processing server. They run terraform plan and apply with the provided HCL configurations, then verify resources with AWS CLI commands. ## Quick Start Ask the AI to generate a Terraform configuration that provisions an S3 data lake bucket and an EC2 instance for data processing in us-east-1.

Frequently Asked Questions about terraform-data-engineering-iac

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I provision AWS resources for data pipelines with Terraform?▼

Define S3 buckets, EC2 instances, and IAM roles in HCL files, then run terraform init, plan, and apply. The configuration uses the hashicorp/aws provider and supports variables for region, environment, and instance type.

How to set up remote Terraform state with S3 backend?▼

Configure a backend block pointing to an S3 bucket with encryption enabled and a DynamoDB table for state locking. This prevents concurrent modification conflicts and keeps state files versioned and centralized for teams.

What IAM permissions does Terraform need for AWS data infrastructure?▼

The IAM user needs AmazonS3FullAccess, AmazonEC2FullAccess, and IAMFullAccess managed policies. For production environments, replace these with fine-grained policies scoped to only the required resources and actions.

Why does Terraform fail with a state lock error?▼

State locks occur when a previous apply was interrupted or another process holds the lock. Verify no operation is running, then use terraform force-unlock with the lock ID to release it manually.

Can I manage multiple environments with one Terraform configuration?▼

Yes, use Terraform workspaces or separate variable files per environment, such as dev.tfvars and prod.tfvars. Apply with terraform apply -var-file to target each environment while sharing the same configuration code.