Skip to content

Commit 228fd73

Browse files
committed
Move SQS and Lambda to us-east-2
1 parent 53852df commit 228fd73

File tree

7 files changed

+44
-10
lines changed

7 files changed

+44
-10
lines changed

.env.sample

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ AadClientSecret=""
22
RunEnvironment="dev"
33
JwtSigningKey="YOUR_RANDOM_STRING HERE"
44
VITE_RUN_ENVIRONMENT="local-dev"
5-
AWS_REGION=us-east-1
5+
AWS_REGION=us-east-2

generate_jwt.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export const getSecretValue = async (secretId) => {
2222
};
2323

2424
const secrets = await getSecretValue("infra-core-api-testing-credentials");
25-
const client = new STSClient({ region: "us-east-1" });
25+
const client = new STSClient({ region: "us-east-2" });
2626
const command = new GetCallerIdentityCommand({});
2727
let data;
2828
try {

src/common/config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ const environmentConfig: EnvironmentConfigType = {
132132
PasskitSerialNumber: "0",
133133
EmailDomain: "aws.qa.acmuiuc.org",
134134
SqsQueueUrl:
135-
"https://sqs.us-east-1.amazonaws.com/427040638965/infra-core-api-sqs",
135+
"https://sqs.us-east-2.amazonaws.com/427040638965/infra-core-api-sqs",
136136
PaidMemberGroupId: "9222451f-b354-4e64-ba28-c0f367a277c2",
137137
PaidMemberPriceId: "price_1S5eAqDGHrJxx3mKZYGoulj3",
138138
AadValidReadOnlyClientId: "2c6a0057-5acc-496c-a4e5-4adbf88387ba",
@@ -165,7 +165,7 @@ const environmentConfig: EnvironmentConfigType = {
165165
PasskitSerialNumber: "0",
166166
EmailDomain: "acm.illinois.edu",
167167
SqsQueueUrl:
168-
"https://sqs.us-east-1.amazonaws.com/298118738376/infra-core-api-sqs",
168+
"https://sqs.us-east-2.amazonaws.com/298118738376/infra-core-api-sqs",
169169
PaidMemberGroupId: "172fd9ee-69f0-4384-9786-41ff1a43cf8e",
170170
PaidMemberPriceId: MembershipPriceIdStripe,
171171
AadValidReadOnlyClientId: "2c6a0057-5acc-496c-a4e5-4adbf88387ba",

terraform/envs/prod/main.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ module "sqs_queues" {
5555
source = "../../modules/sqs"
5656
resource_prefix = var.ProjectId
5757
core_sqs_consumer_lambda_name = module.lambdas.core_sqs_consumer_lambda_name
58+
providers = {
59+
aws = aws.ohio
60+
}
5861
}
5962

6063
module "dynamo" {
@@ -112,6 +115,9 @@ module "lambdas" {
112115
PreviousOriginVerifyKeyExpiresAt = module.origin_verify.previous_invalid_time
113116
LogRetentionDays = var.LogRetentionDays
114117
EmailDomain = var.EmailDomain
118+
providers = {
119+
aws = aws.ohio
120+
}
115121
}
116122

117123
module "frontend" {
@@ -137,6 +143,8 @@ module "assets" {
137143
}
138144

139145
resource "aws_lambda_event_source_mapping" "queue_consumer" {
146+
provider = aws.ohio
147+
region = "us-east-2"
140148
depends_on = [module.lambdas, module.sqs_queues]
141149
for_each = local.queue_arns
142150
batch_size = 5

terraform/envs/qa/main.tf

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,18 @@ provider "aws" {
2828
}
2929
}
3030

31+
provider "aws" {
32+
allowed_account_ids = ["427040638965"]
33+
alias = "ohio"
34+
region = "us-east-2"
35+
default_tags {
36+
tags = {
37+
project = var.ProjectId
38+
terraform_managed = true
39+
}
40+
}
41+
}
42+
3143
data "aws_caller_identity" "current" {}
3244
data "aws_region" "current" {}
3345

@@ -37,6 +49,9 @@ module "sqs_queues" {
3749
source = "../../modules/sqs"
3850
resource_prefix = var.ProjectId
3951
core_sqs_consumer_lambda_name = module.lambdas.core_sqs_consumer_lambda_name
52+
providers = {
53+
aws = aws.ohio
54+
}
4055
}
4156
locals {
4257
bucket_prefix = "${data.aws_caller_identity.current.account_id}-${data.aws_region.current.region}"
@@ -174,6 +189,8 @@ resource "aws_route53_record" "linkry" {
174189
}
175190
}
176191
resource "aws_lambda_event_source_mapping" "queue_consumer" {
192+
provider = aws.ohio
193+
region = "us-east-2"
177194
depends_on = [module.lambdas, module.sqs_queues]
178195
for_each = local.queue_arns
179196
batch_size = 5

terraform/modules/lambdas/main.tf

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ data "aws_caller_identity" "current" {}
3232
data "aws_region" "current" {}
3333

3434
resource "aws_cloudwatch_log_group" "api_logs" {
35+
region = "us-east-2"
3536
name = "/aws/lambda/${local.core_api_lambda_name}"
3637
retention_in_days = var.LogRetentionDays
3738
}
@@ -102,8 +103,8 @@ resource "aws_iam_policy" "entra_policy" {
102103
Effect = "Allow",
103104
Action = ["secretsmanager:GetSecretValue"],
104105
Resource = [
105-
"arn:aws:secretsmanager:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-entra*",
106-
"arn:aws:secretsmanager:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-ro-entra*"
106+
"arn:aws:secretsmanager:us-east-2:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-entra*",
107+
"arn:aws:secretsmanager:us-east-2:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-ro-entra*"
107108
]
108109
}
109110
]
@@ -119,7 +120,7 @@ resource "aws_iam_policy" "api_only_policy" {
119120
Effect = "Allow",
120121
Action = ["sqs:SendMessage"],
121122
Resource = [
122-
"arn:aws:sqs:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:${var.ProjectId}-*",
123+
"arn:aws:sqs:us-east-2:${data.aws_caller_identity.current.account_id}:${var.ProjectId}-*",
123124
]
124125
}
125126
]
@@ -188,9 +189,9 @@ resource "aws_iam_policy" "shared_iam_policy" {
188189
Action = ["secretsmanager:GetSecretValue"],
189190
Effect = "Allow",
190191
Resource = [
191-
"arn:aws:secretsmanager:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-config*",
192-
"arn:aws:secretsmanager:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-testing-credentials*",
193-
"arn:aws:secretsmanager:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-uin-pepper*"
192+
"arn:aws:secretsmanager:us-east-2:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-config*",
193+
"arn:aws:secretsmanager:us-east-2:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-testing-credentials*",
194+
"arn:aws:secretsmanager:us-east-2:${data.aws_caller_identity.current.account_id}:secret:infra-core-api-uin-pepper*"
194195
]
195196
},
196197
{
@@ -332,6 +333,7 @@ resource "aws_iam_role_policy_attachment" "sqs_attach_shared" {
332333
}
333334

334335
resource "aws_lambda_function" "api_lambda" {
336+
region = "us-east-2"
335337
depends_on = [aws_cloudwatch_log_group.api_logs]
336338
function_name = local.core_api_lambda_name
337339
role = aws_iam_role.api_role.arn
@@ -357,6 +359,7 @@ resource "aws_lambda_function" "api_lambda" {
357359
}
358360

359361
resource "aws_lambda_function" "sqs_lambda" {
362+
region = "us-east-2"
360363
depends_on = [aws_cloudwatch_log_group.api_logs]
361364
logging_config {
362365
log_format = "JSON"
@@ -383,13 +386,15 @@ resource "aws_lambda_function" "sqs_lambda" {
383386
}
384387

385388
resource "aws_lambda_function_url" "api_lambda_function_url" {
389+
region = "us-east-2"
386390
function_name = aws_lambda_function.api_lambda.function_name
387391
authorization_type = "NONE"
388392
invoke_mode = "RESPONSE_STREAM"
389393
}
390394

391395
// Slow lambda - used for monitoring purposes to avoid triggering lamdba latency alarms
392396
resource "aws_lambda_function" "slow_lambda" {
397+
region = "us-east-2"
393398
depends_on = [aws_cloudwatch_log_group.api_logs]
394399
function_name = local.core_api_slow_lambda_name
395400
role = aws_iam_role.api_role.arn
@@ -422,6 +427,7 @@ resource "aws_lambda_function_url" "slow_api_lambda_function_url" {
422427
function_name = aws_lambda_function.slow_lambda.function_name
423428
authorization_type = "NONE"
424429
invoke_mode = "RESPONSE_STREAM"
430+
region = "us-east-2"
425431
}
426432

427433
module "lambda_warmer_main" {

terraform/modules/sqs/main.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ terraform {
77
}
88

99
resource "aws_sqs_queue" "app_dlq" {
10+
region = "us-east-2"
1011
name = "${var.resource_prefix}-sqs-dlq"
1112
visibility_timeout_seconds = var.sqs_message_timeout
1213
message_retention_seconds = 1209600
1314
}
1415

1516
resource "aws_sqs_queue" "app_queue" {
17+
region = "us-east-2"
1618
name = "${var.resource_prefix}-sqs"
1719
visibility_timeout_seconds = var.sqs_message_timeout
1820
redrive_policy = jsonencode({
@@ -22,6 +24,7 @@ resource "aws_sqs_queue" "app_queue" {
2224
}
2325

2426
resource "aws_sqs_queue" "sales_email_queue" {
27+
region = "us-east-2"
2528
name = "${var.resource_prefix}-sqs-sales"
2629
visibility_timeout_seconds = var.sqs_message_timeout
2730
redrive_policy = jsonencode({

0 commit comments

Comments
 (0)