Kostnadsoptimalisering for S3 og dataoverføring
Bruk S3 Intelligent-Tiering, livssyklusregler, S3 Select og CloudFront for å redusere kostnadene for lagring og dataoverføring betydelig
Kostnadsoptimalisering for S3 og dataoverføring er en gratis leksjon i Cloud & IT Cert Prep på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cloud & IT Cert Prep, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.
Grunnleggende om S3-lagringskostnader
Amazon S3-lagringskostnader varierer betydelig avhengig av lagringsklasse og tilgangsmønster. S3 Standard koster omtrent 0,023 USD per GB per måned – i petabyteskala blir dette betydelig. Den gode nyheten er at S3 tilbyr sju lagringsklasser som er optimalisert for ulike tilgangsfrekvenser, med priser fra 0,023 USD/GB (Standard) til 0,00099 USD/GB (Glacier Deep Archive). Nøkkelen til kostnadsoptimalisering i S3 er å plassere dataene i riktig lagringsklasse og automatisere overganger med livssyklusregler.
# S3 storage class costs (us-east-1 approximate):
# S3 Standard: $0.023/GB/month
# S3 Intelligent-Tiering: $0.023/GB (frequent) + $0.0125 (infrequent)
# S3 Standard-IA: $0.0125/GB/month + retrieval fee
# S3 One Zone-IA: $0.01/GB/month (single AZ)
# S3 Glacier Instant: $0.004/GB/month + retrieval fee
# S3 Glacier Flexible: $0.0036/GB/month + retrieval time
# S3 Glacier Deep Archive: $0.00099/GB/month + retrieval timeS3 Intelligent-Tiering
S3 Intelligent-Tiering flytter automatisk objekter mellom tilgangsnivåer basert på faktiske tilgangsmønstre – ingen kostnader for uthenting og ingen minimumsvarighet for nivået for hyppig tilgang. Tjenesten overvåker tilgangen på objektnivå: Objekter som ikke har vært åpnet på 30 dager, flyttes til nivået for sjelden tilgang (40 % billigere), og etter 90 dager flyttes de til arkivnivået for umiddelbar tilgang (68 % billigere). Det påløper et lite månedlig overvåkingsgebyr (0,0025 USD per 1 000 objekter). Bruk Intelligent-Tiering når du ikke kan forutsi tilgangsmønstre, eller når du har både data med hyppig og sjelden tilgang i samme bucket.
# Enable Intelligent-Tiering on objects
aws s3api put-object \
--bucket my-bucket \
--key data/report.parquet \
--body report.parquet \
--storage-class INTELLIGENT_TIERING
# Or set as default for entire bucket
aws s3api put-bucket-intelligent-tiering-configuration \
--bucket my-bucket \
--id whole-bucket-tiering \
--intelligent-tiering-configuration '{
"Id": "whole-bucket-tiering",
"Status": "Enabled",
"Tierings": [
{"AccessTier": "ARCHIVE_ACCESS", "Days": 90},
{"AccessTier": "DEEP_ARCHIVE_ACCESS", "Days": 180}
]
}'S3-livssyklusregler for automatisk nivåinndeling
S3-livssyklusregler automatiserer overganger og utløp for objekter basert på alder. Du definerer regler etter prefiks eller tagg og angir deretter overganger ved bestemte dagsterskler. En typisk livssyklus for arkivering er: Standard → Standard-IA (30 dager) → Glacier Instant Retrieval (90 dager) → Deep Archive (365 dager) → Slett (2555 dager). Dette kan over tid redusere lagringskostnaden per GB fra 0,023 USD til 0,00099 USD – en reduksjon på 95 % for arkiverte data. Livssyklusoverganger har en minste objektstørrelse på 128 KB for IA og Glacier (mindre objekter er ikke kostnadseffektive å flytte).
# Lifecycle rule: transition logs to archive
aws s3api put-bucket-lifecycle-configuration \
--bucket app-logs-bucket \
--lifecycle-configuration '{
"Rules": [{
"ID": "log-archive",
"Filter": {"Prefix": "logs/"},
"Status": "Enabled",
"Transitions": [
{"Days": 30, "StorageClass": "STANDARD_IA"},
{"Days": 90, "StorageClass": "GLACIER_IR"},
{"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
],
"Expiration": {"Days": 2555}
}]
}'S3 Select og Glacier Select
S3 Select lar deg hente bare dataene du trenger fra et S3-objekt ved hjelp av SQL-uttrykk, i stedet for å laste ned hele objektet. Hvis du har en CSV-fil på 10 GB og bare trenger 100 rader, kan S3 Select hente kun disse radene – noe som reduserer kostnadene for dataoverføring og behandlingstiden i applikasjonen betydelig. Glacier Select gjør det samme for objekter i Glacier. S3 Select støtter formatene CSV, JSON og Parquet. Dette er spesielt nyttig i datapipeliner for analyse, der mange spørringer bare bruker en delmengde av hver datafil.
# S3 Select: query a CSV object using SQL expression
aws s3api select-object-content \
--bucket analytics-data \
--key sales/2026-06.csv \
--expression-type SQL \
--expression "SELECT * FROM S3Object WHERE region = 'us-east'" \
--input-serialization 'CSV={FileHeaderInfo=USE}' \
--output-serialization 'CSV={}' \
output.csv
# Only the matching rows are returned
# Saves data transfer cost vs downloading entire fileS3 Multipart Upload og Transfer Acceleration
Ved opplasting av store objekter deler S3 Multipart Upload objektene inn i deler (minimum 5 MB per del) som lastes opp parallelt. Dette øker gjennomstrømningen og gjør det mulig å gjenoppta opplastinger. Mislykkede deler kan forsøkes på nytt uten å starte hele opplastingen på nytt. Rydd opp i ufullstendige multipart-opplastinger med livssyklusregler for å unngå å bli belastet for ufullstendige deler. S3 Transfer Acceleration ruter opplastinger via AWS CloudFront-edge-lokasjoner for raskere opplastinger fra steder langt unna – nyttig for brukere som laster opp store filer globalt, men det medfører ekstra kostnader (0,04–0,08 USD/GB). Bruk dette bare når akselerasjonen gir en målbar forbedring.
# Multipart upload example
aws s3api create-multipart-upload \
--bucket my-bucket --key large-file.zip
# Abort incomplete multipart uploads via lifecycle
aws s3api put-bucket-lifecycle-configuration \
--bucket my-bucket \
--lifecycle-configuration '{
"Rules": [{
"ID": "cleanup-incomplete-uploads",
"Status": "Enabled",
"AbortIncompleteMultipartUpload": {"DaysAfterInitiation": 7}
}]
}'Forstå kostnader for dataoverføring
Kostnader for dataoverføring er blant de mest overraskende AWS-regningene. Viktige regler: Innkommende dataoverføring (inn til AWS) er kostnadsfri. Utgående dataoverføring til internett koster omtrent 0,09 USD/GB (de første 10 TB per måned). Dataoverføring mellom regioner koster omtrent 0,02 USD/GB. Dataoverføring mellom AZ-er i samme region koster 0,01 USD/GB i hver retning. Innenfor samme AZ er kostnadsfritt. Utform arkitekturer slik at dataoverføring mellom regioner og til internett minimeres – derfor er regionale distribusjoner og CloudFront avgjørende for kostnadseffektiv levering av innhold.
# Data transfer cost examples (us-east-1):
# Internet (outbound): $0.09/GB (first 10 TB)
# CloudFront -> internet: $0.0085/GB (much cheaper!)
# Cross-region: $0.02/GB
# Cross-AZ (same region): $0.01/GB each direction
# Same AZ: $0.00/GB (free)
# S3 -> CloudFront: $0.00/GB (free!)
# Cost reduction tip:
# S3 -> CloudFront -> users
# vs
# EC2 -> internet -> users
# CloudFront is 10x cheaper for data egressCloudFront for redusert kostnad ved dataoverføring
Levering av innhold gjennom Amazon CloudFront reduserer kostnadene for dataoverføring betydelig på to måter. For det første har CloudFront lavere priser for utgående trafikk enn direkte internettilgang via EC2 eller S3 (omtrent 0,0085 USD/GB mot 0,09 USD/GB). For det andre bufrer CloudFront innhold på edge-lokasjoner, slik at dataene hentes fra opprinnelsen færre ganger – det samme innholdet kan potensielt leveres millioner av ganger fra bufferen etter bare én henting fra opprinnelsen. Dataoverføring fra S3 til CloudFront er også kostnadsfri. Dette gjør CloudFront til et verktøy for kostnadsoptimalisering, ikke bare for bedre ytelse.
# Cost comparison for 100 TB/month of outbound traffic:
# Direct from EC2/S3 to internet:
# 100,000 GB x $0.09/GB = $9,000/month
# Via CloudFront (assuming 80% cache hit rate):
# 20,000 GB origin pull: free (S3->CF) or $0.02 (EC2->CF)
# 100,000 GB CF->internet: 100,000 x $0.0085 = $850
# Total: ~$1,250 vs $9,000 = 86% savings
# Create CloudFront distribution with S3 origin
aws cloudfront create-distribution \
--distribution-config file://cf-config.jsonVPC-endepunkter for å unngå kostnader for NAT Gateway
Gebyrer for databehandling i NAT Gateway (0,045 USD/GB) kan bli betydelige når EC2-instanser i private delnett ofte får tilgang til S3 eller DynamoDB. Bruk i stedet VPC Gateway Endpoints for S3 og DynamoDB – de ruter trafikken gjennom AWS-nettverkets ryggrad til null kostnad og krever ikke en NAT Gateway for disse tjenestene. I tillegg eliminerer VPC Interface Endpoints (PrivateLink) for andre AWS-tjenester NAT Gateway-gebyrer for trafikk til disse tjenestene, selv om selve Interface Endpoints har en liten timekostnad.
# Create VPC Gateway Endpoint for S3 (free!)
aws ec2 create-vpc-endpoint \
--vpc-id vpc-12345 \
--service-name com.amazonaws.us-east-1.s3 \
--vpc-endpoint-type Gateway \
--route-table-ids rtb-private-AZ1 rtb-private-AZ2
# Traffic from EC2 in private subnet to S3:
# WITHOUT endpoint: EC2 -> NAT GW ($0.045/GB) -> S3
# WITH endpoint: EC2 -> S3 via VPC endpoint ($0.00/GB)
# For DynamoDB:
aws ec2 create-vpc-endpoint \
--service-name com.amazonaws.us-east-1.dynamodb \
--vpc-endpoint-type GatewayOptimalisering av S3-forespørselskostnader
S3 tar betalt både per API-forespørsel og per lagrede GB. PUT, COPY, POST, LIST-forespørsler koster 0,005 USD per 1 000, mens GET, SELECT-forespørsler koster 0,0004 USD per 1 000. For applikasjoner som gjør millioner av forespørsler, blir disse kostnadene betydelige. Optimaliser ved å: samle små objekter i større objekter (færre forespørsler), bruke CloudFront til å levere bufrede svar (reduserer GET-forespørsler til opprinnelsen), unngå listeoperasjoner når det er mulig (LIST er kostbart), og bruke S3 Batch Operations for masseoperasjoner i stedet for millioner av individuelle API-kall.
# S3 Batch Operations: process millions of objects at once
aws s3control create-job \
--account-id 123456789012 \
--manifest '{
"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},
"Location":{"ObjectArn":"arn:aws:s3:::manifest-bucket/manifest.csv","ETag":"abc123"}
}' \
--operation '{
"S3CopyObject": {
"TargetResource": "arn:aws:s3:::destination-bucket",
"StorageClass": "GLACIER"
}
}' \
--report '{"Bucket":"arn:aws:s3:::report-bucket","Enabled":true}'AWS DataSync for dataoverføring
Ved dataoverføringer i stor skala mellom lokale datasentre og AWS, eller mellom AWS-tjenester, er AWS DataSync mer kostnadseffektivt enn å skrive egen kode for overføring. DataSync bruker en spesialutviklet protokoll som oppnår opptil ti ganger gjennomstrømningen til verktøy med åpen kildekode, og har innebygd datavalidering, planlegging og overvåking. Data som overføres via DataSync til S3, EFS eller FSx, belastes etter standardprisene for dataoverføring i AWS – men effektiviteten i DataSync gjør at overføringene fullføres raskere, noe som reduserer EC2-beregningstiden (og kostnaden) som kreves for store migreringer.
# Create DataSync task to copy S3 bucket to another region
aws datasync create-task \
--source-location-arn arn:aws:datasync:us-east-1:123:location/loc-source \
--destination-location-arn arn:aws:datasync:us-west-2:123:location/loc-dest \
--name 'DR-replication' \
--options '{
"VerifyMode": "ONLY_FILES_TRANSFERRED",
"OverwriteMode": "ALWAYS",
"TransferMode": "CHANGED"
}'
# DataSync pricing: $0.0125/GB transferredStorage Lens for oversikt over S3
Amazon S3 Storage Lens gir oversikt over S3-lagringsbruk og aktivitetsmålinger på tvers av organisasjonen, kontoer og regioner. Tjenesten avdekker muligheter for kostnadsoptimalisering, for eksempel buckets uten livssyklusregler, buckets med ufullstendige multipart-opplastinger eller fordelingen mellom lagringsklasser. Standarddashbordet i S3 Storage Lens er kostnadsfritt, mens dashbordet med avanserte målinger (0,20 USD/million objekter) gir mer detaljert visning per prefiks og målinger av dataalder. Bruk Storage Lens som utgangspunkt for alle kostnadsoptimaliseringstiltak i S3, slik at du kan identifisere bucketene med størst potensial for forbedring.
# Enable S3 Storage Lens dashboard
aws s3control put-storage-lens-configuration \
--account-id 123456789012 \
--config-id default \
--storage-lens-configuration '{
"Id": "default",
"IsEnabled": true,
"DataExport": {
"S3BucketDestination": {
"AccountId": "123456789012",
"Arn": "arn:aws:s3:::my-storage-lens-export",
"Format": "CSV",
"OutputSchemaVersion": "V_1"
}
}
}'Kort kontroll
Test forståelsen din av konseptene i AWS Solutions Architect (SAA-C03) fra denne leksjonen.
Oppsummering av leksjonen
I denne leksjonen lærte du at: S3 Intelligent-Tiering og livssyklusregler reduserer lagringskostnadene ved å flytte data automatisk til billigere lagringsklasser, CloudFront reduserer kostnadene for dataoverføring betydelig sammenlignet med direkte levering fra S3 eller EC2, og VPC Gateway Endpoints eliminerer NAT Gateway-gebyrer for S3- og DynamoDB-trafikk. S3 Storage Lens gir oversikt over muligheter for optimalisering. Neste tema er KMS, ACM og krypteringsmønstre.
Lær deg Cloud & IT Cert Prep med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 150
- Leksjoner
- 600
Ofte stilte spørsmål
Er leksjonen «Kostnadsoptimalisering for S3 og dataoverføring» gratis?
Ja – hele teksten i «Kostnadsoptimalisering for S3 og dataoverføring» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cloud & IT Cert Prep-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.
Hva lærer jeg i «Kostnadsoptimalisering for S3 og dataoverføring»?
Bruk S3 Intelligent-Tiering, livssyklusregler, S3 Select og CloudFront for å redusere kostnadene for lagring og dataoverføring betydelig Du øver på Cloud & IT Cert Prep med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Cloud & IT Cert Prep?
Ingen tidligere erfaring er nødvendig. Cloud & IT Cert Prep på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Kostnadsoptimalisering for S3 og dataoverføring»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Cloud & IT Cert Prep-leksjonen?
Ja. Alle Cloud & IT Cert Prep-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Riktig dimensjonering og Compute Optimizer
- Reserverte instanser, Savings Plans og Spot
- Cost Explorer, budsjetter og tagger for kostnadsfordeling
- Kostnadsoptimalisering for S3 og dataoverføring