mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-28 17:02:05 +03:00
@@ -1,10 +1,10 @@
|
||||
resource "aws_ecs_task_definition" "demo" {
|
||||
family = "demo"
|
||||
family = "demo"
|
||||
execution_role_arn = aws_iam_role.ecs-task-execution-role.arn
|
||||
task_role_arn = aws_iam_role.ecs-demo-task-role.arn
|
||||
cpu = 256
|
||||
memory = 512
|
||||
network_mode = "awsvpc"
|
||||
task_role_arn = aws_iam_role.ecs-demo-task-role.arn
|
||||
cpu = 256
|
||||
memory = 512
|
||||
network_mode = "awsvpc"
|
||||
requires_compatibilities = [
|
||||
"FARGATE"
|
||||
]
|
||||
@@ -39,42 +39,60 @@ DEFINITION
|
||||
}
|
||||
|
||||
resource "aws_ecs_service" "demo" {
|
||||
name = "demo"
|
||||
cluster = aws_ecs_cluster.demo.id
|
||||
desired_count = 1
|
||||
name = "demo"
|
||||
cluster = aws_ecs_cluster.demo.id
|
||||
desired_count = 1
|
||||
task_definition = aws_ecs_task_definition.demo.arn
|
||||
launch_type = "FARGATE"
|
||||
launch_type = "FARGATE"
|
||||
depends_on = [aws_lb_listener.demo]
|
||||
|
||||
deployment_controller {
|
||||
type = "CODE_DEPLOY"
|
||||
}
|
||||
|
||||
network_configuration {
|
||||
subnets = slice(module.vpc.public_subnets, 1, 2)
|
||||
security_groups = [aws_security_group.ecs-demo.id]
|
||||
subnets = slice(module.vpc.public_subnets, 1, 2)
|
||||
security_groups = [aws_security_group.ecs-demo.id]
|
||||
assign_public_ip = true
|
||||
}
|
||||
|
||||
load_balancer {
|
||||
target_group_arn = aws_lb_target_group.demo.id
|
||||
container_name = "demo"
|
||||
container_port = "3000"
|
||||
target_group_arn = aws_lb_target_group.demo-blue.id
|
||||
container_name = "demo"
|
||||
container_port = "3000"
|
||||
}
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
task_definition
|
||||
task_definition,
|
||||
load_balancer
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# security group
|
||||
resource "aws_security_group" "ecs-demo" {
|
||||
name = "ECS demo"
|
||||
vpc_id = module.vpc.vpc_id
|
||||
name = "ECS demo"
|
||||
vpc_id = module.vpc.vpc_id
|
||||
description = "ECS demo"
|
||||
|
||||
ingress {
|
||||
from_port = 3000
|
||||
to_port = 3000
|
||||
protocol = "tcp"
|
||||
cidr_blocks = ["0.0.0.0/0"]
|
||||
}
|
||||
|
||||
egress {
|
||||
from_port = 0
|
||||
to_port = 0
|
||||
protocol = "-1"
|
||||
to_port = 0
|
||||
protocol = "-1"
|
||||
cidr_blocks = [
|
||||
"0.0.0.0/0"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# logs
|
||||
resource "aws_cloudwatch_log_group" "demo" {
|
||||
name = "demo"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user