Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32133807
D15517.1765026658.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
17 KB
Referenced Files
None
Subscribers
None
D15517.1765026658.diff
View Options
diff --git a/services/terraform/remote/alarms_backup.tf b/services/terraform/remote/alarms_backup.tf
--- a/services/terraform/remote/alarms_backup.tf
+++ b/services/terraform/remote/alarms_backup.tf
@@ -59,7 +59,7 @@
alarm_description = "Alarm when Backup service memory utilization exceeds 90%"
dimensions = {
ClusterName = aws_ecs_cluster.comm_services.name
- ServiceName = local.is_staging ? aws_ecs_service.backup_service_fargate[0].name : aws_ecs_service.backup_service.name
+ ServiceName = local.is_staging ? aws_ecs_service.backup_service_fargate.name : aws_ecs_service.backup_service.name
}
alarm_actions = [aws_sns_topic.backup_error_topic.arn]
}
@@ -76,7 +76,7 @@
alarm_description = "Alarm when Backup service CPU utilization exceeds 90%"
dimensions = {
ClusterName = aws_ecs_cluster.comm_services.name
- ServiceName = local.is_staging ? aws_ecs_service.backup_service_fargate[0].name : aws_ecs_service.backup_service.name
+ ServiceName = local.is_staging ? aws_ecs_service.backup_service_fargate.name : aws_ecs_service.backup_service.name
}
alarm_actions = [aws_sns_topic.backup_error_topic.arn]
}
diff --git a/services/terraform/remote/alarms_blob.tf b/services/terraform/remote/alarms_blob.tf
--- a/services/terraform/remote/alarms_blob.tf
+++ b/services/terraform/remote/alarms_blob.tf
@@ -59,7 +59,7 @@
alarm_description = "Alarm when Blob service memory utilization exceeds 90%"
dimensions = {
ClusterName = aws_ecs_cluster.comm_services.name
- ServiceName = local.is_staging ? aws_ecs_service.blob_service_fargate[0].name : aws_ecs_service.blob_service.name
+ ServiceName = local.is_staging ? aws_ecs_service.blob_service_fargate.name : aws_ecs_service.blob_service.name
}
alarm_actions = [aws_sns_topic.blob_error_topic.arn]
}
@@ -76,7 +76,7 @@
alarm_description = "Alarm when Blob service CPU utilization exceeds 90%"
dimensions = {
ClusterName = aws_ecs_cluster.comm_services.name
- ServiceName = local.is_staging ? aws_ecs_service.blob_service_fargate[0].name : aws_ecs_service.blob_service.name
+ ServiceName = local.is_staging ? aws_ecs_service.blob_service_fargate.name : aws_ecs_service.blob_service.name
}
alarm_actions = [aws_sns_topic.blob_error_topic.arn]
}
diff --git a/services/terraform/remote/alarms_tunnelbroker.tf b/services/terraform/remote/alarms_tunnelbroker.tf
--- a/services/terraform/remote/alarms_tunnelbroker.tf
+++ b/services/terraform/remote/alarms_tunnelbroker.tf
@@ -65,7 +65,7 @@
namespace = "AWS/ECS"
dimensions = {
ClusterName = aws_ecs_cluster.comm_services.name
- ServiceName = local.is_staging ? aws_ecs_service.tunnelbroker_fargate[0].name : aws_ecs_service.tunnelbroker.name
+ ServiceName = local.is_staging ? aws_ecs_service.tunnelbroker_fargate.name : aws_ecs_service.tunnelbroker.name
}
}
@@ -83,6 +83,6 @@
namespace = "AWS/ECS"
dimensions = {
ClusterName = aws_ecs_cluster.comm_services.name
- ServiceName = local.is_staging ? aws_ecs_service.tunnelbroker_fargate[0].name : aws_ecs_service.tunnelbroker.name
+ ServiceName = local.is_staging ? aws_ecs_service.tunnelbroker_fargate.name : aws_ecs_service.tunnelbroker.name
}
}
diff --git a/services/terraform/remote/service_backup.tf b/services/terraform/remote/service_backup.tf
--- a/services/terraform/remote/service_backup.tf
+++ b/services/terraform/remote/service_backup.tf
@@ -200,7 +200,7 @@
}
target_group {
- arn = aws_lb_target_group.backup_service_http_fargate[0].arn
+ arn = aws_lb_target_group.backup_service_http_fargate.arn
weight = 100 # 100% Fargate
}
diff --git a/services/terraform/remote/service_backup_fargate.tf b/services/terraform/remote/service_backup_fargate.tf
--- a/services/terraform/remote/service_backup_fargate.tf
+++ b/services/terraform/remote/service_backup_fargate.tf
@@ -1,6 +1,5 @@
-# Fargate task definition (staging only)
+# Fargate task definition
resource "aws_ecs_task_definition" "backup_service_fargate" {
- count = local.is_staging ? 1 : 0
family = "backup-service-fargate-task-def"
container_definitions = jsonencode([
{
@@ -47,21 +46,20 @@
task_role_arn = aws_iam_role.backup_service.arn
execution_role_arn = aws_iam_role.ecs_task_execution.arn
network_mode = "awsvpc"
- cpu = "256"
- memory = "512"
+ cpu = local.is_staging ? "256" : "1024"
+ memory = local.is_staging ? "512" : "2048"
requires_compatibilities = ["FARGATE"]
skip_destroy = true
}
-# Fargate ECS Service (staging only)
+# Fargate ECS Service
resource "aws_ecs_service" "backup_service_fargate" {
- count = local.is_staging ? 1 : 0
name = "backup-service-fargate"
cluster = aws_ecs_cluster.comm_services.id
launch_type = "FARGATE"
- task_definition = aws_ecs_task_definition.backup_service_fargate[0].arn
+ task_definition = aws_ecs_task_definition.backup_service_fargate.arn
force_new_deployment = true
network_configuration {
@@ -88,7 +86,7 @@
# HTTP
load_balancer {
- target_group_arn = aws_lb_target_group.backup_service_http_fargate[0].arn
+ target_group_arn = aws_lb_target_group.backup_service_http_fargate.arn
container_name = local.backup_service_container_name
container_port = local.backup_service_container_http_port
}
@@ -106,9 +104,8 @@
enable_ecs_managed_tags = true
}
-# Fargate HTTP target group (staging only)
+# Fargate HTTP target group
resource "aws_lb_target_group" "backup_service_http_fargate" {
- count = local.is_staging ? 1 : 0
name = "backup-service-http-fargate-tg"
port = local.backup_service_container_http_port
protocol = "HTTP"
@@ -126,12 +123,12 @@
}
}
-# Auto-scaling for Fargate service (staging only)
+# Auto-scaling for Fargate service
module "backup_service_fargate_autoscaling" {
source = "../modules/fargate-autoscaling"
- create_resources = local.is_staging
- service_name = local.is_staging ? aws_ecs_service.backup_service_fargate[0].name : ""
+ create_resources = true
+ service_name = aws_ecs_service.backup_service_fargate.name
cluster_name = aws_ecs_cluster.comm_services.name
min_capacity = 1
diff --git a/services/terraform/remote/service_blob.tf b/services/terraform/remote/service_blob.tf
--- a/services/terraform/remote/service_blob.tf
+++ b/services/terraform/remote/service_blob.tf
@@ -203,7 +203,7 @@
}
target_group {
- arn = aws_lb_target_group.blob_service_http_fargate[0].arn
+ arn = aws_lb_target_group.blob_service_http_fargate.arn
weight = 100 # 100% Fargate
}
diff --git a/services/terraform/remote/service_blob_fargate.tf b/services/terraform/remote/service_blob_fargate.tf
--- a/services/terraform/remote/service_blob_fargate.tf
+++ b/services/terraform/remote/service_blob_fargate.tf
@@ -1,6 +1,5 @@
-# Fargate task definition (staging only)
+# Fargate task definition
resource "aws_ecs_task_definition" "blob_service_fargate" {
- count = local.is_staging ? 1 : 0
family = "blob-service-fargate-task-def"
container_definitions = jsonencode([
{
@@ -47,21 +46,20 @@
task_role_arn = aws_iam_role.services_ddb_full_access.arn
execution_role_arn = aws_iam_role.ecs_task_execution.arn
network_mode = "awsvpc"
- cpu = "256"
- memory = "512"
+ cpu = local.is_staging ? "256" : "512"
+ memory = local.is_staging ? "512" : "1024"
requires_compatibilities = ["FARGATE"]
skip_destroy = true
}
-# Fargate ECS Service (staging only)
+# Fargate ECS Service
resource "aws_ecs_service" "blob_service_fargate" {
- count = local.is_staging ? 1 : 0
name = "blob-service-fargate"
cluster = aws_ecs_cluster.comm_services.id
launch_type = "FARGATE"
- task_definition = aws_ecs_task_definition.blob_service_fargate[0].arn
+ task_definition = aws_ecs_task_definition.blob_service_fargate.arn
force_new_deployment = true
network_configuration {
@@ -88,7 +86,7 @@
# HTTP
load_balancer {
- target_group_arn = aws_lb_target_group.blob_service_http_fargate[0].arn
+ target_group_arn = aws_lb_target_group.blob_service_http_fargate.arn
container_name = local.blob_service_container_name
container_port = local.blob_service_container_http_port
}
@@ -103,9 +101,8 @@
}
}
-# Fargate HTTP target group (staging only)
+# Fargate HTTP target group
resource "aws_lb_target_group" "blob_service_http_fargate" {
- count = local.is_staging ? 1 : 0
name = "blob-service-http-fargate-tg"
port = local.blob_service_container_http_port
protocol = "HTTP"
@@ -123,12 +120,12 @@
}
}
-# Auto-scaling for Fargate service (staging only)
+# Auto-scaling for Fargate service
module "blob_service_fargate_autoscaling" {
source = "../modules/fargate-autoscaling"
- create_resources = local.is_staging
- service_name = local.is_staging ? aws_ecs_service.blob_service_fargate[0].name : ""
+ create_resources = true
+ service_name = aws_ecs_service.blob_service_fargate.name
cluster_name = aws_ecs_cluster.comm_services.name
min_capacity = 1
diff --git a/services/terraform/remote/service_identity.tf b/services/terraform/remote/service_identity.tf
--- a/services/terraform/remote/service_identity.tf
+++ b/services/terraform/remote/service_identity.tf
@@ -295,7 +295,7 @@
}
target_group {
- arn = aws_lb_target_group.identity_service_ws_fargate[0].arn
+ arn = aws_lb_target_group.identity_service_ws_fargate.arn
weight = 100 # 100% Fargate
}
@@ -336,7 +336,7 @@
}
target_group {
- arn = aws_lb_target_group.identity_service_grpc_fargate[0].arn
+ arn = aws_lb_target_group.identity_service_grpc_fargate.arn
weight = 100 # 100% Fargate
}
diff --git a/services/terraform/remote/service_identity_fargate.tf b/services/terraform/remote/service_identity_fargate.tf
--- a/services/terraform/remote/service_identity_fargate.tf
+++ b/services/terraform/remote/service_identity_fargate.tf
@@ -1,6 +1,5 @@
-# Fargate task definition (staging only)
+# Fargate task definition
resource "aws_ecs_task_definition" "identity_service_fargate" {
- count = local.is_staging ? 1 : 0
family = "identity-service-fargate-task-def"
container_definitions = jsonencode([
{
@@ -79,21 +78,20 @@
task_role_arn = aws_iam_role.services_ddb_full_access.arn
execution_role_arn = aws_iam_role.ecs_task_execution.arn
network_mode = "awsvpc"
- cpu = "256"
- memory = "512"
+ cpu = local.is_staging ? "256" : "512"
+ memory = local.is_staging ? "512" : "2048"
requires_compatibilities = ["FARGATE"]
skip_destroy = true
}
-# Fargate ECS Service (staging only)
+# Fargate ECS Service
resource "aws_ecs_service" "identity_service_fargate" {
- count = local.is_staging ? 1 : 0
name = "identity-service-fargate"
cluster = aws_ecs_cluster.comm_services.id
launch_type = "FARGATE"
- task_definition = aws_ecs_task_definition.identity_service_fargate[0].arn
+ task_definition = aws_ecs_task_definition.identity_service_fargate.arn
force_new_deployment = true
network_configuration {
@@ -120,14 +118,14 @@
# WebSocket
load_balancer {
- target_group_arn = aws_lb_target_group.identity_service_ws_fargate[0].arn
+ target_group_arn = aws_lb_target_group.identity_service_ws_fargate.arn
container_name = local.identity_service_container_name
container_port = local.identity_service_container_ws_port
}
# gRPC
load_balancer {
- target_group_arn = aws_lb_target_group.identity_service_grpc_fargate[0].arn
+ target_group_arn = aws_lb_target_group.identity_service_grpc_fargate.arn
container_name = local.identity_service_container_name
container_port = local.identity_service_container_grpc_port
}
@@ -145,9 +143,8 @@
enable_ecs_managed_tags = true
}
-# Fargate gRPC target group (staging only)
+# Fargate gRPC target group
resource "aws_lb_target_group" "identity_service_grpc_fargate" {
- count = local.is_staging ? 1 : 0
name = "identity-service-grpc-fargate-tg"
port = local.identity_service_container_grpc_port
protocol = "HTTP"
@@ -173,9 +170,8 @@
}
}
-# Fargate WebSocket target group (staging only)
+# Fargate WebSocket target group
resource "aws_lb_target_group" "identity_service_ws_fargate" {
- count = local.is_staging ? 1 : 0
name = "identity-service-ws-fargate-tg"
port = local.identity_service_container_ws_port
protocol = "HTTP"
@@ -194,15 +190,15 @@
}
}
-# Auto-scaling for Fargate service (staging only)
+# Auto-scaling for Fargate service
module "identity_service_fargate_autoscaling" {
source = "../modules/fargate-autoscaling"
- create_resources = local.is_staging
- service_name = local.is_staging ? aws_ecs_service.identity_service_fargate[0].name : ""
+ create_resources = true
+ service_name = aws_ecs_service.identity_service_fargate.name
cluster_name = aws_ecs_cluster.comm_services.name
- min_capacity = 1
+ min_capacity = local.is_staging ? 1 : 2
max_capacity = 6
cpu_target = 35.0
memory_target = 45.0
diff --git a/services/terraform/remote/service_tunnelbroker.tf b/services/terraform/remote/service_tunnelbroker.tf
--- a/services/terraform/remote/service_tunnelbroker.tf
+++ b/services/terraform/remote/service_tunnelbroker.tf
@@ -334,7 +334,7 @@
}
target_group {
- arn = aws_lb_target_group.tunnelbroker_ws_fargate[0].arn
+ arn = aws_lb_target_group.tunnelbroker_ws_fargate.arn
weight = 100 # 100% Fargate
}
@@ -369,7 +369,7 @@
}
target_group {
- arn = aws_lb_target_group.tunnelbroker_grpc_fargate[0].arn
+ arn = aws_lb_target_group.tunnelbroker_grpc_fargate.arn
weight = 100 # Switch to 100% Fargate
}
diff --git a/services/terraform/remote/service_tunnelbroker_fargate.tf b/services/terraform/remote/service_tunnelbroker_fargate.tf
--- a/services/terraform/remote/service_tunnelbroker_fargate.tf
+++ b/services/terraform/remote/service_tunnelbroker_fargate.tf
@@ -1,6 +1,5 @@
-# Fargate task definition (staging only)
+# Fargate task definition
resource "aws_ecs_task_definition" "tunnelbroker_fargate" {
- count = local.is_staging ? 1 : 0
family = "tunnelbroker-fargate-task-def"
container_definitions = jsonencode([
{
@@ -91,21 +90,20 @@
task_role_arn = aws_iam_role.services_ddb_full_access.arn
execution_role_arn = aws_iam_role.ecs_task_execution.arn
network_mode = "awsvpc"
- cpu = "256"
- memory = "512"
+ cpu = local.is_staging ? "256" : "512"
+ memory = local.is_staging ? "512" : "1024"
requires_compatibilities = ["FARGATE"]
skip_destroy = true
}
-# Fargate ECS Service (staging only)
+# Fargate ECS Service
resource "aws_ecs_service" "tunnelbroker_fargate" {
- count = local.is_staging ? 1 : 0
name = "tunnelbroker-fargate"
cluster = aws_ecs_cluster.comm_services.id
launch_type = "FARGATE"
- task_definition = aws_ecs_task_definition.tunnelbroker_fargate[0].arn
+ task_definition = aws_ecs_task_definition.tunnelbroker_fargate.arn
force_new_deployment = true
network_configuration {
@@ -132,14 +130,14 @@
# Websocket
load_balancer {
- target_group_arn = aws_lb_target_group.tunnelbroker_ws_fargate[0].arn
+ target_group_arn = aws_lb_target_group.tunnelbroker_ws_fargate.arn
container_name = local.tunnelbroker_config.container_name
container_port = local.tunnelbroker_config.websocket_port
}
# gRPC (only exists in staging)
load_balancer {
- target_group_arn = aws_lb_target_group.tunnelbroker_grpc_fargate[0].arn
+ target_group_arn = aws_lb_target_group.tunnelbroker_grpc_fargate.arn
container_name = local.tunnelbroker_config.container_name
container_port = local.tunnelbroker_config.grpc_port
}
@@ -154,9 +152,8 @@
}
}
-# Fargate WebSocket target group (staging only)
+# Fargate WebSocket target group
resource "aws_lb_target_group" "tunnelbroker_ws_fargate" {
- count = local.is_staging ? 1 : 0
name = "tunnelbroker-ws-fargate-tg"
port = local.tunnelbroker_config.websocket_port
protocol = "HTTP"
@@ -175,9 +172,8 @@
}
}
-# Fargate gRPC target group (staging only)
+# Fargate gRPC target group
resource "aws_lb_target_group" "tunnelbroker_grpc_fargate" {
- count = local.is_staging ? 1 : 0
name = "tunnelbroker-grpc-fargate-tg"
port = local.tunnelbroker_config.grpc_port
protocol = "HTTP"
@@ -192,15 +188,15 @@
}
}
-# Auto-scaling for Fargate service (staging only)
+# Auto-scaling for Fargate service
module "tunnelbroker_fargate_autoscaling" {
source = "../modules/fargate-autoscaling"
- create_resources = local.is_staging
- service_name = local.is_staging ? aws_ecs_service.tunnelbroker_fargate[0].name : ""
+ create_resources = true
+ service_name = aws_ecs_service.tunnelbroker_fargate.name
cluster_name = aws_ecs_cluster.comm_services.name
- min_capacity = 1
+ min_capacity = local.is_staging ? 1 : 2
max_capacity = 8
cpu_target = 30.0
memory_target = 40.0
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Dec 6, 1:10 PM (17 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5837860
Default Alt Text
D15517.1765026658.diff (17 KB)
Attached To
Mode
D15517: [terraform] create Fargate services on production
Attached
Detach File
Event Timeline
Log In to Comment