Skip to main content
Customer-facing inputs for the ECS Terraform module. Internal/debug and Runlayer-fleet-only variables are omitted. Examples and defaults are placeholders — do not paste real API keys, customer names, or account-specific identifiers. See the ECS + Terraform guide for deploy steps and examples. For corporate egress filters / SWG allowlists, see Self-Hosted Egress Requirements.

Requirements

Providers must be passed into the module: aws and aws.route53. AWS provider 6.64.0 adds the alarm warm-up used by ToolGuard registration monitoring. When upgrading this module, upgrade any older AWS provider selection in your dependency lock file before planning.
Some optional list validations use forms like var.x == null || length(var.x) > 0. Terraform before 1.12 does not short-circuit boolean ||, so leaving the variable unset/null can fail at plan with length(null). Prefer Terraform >= 1.12 or OpenTofu >= 1.11 (the module minimum). Omitting an argument whose default is null does not avoid this issue on older Terraform versions.

Naming constraints

This module exposes 291 inputs (5 required). Deprecated no-op inputs, kept only so existing callers still plan, are not listed.

Core

Auth & catalog

VPC & networking

ALB, DNS & WAF

Database

Redis / ElastiCache

ECS services & scaling

Monitoring & alerts

OpenTelemetry

LLM gateway & Bedrock

Agents, ToolGuard & topic CPU

Runlayer Deploy

Sentry Relay

OAuth broker

Audit, sessions & hook events

Secrets & misc features