Så drog vi cirka $5,000 i månaden från AWS-räkningen med Claude Code
Inledning
Vi minskade våra månatliga AWS-kostnader med ungefär $5,000 med hjälp av Claude Code. Med dagens valutasituation lider säkert många utvecklingsbolag av AWS-räkningen. Förhoppningsvis kan vårt fall vara till nytta.
| Åtgärd | Besparing/månad |
|---|---|
| Migrering från AWS Client VPN till Headscale VPN (inkl. Private CA) | $1,178 |
| Städning av Private CA och optimering av krypteringsnycklar | $2,300 |
| Nedstängning av ECS i utvecklingsmiljön nattetid och helger | $988 |
| Köp av reserverade instanser till RDS | $811 |
| Konsolidering av NAT Gateway | $267 |
| Byte till Fargate Spot | $263 |
| Övrigt (S3-livscykler m.m.) | $78 |
| Totalt | $5,885 |
Vi är ett utvecklingsbolag med cirka 50 anställda fördelade på Vietnam och Japan. Kostnadsstrukturen är enkel: löner och AWS-serverkostnader står för merparten.
Till det kommer en ny post: kostnaden för AI-agentverktyg som Claude Code.
För att lyfta produktiviteten rullade vi ut Claude Code i full skala. Då kostade en Premium-plats i Team Plan ungefär $150 per person och månad. Skalat över hela bolaget blir det snabbt en saftig summa.
Att investera i AI och höja produktiviteten är ett rätt beslut. Men när nya kostnader kommer in måste man se över de befintliga och hitta balans. Som utvecklingsbolag har vi i praktiken bara två stora poster att skruva på: löner och serverkostnader.
Så vi tog tag i AWS-kostnadsoptimeringen.
Låt Claude Code snusa fram kostnadernas “smell”
Det roliga är att själva genomgången utfördes av Claude Code.
Vi har gett Claude Code en AWS CLI-skill. Den kan självständigt hantera AWS-profiler, SSO-inloggning och en uppsjö CLI-kommandon.
Först lät vi den scanna våra 19 AWS-konton parallellt. Vilken infrastruktur kör i vart och ett, hur mycket kostar det, och finns det poster som “luktar” — har en kostnads-smell?
Claude Codes genomgång pekade ut flera tydliga förbättringsområden. Optimeringar som bara går i utvecklingsmiljön; resurser som bara ligger där utan syfte; saker som krymper enormt med en enda inställning. Vi tog dem en i taget och stängde luckorna.
Den stora bilden
Baseline var $30,398 i månaden i december 2025. Vi genomförde åtgärderna i tur och ordning från slutet av 2025 till slutet av mars 2026. Vissa åtgärder — som VPN-avvecklingen och borttagningen av Private CA — slår igenom fullt ut först från april, så när allt är aktivt landar den förväntade nedgången på omkring $5,000–6 000/månad jämfört med december-baseline.
Här är huvudåtgärderna i korta drag.
1. Nedstängning av ECS i utvecklingsmiljön nattetid och helger (-$988/månad)
Vi konfigurerade automatisk avstängning av 55 ECS-services i utvecklingsmiljön nattetid och helger. Utvecklingsmiljön används bara under kontorstid men gick 24/7. Det låter självklart, men det är just den sortens sak man förbiser.
2. Migrering från AWS Client VPN till Headscale VPN (-$1,178/månad)
Mer om det nedan. Det här är den roligaste åtgärden.
3. Städning av Private CA och optimering av krypteringsnycklar (-$2,300/månad)
I och med att AWS App Mesh avvecklades behövde vi inte längre Private CA och raderade den. Vi såg också över hur krypteringsnycklarna förvaltas och balanserade kostnad mot säkerhetskrav.
4. Köp av reserverade instanser till RDS (-$811/månad)
Vi köpte RI:er för totalt 5 instanser fördelat på dev, staging och prod på en gång. En förinvestering på $10,675 med 44 % rabatt, återbetald på cirka 11 månader.
5. Byte till Fargate Spot Instance (-$263/månad)
Vi växlade över ECS-services i utvecklingsmiljön till Fargate Spot. I en utvecklingsmiljö är Spot-avbrott en acceptabel risk.
6. Konsolidering av NAT Gateway (-$267/månad)
I tre konton slogs tre NAT Gateways ihop till en per konto. Vi övervakade trafiken i den oanvända AZ:n under sju dagar och raderade när den var noll.
VPN-migreringen — från $1,178/månad till $42/månad
Det mest spännande steget var VPN-migreringen.
Vi använder VPN för att komma åt kundernas utvecklingsmiljöer. Vi körde ursprungligen på AWS Client VPN, men det visade sig kosta mycket mer än vi trodde.
- AWS Client VPN (4 endpoints): $776/månad
- AWS Private CA (certifikatauktoritet): $402/månad
- Totalt: $1,178/månad
Ärligt talat hade vi inte gissat att VPN skulle kosta så mycket. Det var en av posterna vi upptäckte först när Claude Code gick igenom räkningen.
Alternativet Headscale
Vi valde Headscale som ersättning. Det är en open source-controller för Tailscale, och på klientsidan använder man den vanliga Tailscale-klienten.
Vår konfiguration:
- Headscale-server: 1 EC2 t3.small (~$21/månad)
- Autentisering: Logto Self-Hosted (OIDC, 1 EC2 t3.small, ~$21/månad)
- Totalt: ca $42/månad
Från $1,178 till $42. En minskning på 96 %.
Logto som identitetsplattform
Lite om Logto, som vi använder för autentisering. Det är en open source identitetsplattform som går att självhosta, med fullskalig OAuth 2.0 / OIDC. Google SSO, GitHub SSO, MFA, Organizations och M2M-appar är helt gratis i den självhostade versionen.
För externa produktionstjänster kan Logto Cloud vara ett alternativ, men som intern autentiseringsstomme är den självhostade versionen riktigt stark. Utvecklingsteamet uppdaterar flitigt och det är ärligt talat en av mina favoritprodukter just nu.
Designprincip — IP-adressen får inte ändras
Det viktigaste under migreringen var att vår utgående IP-adress inte fick ändras. Vår IP är whitelisted hos kunder, och om den ändras blir det kaos.
Lösningen var att placera Headscale bakom den befintliga NAT Gateway:n. All VPN-trafik går ut via samma NAT Gateway som tidigare, så käll-IP:n är oförändrad.
En månads dogfooding
Vi rullade inte ut till hela företaget på en gång. Vi körde en månads dogfooding först.
Ärligt talat var det en del problem. Brutna anslutningar, instabil Exit Node, specifika enheter som inte kunde återansluta.
Också här löste vi problemen ett efter ett tillsammans med Claude Code. Justering av kernel-parametrar (större UDP-buffertar, inställning av conntrack-timeouts), uppsättning av en egen DERP-relay, etablerade rutiner för nodhantering osv.
Det finns kvar utmaningar, men i dagsläget kör vi stabilt i utvecklingsmiljön.
Prestanda
Vi verifierade också prestandan:
- Inledningsvis: 11-14 Mbps (via offentlig DERP-relay)
- Efter egen DERP: 106-134 Mbps
Det är minst i nivå med AWS Client VPN.
Verifikation i Cost Explorer
Vi nöjde oss inte med att genomföra åtgärderna — varje steg verifierades i AWS Cost Explorer. Också här lät vi Claude Code gå in via CLI.
Vi upptäckte exempelvis att Fargate Spot är svår att se i Cost Explorers vanliga filter. Spot-rabatten döljs i Fargate-posten och behöver granskas separat. Den sortens “åtgärden borde ge effekt men jag ser den inte”-problem löste vi genom att låta Claude Code gräva i datan.
Avslutning
Kostnadsstrukturen i AI-eran är i förändring. Verktyg som Claude Code adderar nya utgifter, men samma verktyg kan användas för att optimera infrastrukturkostnader.
För oss steg Claude Code-kostnaden visserligen, men Claude Code har själv betalat tillbaka mer än den kostar i form av AWS-besparingar. Investera i AI, låt AI tjäna tillbaka investeringen. Det kretsloppet har börjat fungera väl hos oss.
Lärdomen från det här arbetet är vikten av att först få en helhetsbild. Att granska 19 konton manuellt är inte realistiskt. Det var just för att vi gav Claude Code AWS CLI och lät den scanna brett som vi hittade saker som VPN-räkningen — “kostade den verkligen så mycket?”.
I er AWS-miljö ligger kanske också en kostnads-smell och slumrar.
I dag fokuserade vi på VPN-migreringen, men jag skriver gärna en separat artikel om någon av de andra åtgärderna om det är intressant. Skriv en kommentar om något lockar.
Masaki Kondo — CEO, Guide Inc. Vietnam https://koedesk.app