From a276f3ec9339aebf86bb839c41722cd367c67980 Mon Sep 17 00:00:00 2001 From: RG756 Date: Tue, 22 Sep 2026 16:45:39 +0900 Subject: [PATCH] feat: enable X-Ray tracing for Lambda and API Gateway --- project-d-serverless-api/apigateway.tf | 1 + project-d-serverless-api/iam.tf | 6 ++++++ project-d-serverless-api/lambda.tf | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/project-d-serverless-api/apigateway.tf b/project-d-serverless-api/apigateway.tf index bdcbea8..a4341b5 100644 --- a/project-d-serverless-api/apigateway.tf +++ b/project-d-serverless-api/apigateway.tf @@ -157,6 +157,7 @@ resource "aws_api_gateway_stage" "prod" { rest_api_id = aws_api_gateway_rest_api.api.id deployment_id = aws_api_gateway_deployment.deploy.id stage_name = "prod" + xray_tracing_enabled = true # Access logging: records who called which endpoint and when access_log_settings { diff --git a/project-d-serverless-api/iam.tf b/project-d-serverless-api/iam.tf index b9be6d8..05f0c6d 100644 --- a/project-d-serverless-api/iam.tf +++ b/project-d-serverless-api/iam.tf @@ -51,6 +51,12 @@ resource "aws_iam_role_policy_attachment" "lambda_logs" { policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" } +# Policy: Allow Lambda to send traces to X-Ray +resource "aws_iam_role_policy_attachment" "lambda_xray" { + role = aws_iam_role.lambda_role.name + policy_arn = "arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess" +} + # ============================================================================= # IAM Role for API Gateway -> CloudWatch Logs # ============================================================================= diff --git a/project-d-serverless-api/lambda.tf b/project-d-serverless-api/lambda.tf index 1ff457a..f627bb2 100644 --- a/project-d-serverless-api/lambda.tf +++ b/project-d-serverless-api/lambda.tf @@ -28,6 +28,10 @@ resource "aws_lambda_function" "api" { tags = { Project = var.project_name } + + tracing_config { + mode = "Active" + } } # =============================================================================