Skip to main content

/ipa.stack.queue

Queue tier stack: SQS queue with dead-letter queue, worker Lambda, Event Source Mapping, optional DynamoDB table, and CloudWatch dashboard.

Stack Identity

PropertyValue
Stack name{APP_NAMESPACE}-{APP_ENV}-queue
Templateinfra/cfn/queue/queue.yml
CapabilitiesCAPABILITY_NAMED_IAM
Lifecycledeploy

Parameters

Wirable Parameters

ParameterSourceRequired
ImageUriecr.RepositoryUriYes
AuthIssuercognito.IssuerUrlYes
AuthAudiencecognito.UserPoolClientIdYes

Configurable Parameters

ParameterDefaultDescription
QueueNamejobsSQS queue name suffix
VisibilityTimeout30Message visibility timeout in seconds
MessageRetentionPeriod345600Message retention in seconds (4 days)
MaxReceiveCount3Max receives before sending to DLQ
CreateDLQtrueWhether to create a dead-letter queue
FunctionName{namespace}-{env}-workerWorker Lambda function name
MemorySize512Worker Lambda memory in MB
Timeout30Worker Lambda timeout in seconds
ImageCommand(template default)Container image command override

Feature Flags

FlagDefaultEffect
EnableJobsTablefalseCreates a DynamoDB Jobs table for tracking queue processing

Outputs

OutputDescription
QueueUrlSQS queue URL
QueueArnSQS queue ARN
QueueNameSQS queue name
WorkerFunctionArnWorker Lambda function ARN
WorkerFunctionNameWorker Lambda function name
DlqUrlDead-letter queue URL (when CreateDLQ is true)
DlqArnDead-letter queue ARN (when CreateDLQ is true)
JobsTableArnDynamoDB Jobs table ARN (when EnableJobsTable is true)
DashboardUrlCloudWatch dashboard URL

Deploy Order

Queue deploys before Backend when both stacks are in the same pattern. This ensures the Queue URL and ARN are available for Backend's SQS integration wiring.

Local Development

After deployment, the update-env-sqs Make target writes SQS_QUEUE_URL to .env for local development use.

Wiring

The Queue stack provides outputs consumed by Backend:

ConsumerParameters Wired
BackendSqsQueueUrlQueueUrl, SqsSendQueueArnsQueueArn (when EnableSqsIntegration is true)