Skip to content

andreswebs/terraform-aws-ec2-instance-linux

Repository files navigation

terraform-aws-ec2-instance-linux

A standalone Ubuntu (latest) EC2 instance.

Usage

Example:

module "ec2_base" {
  source         = "github.com/andreswebs/terraform-aws-ec2-base"
  vpc_id         = var.vpc_id
  cidr_whitelist = var.cidr_whitelist
  name           = "k3s"

  allow_web_traffic = true

  extra_whitelisted_ingress_rules = [
    {
      from_port = "6443"
      to_port   = "6443"
    }
  ]

}

module "ec2_instance" {
  source                 = "github.com/andreswebs/terraform-aws-ec2-instance-linux"
  subnet_id              = var.subnet_id
  vpc_security_group_ids = [module.ec2_base.security_group.id]
  ssh_key_name           = module.ec2_base.key_pair.key_name
  iam_profile_name       = module.ec2_base.instance_profile.name
  name                   = "k3s"
}

Inputs

Name Description Type Default Required
ami_id n/a string null no
app_gid n/a number 2000 no
app_home_dir n/a string null no
app_is_sudoer n/a bool false no
app_uid n/a number 2000 no
app_username n/a string null no
associate_public_ip_address n/a bool false no
enclave_enabled n/a bool false no
extra_volumes n/a
list(object({
device_name = string
name = optional(string, null)
encrypted = optional(bool, true)
snapshot_id = optional(string, null)
final_snapshot = optional(bool, false)
type = optional(string, "gp3")
size = optional(number, 50)
tags = optional(map(string), {})
uid = optional(number, null)
gid = optional(number, null)
mount_path = optional(string, null)
}))
[] no
iam_profile_name n/a string n/a yes
instance_termination_disable n/a bool false no
instance_type n/a string "m7a.xlarge" no
kms_key_id n/a string null no
name n/a string n/a yes
root_volume_delete n/a bool true no
root_volume_encrypted n/a bool true no
root_volume_size n/a number 0 no
root_volume_type n/a string "gp3" no
ssh_key_name n/a string null no
subnet_id n/a string n/a yes
tags n/a map(string) {} no
user_data n/a string null no
user_data_replace_on_change n/a bool false no
vpc_security_group_ids n/a list(string) [] no

Modules

Name Source Version
ubuntu_24_04_latest andreswebs/ami-ubuntu/aws 3.0.0

Outputs

Name Description
id n/a
private_ip n/a
public_ip n/a

Providers

Name Version
aws ~> 5.0
cloudinit ~> 2.3

Requirements

Name Version
terraform ~> 1.5
aws ~> 5.0
cloudinit ~> 2.3

Resources

Name Type
aws_ebs_volume.this resource
aws_eip.this resource
aws_instance.this resource
aws_volume_attachment.this resource
aws_instance.this data source
aws_subnet.this data source
cloudinit_config.this data source

Authors

Andre Silva - @andreswebs

License

This project is licensed under the Unlicense.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages