20 May, 2026
7 min read
1400 words
Sentry events vanished from a Fargate Node app because Happy Eyeballs stalls on IPv6 with no route. Forcing IPv4 in the transport fixes it.
7 May, 2026
6 min read
1072 words
Lambda caps environment variables at 4 KB. An AWS_LAMBDA_EXEC_WRAPPER binary that pulls SSM params at cold start gets around it.
9 October, 2025
2 min read
336 words
AWS charges $3,000 a month for CloudFront Anycast IP. Testing shows it is a small static IP set, not anycast in any meaningful sense.
5 February, 2025
1 min read
91 words
Using CloudFront Functions to dynamically change the origin to another CloudFront distribution via updateRequestOrigin.
6 September, 2022
1 min read
180 words
CDK findResources cannot match a KMS key by alias. Tag the key policy statement with an sid and assert on that instead.
18 January, 2021
1 min read
72 words
Fargate images have no curl, so the task definition health check uses wget, plus the jsonencode catch in Terraform templates.
13 June, 2020
1 min read
187 words
Attaching a UniFi UDM to an AWS Transit Gateway over VPN, using static routing because the UDM does not speak BGP.
15 May, 2020
1 min read
112 words
Relaying mail through Amazon SES from Postfix on Ubuntu, filling in the steps the AWS documentation leaves out.
28 June, 2019
1 min read
160 words
Running the Salesforce CLI in Docker on AWS, with the browser-based auth replaced by an auth URL kept in SSM Parameter Store.
18 May, 2017
1 min read
76 words
Two-line AWS CLI recipes for encrypting and decrypting with KMS, for both binary and base64 ciphertext.
15 December, 2016
1 min read
141 words
Curl scripts that log the CloudFront X-Amz-Cf-Id whenever a response is slower than a threshold, plus a full connection timing breakdown.
8 June, 2016
1 min read
132 words
Moving a large MongoDB dump into DynamoDB with dyngodb2, including the sed passes and file splitting needed to survive the JSON format.