Kostenoptimalisatie voor S3 en gegevensoverdracht
Pas S3 Intelligent-Tiering, lifecycle-regels, S3 Select en CloudFront toe om opslag- en gegevensoverdrachtkosten aanzienlijk te verlagen.
Kostenoptimalisatie voor S3 en gegevensoverdracht is een gratis Cloud & IT Cert Prep-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cloud & IT Cert Prep. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cloud & IT Cert Prep bevat in totaal 4 lessen.
Basisprincipes van S3-opslagkosten
De opslagkosten van Amazon S3 verschillen aanzienlijk per opslagklasse en toegangspatroon. Voor S3 Standard betaal je ongeveer $0.023 per GB per maand — op petabyteschaal loopt dit aanzienlijk op. Het goede nieuws is dat S3 zeven opslagklassen biedt die zijn geoptimaliseerd voor verschillende toegangsfrequenties, met prijzen van $0.023/GB (Standard) tot $0.00099/GB (Glacier Deep Archive). De sleutel tot kostenoptimalisatie van S3 is je gegevens aan de juiste opslagklasse koppelen en overgangen automatiseren met levenscyclusbeleid.
# 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 verplaatst objecten automatisch tussen toegangslagen op basis van daadwerkelijke toegangspatronen — zonder kosten voor het ophalen en zonder minimale opslagduur voor de frequente laag. De toegang wordt op objectniveau gecontroleerd: objecten die 30 dagen niet zijn geopend, worden naar de laag voor infrequente toegang verplaatst (40% goedkoper) en na 90 dagen naar de archieflaag voor directe toegang (68% goedkoper). Er geldt een kleine maandelijkse vergoeding voor controle ($0.0025 per 1.000 objecten). Gebruik Intelligent-Tiering wanneer je toegangspatronen niet kunt voorspellen of wanneer je zowel vaak als zelden gebruikte gegevens in dezelfde bucket hebt.
# 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-levenscyclusregels voor automatische laagindeling
S3-levenscyclusregels automatiseren overgangen en verwijderingen van objecten op basis van hun leeftijd. Je definieert regels op basis van een prefix of tag en geeft vervolgens overgangen op specifieke dagdrempels op. Een typische levenscyclus voor archivering is: Standard → Standard-IA (30 dagen) → Glacier Instant Retrieval (90 dagen) → Deep Archive (365 dagen) → Delete (2555 dagen). Hiermee kunnen de opslagkosten per GB na verloop van tijd dalen van $0.023 naar $0.00099 — een verlaging van 95% voor gearchiveerde gegevens. Voor overgangen naar IA en Glacier geldt een minimale objectgrootte van 128 KB (kleinere objecten zijn niet kostenefficiënt om over te zetten).
# 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 en Glacier Select
Met S3 Select kun je alleen de gegevens ophalen die je nodig hebt uit een S3-object met behulp van SQL-expressies, in plaats van het volledige object te downloaden. Voor een CSV-bestand van 10 GB waarvan je slechts 100 rijen nodig hebt, kan S3 Select alleen die rijen ophalen — waardoor de kosten voor gegevensoverdracht en de verwerkingstijd van de toepassing aanzienlijk afnemen. Glacier Select doet hetzelfde voor objecten in Glacier. S3 Select ondersteunt de indelingen CSV, JSON en Parquet. Dit is vooral waardevol in gegevensanalysepijplijnen waarin veel query's slechts een deel van elk gegevensbestand benaderen.
# 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 en Transfer Acceleration
Bij het uploaden van grote objecten splitst S3 Multipart Upload objecten op in delen (minimaal 5 MB per deel) die parallel worden geüpload. Dit verbetert de doorvoersnelheid en maakt hervatbare uploads mogelijk. Mislukte delen kunnen opnieuw worden geprobeerd zonder de volledige upload opnieuw te starten. Ruim onvoltooide multipart-uploads op met levenscyclusregels om te voorkomen dat je moet betalen voor onvoltooide delen. S3 Transfer Acceleration leidt uploads via AWS CloudFront-edge-locaties om uploads vanaf verre locaties te versnellen — nuttig voor gebruikers die wereldwijd grote bestanden uploaden, maar het brengt extra kosten met zich mee ($0.04-$0.08/GB). Gebruik dit alleen wanneer de versnelling meetbare verbetering oplevert.
# 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}
}]
}'Inzicht in kosten voor gegevensoverdracht
Kosten voor gegevensoverdracht behoren tot de meest verrassende AWS-facturen. Belangrijke regels: inkomende gegevensoverdracht (naar AWS) is gratis. Uitgaande gegevensoverdracht naar internet kost ongeveer $0.09/GB (voor de eerste 10 TB per maand). Gegevensoverdracht tussen regio's kost ongeveer $0.02/GB. Gegevensoverdracht tussen AZ's binnen dezelfde regio kost $0.01/GB per richting. Binnen dezelfde AZ is gegevensoverdracht gratis. Ontwerp architecturen zo dat je gegevensoverdracht tussen regio's en naar internet tot een minimum beperkt — daarom zijn regionale implementaties en CloudFront essentieel voor kostenefficiënte levering van inhoud.
# 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 voor lagere kosten voor gegevensoverdracht
Inhoud leveren via Amazon CloudFront verlaagt de kosten voor gegevensoverdracht aanzienlijk op twee manieren. Ten eerste rekent CloudFront lagere tarieven voor uitgaande gegevensoverdracht dan EC2 of rechtstreekse internettoegang tot S3 (~$0.0085/GB tegenover $0.09/GB). Ten tweede slaat CloudFront inhoud op in edge-locaties, waardoor gegevens minder vaak vanuit je origin worden geleverd — dezelfde inhoud kan mogelijk miljoenen keren uit de cache worden geleverd met slechts één aanvraag bij de origin. Gegevensoverdracht van S3 naar CloudFront is ook gratis. Daardoor is CloudFront niet alleen een hulpmiddel voor prestaties, maar ook voor kostenoptimalisatie.
# 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-eindpunten om kosten van NAT Gateway te vermijden
De kosten voor gegevensverwerking van NAT Gateway ($0.045/GB) kunnen aanzienlijk worden wanneer EC2-instanties in private subnetten regelmatig toegang hebben tot S3 of DynamoDB. Gebruik in plaats daarvan VPC Gateway Endpoints voor S3 en DynamoDB — deze leiden verkeer via de AWS-netwerkbackbone tegen nul kosten en vereisen voor deze diensten geen NAT Gateway. Daarnaast elimineren VPC Interface Endpoints (PrivateLink) voor andere AWS-diensten de verwerkingskosten van NAT Gateway voor verkeer naar die diensten, hoewel voor Interface Endpoints zelf een kleine uurlijkse vergoeding geldt.
# 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 GatewayKosten van S3-aanvragen optimaliseren
S3 brengt zowel kosten per API-aanvraag als per opgeslagen GB in rekening. PUT-, COPY-, POST- en LIST-aanvragen kosten $0.005 per 1.000; GET- en SELECT-aanvragen kosten $0.0004 per 1.000. Voor toepassingen die miljoenen aanvragen doen, lopen deze kosten op. Optimaliseer dit door: kleine objecten te bundelen tot grotere objecten (minder aanvragen), CloudFront te gebruiken om antwoorden uit de cache te leveren (waardoor het aantal GET-aanvragen naar de origin afneemt), lijstbewerkingen waar mogelijk te vermijden (LIST is duur), en S3 Batch Operations te gebruiken voor bulkbewerkingen in plaats van miljoenen afzonderlijke API-aanroepen.
# 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 voor gegevensoverdracht
Voor grootschalige gegevensoverdrachten tussen on-premises en AWS, of tussen AWS-diensten, is AWS DataSync kostenefficiënter dan zelfgeschreven overdrachtscode. DataSync gebruikt een speciaal daarvoor ontwikkeld protocol dat tot 10 keer de doorvoersnelheid van opensourcehulpprogramma's haalt en ingebouwde validatie, planning en controle van gegevens biedt. Voor gegevens die via DataSync naar S3, EFS of FSx worden overgedragen, gelden de standaardtarieven van AWS voor gegevensoverdracht — maar dankzij de efficiëntie van DataSync zijn overdrachten sneller voltooid, waardoor de benodigde rekentijd (en kosten) van EC2 voor grote migraties afneemt.
# 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 voor inzicht in S3
Amazon S3 Storage Lens biedt inzicht voor de hele organisatie in het gebruik van S3-opslag en activiteitsstatistieken voor verschillende accounts en regio's. Het brengt mogelijkheden voor kostenoptimalisatie aan het licht, zoals buckets zonder levenscyclusregels, buckets met onvoltooide multipart-uploads of de verdeling over opslagklassen. Het standaarddashboard van S3 Storage Lens is gratis; het dashboard met geavanceerde statistieken ($0.20/miljoen objecten) voegt detailanalyse per prefix en statistieken over de ouderdom van gegevens toe. Gebruik Storage Lens als uitgangspunt voor elke kostenoptimalisatie van S3 om de buckets met de grootste impact te identificeren.
# 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"
}
}
}'Kennischeck
Test je begrip van de concepten voor AWS Solutions Architect (SAA-C03) uit deze les.
Lesoverzicht
In deze les heb je geleerd dat S3 Intelligent-Tiering en levenscyclusregels de opslagkosten verlagen door gegevens automatisch naar goedkopere opslagklassen te verplaatsen, dat CloudFront de kosten voor gegevensoverdracht aanzienlijk verlaagt in vergelijking met rechtstreekse levering vanuit S3 of EC2, en dat VPC Gateway Endpoints kosten van NAT Gateway voor verkeer van S3 en DynamoDB elimineren. S3 Storage Lens biedt inzicht in mogelijkheden voor optimalisatie. Hierna bekijken we KMS, ACM en versleutelingspatronen.
Leer Cloud & IT Cert Prep met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 150
- Lessen
- 600
Veelgestelde vragen
Is de les “Kostenoptimalisatie voor S3 en gegevensoverdracht” gratis?
Ja — de volledige tekst van “Kostenoptimalisatie voor S3 en gegevensoverdracht” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Cloud & IT Cert Prep wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Cloud & IT Cert Prep bevat in totaal 4 lessen.
Wat leer ik in “Kostenoptimalisatie voor S3 en gegevensoverdracht”?
Pas S3 Intelligent-Tiering, lifecycle-regels, S3 Select en CloudFront toe om opslag- en gegevensoverdrachtkosten aanzienlijk te verlagen. Je oefent met Cloud & IT Cert Prep door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Cloud & IT Cert Prep te beginnen?
Ervaring vooraf is niet nodig. Cloud & IT Cert Prep op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Kostenoptimalisatie voor S3 en gegevensoverdracht”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Cloud & IT Cert Prep?
Ja. Elke les over Cloud & IT Cert Prep bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Right-sizing en Compute Optimizer
- Reserved Instances, Savings Plans en Spot
- Cost Explorer, budgetten en tags voor kostentoewijzing
- Kostenoptimalisatie voor S3 en gegevensoverdracht