The AWS infrastructure for the Tappy application has been running since April 2025, accumulating a total spend of approximately $6,456 over 12 months.
| Service | Monthly Cost | % of Bill |
|---|---|---|
| RDS — io2 Provisioned IOPS | $323.00 | 43% |
| RDS — Instance (db.t4g.medium) | $60.94 | 8% |
| RDS — io2 Storage (400 GB) | $53.84 | 7% |
| EC2 — t2.medium (us-east-1) | $64.06 | 9% |
| EC2 — t2.large (us-west-1) | $48.62 | 6% |
| EC2 — t3.medium (us-east-1) | $33.90 | 5% |
| EBS Volumes (gp2/gp3) | $55.80 | 7% |
| Public IP Addresses | $34.56 | 5% |
| AWS Business Support | $58.04 | 8% |
| S3 / Route53 / KMS / Transfer | $20.20 | 2% |
| Month | Total Spend | RDS Only | Notes |
|---|---|---|---|
| Apr 2025 | $194.84 | — | Initial setup |
| May 2025 | $277.15 | — | |
| Jun 2025 | $294.62 | — | |
| Jul 2025 | $295.57 | — | |
| Aug 2025 | $227.08 | — | |
| Sep 2025 | $358.64 | $93.15 | ⬆️ io2 added (Sep 25) |
| Oct 2025 | $913.21 | $470.16 | 🔴 Full io2 provisioned |
| Nov 2025 | $719.33 | $410.62 | |
| Dec 2025 | $737.83 | $411.56 | |
| Jan 2026 | $756.07 | $412.56 | |
| Feb 2026 | $730.72 | $406.73 | |
| Mar 2026 | $751.96 | $409.38 |
12-month total: ~$6,456
| Setting | Current | Issue |
|---|---|---|
| Engine | MySQL 8.0 | — |
| Instance | db.t4g.medium (2 vCPU / 4 GB) | Oversized for current load |
| Storage Type | io2 (Provisioned IOPS) | 🔴 Expensive — $377/mo |
| Storage Size | 400 GB | 🔴 Only 44 GB used (11%) |
| IOPS | 3,000 provisioned | 🔴 Way overkill |
| Multi-AZ | Disabled | — |
| Backup Retention | 7 days | — |
| Instance | Region | Public IP | Role |
|---|---|---|---|
| t2.medium | us-east-1 | 54.87.49.10 | Main app server |
| t3.medium | us-east-1 | 44.210.241.193 | App server #2 |
| t2.large | us-west-1 | 52.53.250.138 | Staging/secondary |
Recommended fix: Restrict the security group inbound rule to only the EC2 instance IPs (54.87.49.10/32 and 44.210.241.193/32). This takes 2 minutes in the AWS Console.
Switch from Provisioned IOPS (io2) to General Purpose SSD (gp3). GP3 gives 3,000 baseline IOPS included for free — exactly what's being paid extra for with io2.
Only 44 GB is used (11%). Shrink to 100 GB for headroom. Note: storage reduction requires a snapshot → restore process.
For a single-app database with moderate traffic, t4g.small (2 GB RAM) is sufficient. Can scale back up anytime.
Restrict MySQL 3306 inbound to only EC2 instance IPs. Takes 2 minutes, zero risk.
Business Support at $58/mo is the 2nd highest tier. If technical support isn't used frequently, Developer tier ($29/mo) or Basic (free) may suffice.
| Optimization | Monthly | Annual |
|---|---|---|
| RDS io2 → gp3 storage | $369 | $4,428 |
| Shrink RDS storage 400→100GB | $10 | $120 |
| Downsize RDS instance | $25 | $300 |
| Consolidate EC2 instances | ~$75 | ~$900 |
| Lower support tier | $29 | $348 |
| TOTAL POTENTIAL | ~$508/mo | ~$6,096/yr |
Need help implementing any of these changes? Reach out — happy to assist.