EC2 Instance
EC2 instance with IMDSv2, encrypted EBS, instance profile, and EIP - secure defaults out of the box.
Verification
Live-testedReally deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.
Conformance
- Static validation (fmt · validate · tflint)
- Security scan clean (Checkov)
- Plan test superseded by live test
Provenance
- SHA-256 checksum
- Cosign signature
Functional
- Live-tested - applied, verified, destroyed
Last verified 2026-06-19 · how we verify
Verify this download
cosign · sha-256Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.
# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub
# 2. This module's Sigstore bundle
curl -o aws-ec2-instance-1.0.0.sigstore.json \
https://www.iac-bazaar.com/api/artifacts/aws-ec2-instance/signature
# 3. Verify the tarball you downloaded
cosign verify-blob \
--key cosign.pub \
--bundle aws-ec2-instance-1.0.0.sigstore.json \
aws-ec2-instance-1.0.0.tar.gz
# → Verified OK
# 4. (optional) confirm the checksum too
echo "2315b56753cfca63f8e49a19d15b5787e9fa9ac89b1a9733a7d9dd2e6734ef99 aws-ec2-instance-1.0.0.tar.gz" | sha256sum -cUse it from the registry
terraform · opentofumodule "ec2_instance" {
source = "www.iac-bazaar.com/iac-bazaar/aws-ec2-instance/aws"
version = "1.0.0"
}Paid module — needs a purchase (or a subscription that covers it) plus a registry token from /account/tokens. Full setup: registry docs.
Inputs & outputs
Create a free account to read this module's contract
The declared contract — every input name, type, default and description, plus every output — is shown to signed-in accounts, not to anonymous visitors.
A free account sees the contract of every Free module. This one is Basic, so its contract unlocks when you buy it.
Documentation
aws-ec2-instance — EC2 Instance
EC2 instance with IMDSv2, encrypted EBS, instance profile, and EIP — secure
defaults out of the box. IMDSv2 is enforced (http_tokens = required), the
root volume and any data volumes are always encrypted (gp3 by default), and the
module ships an SSM-agent-ready instance profile so you get Session Manager
shell access with zero SSH keys and zero inbound ports. AMI defaults to the
latest Amazon Linux 2023 for your architecture (Graviton arm64 by default).
Works with Terraform and OpenTofu (>= 1.6), AWS provider >= 6.0, < 7.0.
Requirements
- Terraform or OpenTofu
>= 1.6 hashicorp/aws>= 6.0, < 7.0
License
Commercial — IaC Bazaar EULA. © IaC Bazaar. Original work (not derived from a third-party module).
Usage code & full reference unlock after purchase
The complete copy-paste usage, the full input/output reference, and operational notes ship with your licence - shown here and bundled in the download.
- Usage
- Inputs
- Outputs
- Notes
Related modules
EC2 Launch Template + Auto Scaling Group
EC2 launch template and Auto Scaling group with IMDSv2 enforced, encrypted gp3 root volume, an egress-only security group, and scale-to-zero defaults so it applies cleanly with no compute cost.
Civo Compute Stack
Instances with network, firewall, volume, and reserved IP.
Compute Engine VM (Shielded, private)
A hardened Compute Engine VM on Debian 12 with Shielded VM (Secure Boot, vTPM, integrity monitoring), OS Login for IAM-managed SSH, no external IP by default, and deletion protection on.
DigitalOcean Droplet Stack
Hardened droplet(s) with VPC, firewall, volume, reserved IP, and cloud-init bootstrap.
Hetzner Server Fleet
N-server fleet with placement group, firewall, primary IPs, and cloud-init - Hetzner's price/perf with guardrails.
Instance Pool with Autoscaling
Self-healing instance pool from an instance configuration with metric- or schedule-based autoscaling and LB attachment.