diff --git a/infrastructure/terraform/components/api/README.md b/infrastructure/terraform/components/api/README.md index ce859ec31..23356b0a4 100644 --- a/infrastructure/terraform/components/api/README.md +++ b/infrastructure/terraform/components/api/README.md @@ -51,7 +51,7 @@ No requirements. | Name | Source | Version | |------|--------|---------| | [amendment\_event\_transformer](#module\_amendment\_event\_transformer) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | -| [amendments\_queue](#module\_amendments\_queue) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.0.6/terraform-sqs.zip | n/a | +| [amendments\_queue](#module\_amendments\_queue) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.1.5/terraform-sqs.zip | n/a | | [authorizer\_lambda](#module\_authorizer\_lambda) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [ddb\_alarms\_idempotency](#module\_ddb\_alarms\_idempotency) | ../../modules/alarms-ddb | n/a | | [ddb\_alarms\_letter\_queue](#module\_ddb\_alarms\_letter\_queue) | ../../modules/alarms-ddb | n/a | @@ -67,7 +67,7 @@ No requirements. | [get\_status](#module\_get\_status) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [kms](#module\_kms) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-kms.zip | n/a | | [lambda\_alarms](#module\_lambda\_alarms) | ../../modules/alarms-lambda | n/a | -| [letter\_status\_updates\_queue](#module\_letter\_status\_updates\_queue) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.0.6/terraform-sqs.zip | n/a | +| [letter\_status\_updates\_queue](#module\_letter\_status\_updates\_queue) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.1.5/terraform-sqs.zip | n/a | | [letter\_updates\_transformer](#module\_letter\_updates\_transformer) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [mi\_updates\_transformer](#module\_mi\_updates\_transformer) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-lambda.zip | n/a | | [patch\_letter](#module\_patch\_letter) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | @@ -75,8 +75,8 @@ No requirements. | [post\_mi](#module\_post\_mi) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [s3bucket\_test\_letters](#module\_s3bucket\_test\_letters) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-s3bucket.zip | n/a | | [sqs\_alarms](#module\_sqs\_alarms) | ../../modules/alarms-sqs | n/a | -| [sqs\_letter\_updates](#module\_sqs\_letter\_updates) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.0.6/terraform-sqs.zip | n/a | -| [sqs\_supplier\_allocator](#module\_sqs\_supplier\_allocator) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.0.6/terraform-sqs.zip | n/a | +| [sqs\_letter\_updates](#module\_sqs\_letter\_updates) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.1.5/terraform-sqs.zip | n/a | +| [sqs\_supplier\_allocator](#module\_sqs\_supplier\_allocator) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.1.5/terraform-sqs.zip | n/a | | [supplier\_allocator](#module\_supplier\_allocator) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [supplier\_ssl](#module\_supplier\_ssl) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-ssl.zip | n/a | | [update\_letter\_queue](#module\_update\_letter\_queue) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | diff --git a/infrastructure/terraform/components/api/module_sqs_alarms.tf b/infrastructure/terraform/components/api/module_sqs_alarms.tf index 28b948640..e9da40596 100644 --- a/infrastructure/terraform/components/api/module_sqs_alarms.tf +++ b/infrastructure/terraform/components/api/module_sqs_alarms.tf @@ -2,8 +2,7 @@ module "sqs_alarms" { for_each = local.alarms_enabled ? local.sqs_alarm_targets : {} source = "../../modules/alarms-sqs" - alarm_prefix = local.csi - queue_name = each.value - dlq_queue_name = replace(each.value, "-queue", "-dlq") - tags = local.default_tags + alarm_prefix = local.csi + queue_name = each.value + tags = local.default_tags } diff --git a/infrastructure/terraform/components/api/module_sqs_amendments.tf b/infrastructure/terraform/components/api/module_sqs_amendments.tf index 8fca10e9d..8e30bb0d9 100644 --- a/infrastructure/terraform/components/api/module_sqs_amendments.tf +++ b/infrastructure/terraform/components/api/module_sqs_amendments.tf @@ -1,6 +1,6 @@ # Queue to transport letter status amendment messages module "amendments_queue" { - source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.0.6/terraform-sqs.zip" + source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.1.5/terraform-sqs.zip" name = "amendments_queue" @@ -12,5 +12,6 @@ module "amendments_queue" { sqs_kms_key_arn = module.kms.key_arn - create_dlq = true + create_dlq = true + enable_queue_oldest_message_alarm = false } diff --git a/infrastructure/terraform/components/api/module_sqs_letter_status_updates.tf b/infrastructure/terraform/components/api/module_sqs_letter_status_updates.tf index db7d27a85..59c0cfef0 100644 --- a/infrastructure/terraform/components/api/module_sqs_letter_status_updates.tf +++ b/infrastructure/terraform/components/api/module_sqs_letter_status_updates.tf @@ -1,7 +1,7 @@ # Queue to transport update letter status messages. Now replaced by module.amendments_queue. # This queue will not be removed just yet, to allow it to be drained following the release in which module.amendments_queue replaces it. module "letter_status_updates_queue" { - source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.0.6/terraform-sqs.zip" + source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.1.5/terraform-sqs.zip" name = "letter_status_updates_queue" @@ -13,5 +13,6 @@ module "letter_status_updates_queue" { sqs_kms_key_arn = module.kms.key_arn - create_dlq = true + create_dlq = true + enable_queue_oldest_message_alarm = false } diff --git a/infrastructure/terraform/components/api/module_sqs_letter_updates.tf b/infrastructure/terraform/components/api/module_sqs_letter_updates.tf index 1e886d61e..8e94af340 100644 --- a/infrastructure/terraform/components/api/module_sqs_letter_updates.tf +++ b/infrastructure/terraform/components/api/module_sqs_letter_updates.tf @@ -1,5 +1,5 @@ module "sqs_letter_updates" { - source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.0.6/terraform-sqs.zip" + source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.1.5/terraform-sqs.zip" aws_account_id = var.aws_account_id component = var.component @@ -12,8 +12,9 @@ module "sqs_letter_updates" { visibility_timeout_seconds = 60 - create_dlq = true - sqs_policy_overload = data.aws_iam_policy_document.letter_updates_queue_policy.json + create_dlq = true + enable_queue_oldest_message_alarm = false + sqs_policy_overload = data.aws_iam_policy_document.letter_updates_queue_policy.json } data "aws_iam_policy_document" "letter_updates_queue_policy" { diff --git a/infrastructure/terraform/components/api/module_sqs_supplier_allocator.tf b/infrastructure/terraform/components/api/module_sqs_supplier_allocator.tf index 565038d7b..653417a27 100644 --- a/infrastructure/terraform/components/api/module_sqs_supplier_allocator.tf +++ b/infrastructure/terraform/components/api/module_sqs_supplier_allocator.tf @@ -1,5 +1,5 @@ module "sqs_supplier_allocator" { - source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.0.6/terraform-sqs.zip" + source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/3.1.5/terraform-sqs.zip" aws_account_id = var.aws_account_id component = var.component @@ -12,8 +12,9 @@ module "sqs_supplier_allocator" { visibility_timeout_seconds = 60 - create_dlq = true - sqs_policy_overload = data.aws_iam_policy_document.supplier_allocator_queue_policy.json + create_dlq = true + enable_queue_oldest_message_alarm = false + sqs_policy_overload = data.aws_iam_policy_document.supplier_allocator_queue_policy.json } data "aws_iam_policy_document" "supplier_allocator_queue_policy" { diff --git a/infrastructure/terraform/modules/alarms-sqs/README.md b/infrastructure/terraform/modules/alarms-sqs/README.md index 6ddbea4ca..2c721eadb 100644 --- a/infrastructure/terraform/modules/alarms-sqs/README.md +++ b/infrastructure/terraform/modules/alarms-sqs/README.md @@ -16,8 +16,6 @@ | [age\_anomaly\_sensitivity](#input\_age\_anomaly\_sensitivity) | n/a | `number` | `3` | no | | [age\_period\_seconds](#input\_age\_period\_seconds) | n/a | `number` | `900` | no | | [alarm\_prefix](#input\_alarm\_prefix) | n/a | `string` | n/a | yes | -| [dlq\_queue\_name](#input\_dlq\_queue\_name) | n/a | `string` | `null` | no | -| [dlq\_visible\_threshold](#input\_dlq\_visible\_threshold) | n/a | `number` | `0` | no | | [queue\_name](#input\_queue\_name) | n/a | `string` | n/a | yes | | [tags](#input\_tags) | n/a | `map(string)` | `{}` | no | ## Modules diff --git a/infrastructure/terraform/modules/alarms-sqs/cloudwatch_metric_alarm_dlq_depth.tf b/infrastructure/terraform/modules/alarms-sqs/cloudwatch_metric_alarm_dlq_depth.tf deleted file mode 100644 index 41b1251ba..000000000 --- a/infrastructure/terraform/modules/alarms-sqs/cloudwatch_metric_alarm_dlq_depth.tf +++ /dev/null @@ -1,23 +0,0 @@ -resource "aws_cloudwatch_metric_alarm" "dlq_depth" { - count = var.dlq_queue_name == null ? 0 : 1 - alarm_name = "${var.alarm_prefix}-sqs-${var.dlq_queue_name}-dlq-depth" - alarm_description = "RELIABILITY: SQS DLQ has messages" - - namespace = "AWS/SQS" - metric_name = "ApproximateNumberOfMessagesVisible" - statistic = "Sum" - period = 60 - - evaluation_periods = 1 - threshold = var.dlq_visible_threshold - comparison_operator = "GreaterThanThreshold" - treat_missing_data = "notBreaching" - - dimensions = { QueueName = var.dlq_queue_name } - - actions_enabled = false - alarm_actions = [] - ok_actions = [] - insufficient_data_actions = [] - tags = var.tags -} diff --git a/infrastructure/terraform/modules/alarms-sqs/variables.tf b/infrastructure/terraform/modules/alarms-sqs/variables.tf index 364fc6153..c635c3973 100644 --- a/infrastructure/terraform/modules/alarms-sqs/variables.tf +++ b/infrastructure/terraform/modules/alarms-sqs/variables.tf @@ -6,11 +6,6 @@ variable "queue_name" { type = string } -variable "dlq_queue_name" { - type = string - default = null -} - variable "tags" { type = map(string) default = {} @@ -35,8 +30,3 @@ variable "age_anomaly_datapoints_to_alarm" { type = number default = 3 } - -variable "dlq_visible_threshold" { - type = number - default = 0 -}