mirror of
https://github.com/Sea-Haven-Industries/payments-dashboard.git
synced 2026-09-30 11:13:11 +00:00
Add API access logging + throttling (audit Day 3: M-18)
Implicit HTTP API: access logging to /aws/apigateway/payments-dashboard (90d) + default route throttling (100 rps / 50 burst) via Globals.HttpApi.
This commit is contained in:
parent
a2a7e3f533
commit
a1f62a0d2e
1 changed files with 14 additions and 0 deletions
|
|
@ -12,8 +12,22 @@ Globals:
|
|||
Environment:
|
||||
Variables:
|
||||
TABLE_NAME: !Ref DashboardTable
|
||||
# Access logging + default throttling on the implicit HTTP API (audit M-18).
|
||||
HttpApi:
|
||||
AccessLogSettings:
|
||||
DestinationArn: !GetAtt ApiAccessLogGroup.Arn
|
||||
Format: '{"requestId":"$context.requestId","ip":"$context.identity.sourceIp","requestTime":"$context.requestTime","method":"$context.httpMethod","routeKey":"$context.routeKey","status":"$context.status","protocol":"$context.protocol","responseLength":"$context.responseLength","integrationError":"$context.integrationErrorMessage"}'
|
||||
DefaultRouteSettings:
|
||||
ThrottlingBurstLimit: 50
|
||||
ThrottlingRateLimit: 100
|
||||
|
||||
Resources:
|
||||
ApiAccessLogGroup:
|
||||
Type: AWS::Logs::LogGroup
|
||||
Properties:
|
||||
LogGroupName: /aws/apigateway/payments-dashboard
|
||||
RetentionInDays: 90
|
||||
|
||||
# VPC with private subnet + NAT Gateway for static outbound IP
|
||||
Vpc:
|
||||
Type: AWS::EC2::VPC
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue