mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-22 21:02:07 +03:00
50 lines
2.0 KiB
Terraform
50 lines
2.0 KiB
Terraform
data "aws_caller_identity" "current" {}
|
|
|
|
module "my-ecs" {
|
|
source = "github.com/in4it/terraform-modules//modules/ecs-cluster?ref=v1.0.0"
|
|
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?ref=v1.0.0"
|
|
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.alb_arn}"
|
|
}
|
|
module "my-alb" {
|
|
source = "github.com/in4it/terraform-modules//modules/alb?ref=v1.0.0"
|
|
VPC_ID = "${module.vpc.vpc_id}"
|
|
ALB_NAME = "my-alb"
|
|
VPC_SUBNETS = "${join(",", 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?ref=v1.0.0"
|
|
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"]
|
|
}
|