0008 — Terminate EC2 35.172.106.96
- Status: Proposed
- Date: 2026-04-17
- Deciders: Fede
Context
EC2 35.172.106.96 currently runs:
property-mgmtPM2 app (the old Next.js prod server, redundant with Vercel)propflowai-stagePM2 app (see ADR-0007)- Six EC2
setIntervalbackground processors (see ADR-0006)
After ADR-0006 and ADR-0007, this host runs nothing.
Decision
Terminate EC2 35.172.106.96 once all migrations land and prod has been stable for 72 hours.
Sequence:
- Confirm no processors running (
pm2 listempty of PropFlow apps) - Confirm all scheduled jobs firing in EventBridge with green metrics for 72 hours
- Stop the instance (reversible). Wait 7 days.
- If nothing complains, terminate. Keep the EBS snapshot for 30 days.
- Remove IAM roles, security groups, hardcoded references in deploy scripts.
EC2 34.201.51.133 (browser agent) is not affected — see ADR-0009.
Consequences
Easier
- One less EC2 to maintain, patch, pay for, SSH into during incidents.
- Eliminates SSH-dependent deploy paths entirely (Vercel doesn't need SSH, Lambda doesn't need SSH, browser agent keeps its own).
- Removes the "mobile carrier blocking port 22 during an incident" failure mode (April 6 learnings).
Harder
- If a regression requires old EC2 logic, restore from EBS snapshot. Unlikely; 7-day stopped-instance grace period is the safety net.
Follow-up work
- Update
CLAUDE.mdto remove EC2 references. - Remove EC2 IP from IP allowlists (Twilio).
- Update Sentry tags.
Alternatives considered
Keep EC2 as warm standby. Rejected — a standby not exercised is a cold failure waiting. If we ever need EC2 again, stand up a fresh one with Terraform.
Downsize to t4g.nano. Considered if the 72-hour observation turns up anything unexpected. Default is terminate.