Files
terraform-course/module-demo/ecs.tf
T
2020-12-02 21:24:40 +01:00

54 lines
1.8 KiB
Terraform

data "aws_caller_identity" "current" {
}
module "my-ecs" {
source = "github.com/in4it/terraform-modules//modules/ecs-cluster"
vpc_id = module.vpc.vpc_id
cluster_name = "my-ecs"
instance_type = "t2.small"
ssh_key_name = aws_key_pair.mykeypair.key_name
vpc_subnets = join(",", module.vpc.public_subnets)
enable_ssh = true
ssh_sg = aws_security_group.allow-ssh.id
log_group = "my-log-group"
aws_account_id = data.aws_caller_identity.current.account_id
aws_region = var.AWS_REGION
}
module "my-service" {
source = "github.com/in4it/terraform-modules//modules/ecs-service"
vpc_id = module.vpc.vpc_id
application_name = "my-service"
application_port = "80"
application_version = "latest"
cluster_arn = module.my-ecs.cluster_arn
service_role_arn = module.my-ecs.service_role_arn
aws_region = var.AWS_REGION
healthcheck_matcher = "200"
cpu_reservation = "256"
memory_reservation = "128"
log_group = "my-log-group"
desired_count = 2
alb_arn = module.my-alb.lb_arn
}
module "my-alb" {
source = "github.com/in4it/terraform-modules//modules/alb"
vpc_id = module.vpc.vpc_id
lb_name = "my-alb"
vpc_subnets = module.vpc.public_subnets
default_target_arn = module.my-service.target_group_arn
domain = "*.ecs.newtech.academy"
internal = false
ecs_sg = [module.my-ecs.cluster_sg]
}
module "my-alb-rule" {
source = "github.com/in4it/terraform-modules//modules/alb-rule"
listener_arn = module.my-alb.http_listener_arn
priority = 100
target_group_arn = module.my-service.target_group_arn
condition_field = "host-header"
condition_values = ["subdomain.ecs.newtech.academy"]
}