Slik kuttet vi rundt $5,000 i måneden fra AWS-regningen med Claude Code
Innledning
Vi reduserte våre månedlige AWS-kostnader med rundt $5,000 ved hjelp av Claude Code. Med dagens valutabilde sliter sikkert mange utviklingsselskaper med AWS-regningen. Forhåpentligvis kan vår erfaring være til nytte.
| Tiltak | Besparelse/måned |
|---|---|
| Migrering fra AWS Client VPN til Headscale VPN (inkl. Private CA) | $1,178 |
| Opprydding i Private CA og optimalisering av krypteringsnøkler | $2,300 |
| Nedstenging av ECS i utviklingsmiljøet om natten og i helger | $988 |
| Kjøp av reserverte instanser til RDS | $811 |
| Konsolidering av NAT Gateway | $267 |
| Bytte til Fargate Spot | $263 |
| Annet (S3-livssykler m.m.) | $78 |
| Totalt | $5,885 |
Vi er et utviklingsselskap med rundt 50 ansatte fordelt på Vietnam og Japan. Kostnadsstrukturen er enkel: lønninger og AWS-serverkostnader utgjør mesteparten.
I tillegg har det dukket opp en ny post: kostnader til AI-agentverktøy som Claude Code.
For å effektivisere arbeidet rullet vi ut Claude Code i full skala. Da kostet en Premium-plass i Team Plan rundt $150 per person per måned. Skalert ut til hele selskapet blir det fort store summer.
Å investere i AI og øke produktiviteten er en riktig beslutning. Men når nye kostnader kommer inn, må man se på de eksisterende og finne balanse. Som utviklingsselskap har vi i praksis bare to større poster å justere på: lønninger og serverkostnader.
Slik ble det at vi gikk i gang med AWS-kostnadsoptimalisering.
La Claude Code snuse fram kostnadenes “smell”
Det morsomme er at selve gjennomgangen også ble utført av Claude Code.
Vi har gitt Claude Code en AWS CLI-skill. Den håndterer selv AWS-profiler, SSO-innlogging og en rekke CLI-kommandoer.
Først lot vi den scanne våre 19 AWS-kontoer på tvers. Hvilken infrastruktur kjører i hver konto, hva koster den, og er det noen poster som “lukter” — som har en smell av sløsing?
Claude Codes gjennomgang pekte på flere klare forbedringsområder. Optimaliseringer som bare er aktuelle i utviklingsmiljøet, ressurser som ligger der uten formål, ting som krymper voldsomt med én enkelt innstilling. Vi tok dem en for en.
Det store bildet
Baseline var $30,398 i måneden i desember 2025. Vi gjennomførte tiltakene fra slutten av 2025 til slutten av mars 2026. Noen tiltak — som avvikling av VPN og sletting av Private CA — slår fullt inn først fra april, så når alt er aktivt forventes total nedgang på rundt $5,000–6 000/måned sammenlignet med desember-baseline.
Her er hovedtiltakene i kort form.
1. Nedstenging av ECS i utviklingsmiljøet om natten og i helger (-$988/måned)
Vi satte opp automatisk stopp av 55 ECS-services i utviklingsmiljøet om natten og i helgene. Utviklingsmiljøet brukes bare i arbeidstiden, men gikk 24/7. Det høres opplagt ut, men er nettopp den typen ting som overses.
2. Migrering fra AWS Client VPN til Headscale VPN (-$1,178/måned)
Mer om dette nedenfor. Dette er det mest spennende tiltaket.
3. Opprydding i Private CA og optimalisering av krypteringsnøkler (-$2,300/måned)
Da AWS App Mesh ble avviklet, trengte vi ikke lenger Private CA og slettet den. Vi så også på hvordan krypteringsnøklene forvaltes og balanserte kostnad mot sikkerhetskrav.
4. Kjøp av reserverte instanser til RDS (-$811/måned)
Vi kjøpte RI for totalt 5 instanser fordelt på dev, staging og prod i én omgang. En forhåndsinvestering på $10,675 med 44 % rabatt, tilbakebetalt på cirka 11 måneder.
5. Bytte til Fargate Spot Instance (-$263/måned)
Vi vekslet over ECS-services i utviklingsmiljøet til Fargate Spot. I et utviklingsmiljø er Spot-avbrudd en akseptabel risiko.
6. Konsolidering av NAT Gateway (-$267/måned)
I tre kontoer slo vi tre NAT Gateways sammen til én per konto. Vi overvåket trafikken i den ubrukte AZ-en i sju dager og slettet når den var null.
VPN-migreringen — fra $1,178/måned til $42/måned
Det mest spennende tiltaket var VPN-migreringen.
Vi bruker VPN for å gi tilgang til kundenes utviklingsmiljøer. Vi kjørte opprinnelig på AWS Client VPN, men det viste seg å koste langt mer enn vi trodde.
- AWS Client VPN (4 endepunkter): $776/måned
- AWS Private CA (sertifikatautoritet): $402/måned
- Totalt: $1,178/måned
Ærlig talt hadde vi ikke sett for oss at VPN-en skulle koste så mye. Det var en av postene vi først oppdaget da Claude Code gikk gjennom regningen.
Alternativet Headscale
Vi valgte Headscale som erstatning. Det er en open source-controller for Tailscale, og på klientsiden bruker man den vanlige Tailscale-klienten.
Vårt oppsett:
- Headscale-server: 1 EC2 t3.small (~$21/måned)
- Autentisering: Logto Self-Hosted (OIDC, 1 EC2 t3.small, ~$21/måned)
- Totalt: ca. $42/måned
Fra $1,178 til $42. En reduksjon på 96 %.
Logto som identitetsplattform
Litt om Logto, som vi bruker for autentisering. Det er en open source identitetsplattform som kan selvhostes, med god støtte for OAuth 2.0 / OIDC. Google SSO, GitHub SSO, MFA, Organizations og M2M-apper er helt gratis i den selvhostede versjonen.
For eksterne produksjonstjenester kan Logto Cloud være et alternativ, men som intern autentiseringsstomme er den selvhostede versjonen veldig sterk. Utviklingsteamet leverer hyppige oppdateringer, og det er ærlig talt en av mine favorittprodukter for tiden.
Designprinsipp — IP-adressen skal ikke endres
Det viktigste under migreringen var at utgående IP-adresse ikke måtte endres. IP-en vår er whitelisted hos kundene, og endres den, blir det kaos.
Løsningen var å plassere Headscale bak den eksisterende NAT Gateway-en. All VPN-trafikk går ut via samme NAT Gateway som før, så kilde-IP-en er uendret.
En måneds dogfooding
Vi rullet ikke ut til hele selskapet på én gang. Vi kjørte en måneds dogfooding først.
Ærlig talt: Det var en del problemer. Brutte tilkoblinger, ustabil Exit Node, spesifikke enheter som ikke klarte å koble til igjen.
Også her løste vi det ett problem av gangen sammen med Claude Code. Tuning av kernel-parametere (større UDP-buffere, justering av conntrack-timeouts), oppsett av egen DERP-relay-server, etablering av rutiner for nodehåndtering osv.
Det finnes fortsatt utfordringer, men i dag kjører oppsettet stabilt for utviklingsmiljøet.
Ytelse
Vi bekreftet også ytelsen:
- I starten: 11-14 Mbps (via offentlig DERP-relay)
- Etter egen DERP: 106-134 Mbps
Det er minst på linje med AWS Client VPN.
Verifikasjon i Cost Explorer
Vi nøyde oss ikke med å gjennomføre tiltakene — hvert steg ble verifisert i AWS Cost Explorer. Også her brukte vi Claude Code via CLI.
Vi oppdaget for eksempel at Fargate Spot er vanskelig å se i Cost Explorers vanlige filtre. Spot-rabatten gjemmer seg inne i Fargate-posten og krever en mer detaljert avlesning. Denne typen “tiltaket burde gi effekt, men jeg ser den ikke”-problemer løste vi ved å la Claude Code grave i dataene.
Avslutning
Kostnadsstrukturen i AI-æraen er i endring. Verktøy som Claude Code legger til nye utgifter, men de samme verktøyene kan brukes til å optimalisere infrastrukturkostnader.
For oss steg riktignok Claude Code-kostnaden, men Claude Code har selv betalt mer enn den koster i form av AWS-besparelser. Invester i AI, la AI tjene tilbake investeringen. Den syklusen har begynt å gå rundt for oss.
Hovederfaringen i denne omgangen var betydningen av først å få oversikt. Å gå gjennom 19 kontoer manuelt er ikke realistisk. Det var nettopp fordi vi ga Claude Code AWS CLI og lot den scanne bredt, at vi oppdaget ting som VPN-regningen — “kostet den virkelig så mye?”.
Det ligger kanskje en kostnads-smell og sover i deres AWS-miljø også.
I dag fokuserte vi på VPN-migreringen, men jeg skriver gjerne en egen artikkel om noen av de andre tiltakene hvis det er interesse. Slipp gjerne en kommentar hvis noe lokker.
Masaki Kondo — CEO, Guide Inc. Vietnam https://koedesk.app