terraform-aws
Original:🇺🇸 English
Translated
1 scriptsChecked / no sensitive code detected
Provision AWS infrastructure with Terraform. Create modules, manage state, and implement IaC best practices. Use when deploying AWS resources declaratively.
21installs
Added on
NPX Install
npx skill4agent add bagelhole/devops-security-agent-skills terraform-awsTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Terraform AWS
Provision and manage AWS infrastructure with Terraform.
Provider Configuration
hcl
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
backend "s3" {
bucket = "terraform-state"
key = "prod/terraform.tfstate"
region = "us-east-1"
}
}
provider "aws" {
region = var.region
default_tags {
tags = {
Environment = var.environment
ManagedBy = "terraform"
}
}
}Example Resources
hcl
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = true
tags = { Name = "main-vpc" }
}
resource "aws_instance" "web" {
ami = data.aws_ami.amazon_linux.id
instance_type = "t3.micro"
subnet_id = aws_subnet.public.id
tags = { Name = "web-server" }
}Modules
hcl
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
name = "my-vpc"
cidr = "10.0.0.0/16"
azs = ["us-east-1a", "us-east-1b"]
private_subnets = ["10.0.1.0/24", "10.0.2.0/24"]
public_subnets = ["10.0.101.0/24", "10.0.102.0/24"]
enable_nat_gateway = true
}Commands
bash
terraform init
terraform plan -out=plan.tfplan
terraform apply plan.tfplan
terraform destroyBest Practices
- Use remote state with locking
- Implement module structure
- Use workspaces or separate states per environment
- Pin provider versions
- Use data sources for AMIs
Related Skills
- aws-vpc - VPC networking
- aws-iam - IAM policies