Cloud & IT Cert Prep · Lektion

Omkostningsoptimering af S3 og dataoverførsel

Anvend S3 Intelligent-Tiering, livscyklusregler, S3 Select og CloudFront for markant at reducere omkostningerne til lagring og dataoverførsel

Lektion 4 af 413 trin

Omkostningsoptimering af S3 og dataoverførsel er en gratis Cloud & IT Cert Prep-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cloud & IT Cert Prep, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Grundlæggende om S3-lagringsomkostninger

Amazon S3-lagringsomkostninger varierer betydeligt afhængigt af lagringsklasse og adgangsmønster. S3 Standard koster cirka 0,023 USD pr. GB pr. måned — i petabyteskala bliver det betydeligt. Den gode nyhed er, at S3 tilbyder syv lagringsklasser, der er optimeret til forskellige adgangsfrekvenser, med priser fra 0,023 USD/GB (Standard) til 0,00099 USD/GB (Glacier Deep Archive). Nøglen til optimering af S3-omkostninger er at matche dine data med den rette lagringsklasse og automatisere overgange med livscykluspolitikker.

# 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 time

S3 Intelligent-Tiering

S3 Intelligent-Tiering flytter automatisk objekter mellem adgangsniveauer baseret på de faktiske adgangsmønstre — ingen gebyrer for hentning og ingen minimumsvarighed for det hyppige niveau. Tjenesten overvåger adgangen på objektniveau: Objekter, der ikke er blevet tilgået i 30 dage, flyttes til det sjældent tilgåede niveau (40 % billigere), og efter 90 dage til arkivniveauet med øjeblikkelig hentning (68 % billigere). Der er et lille månedligt overvågningsgebyr (0,0025 USD pr. 1.000 objekter). Brug Intelligent-Tiering, når du ikke kan forudsige adgangsmønstrene, eller når du har en blanding af ofte og sjældent tilgåede data 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-livscyklusregler til automatisk niveaudeling

S3-livscyklusregler automatiserer overgange og udløb for objekter baseret på alder. Du definerer regler efter præfiks eller tag og angiver derefter overgange ved bestemte dagstærskler. En typisk arkiveringslivscyklus er: Standard → Standard-IA (30 dage) → Glacier Instant Retrieval (90 dage) → Deep Archive (365 dage) → Slet (2555 dage). Dette kan med tiden reducere lagringsomkostningerne pr. GB fra 0,023 USD til 0,00099 USD — en reduktion på 95 % for arkiverede data. Overgange i livscyklussen har en minimumsstørrelse på 128 KB for IA og Glacier (mindre objekter kan ikke betale sig at overføre).

# 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 giver dig mulighed for kun at hente de data, du har brug for, fra et S3-objekt ved hjælp af SQL-udtryk i stedet for at hente hele objektet. Hvis du f.eks. har en CSV-fil på 10 GB, men kun har brug for 100 rækker, kan S3 Select hente netop disse rækker — hvilket reducerer omkostningerne til dataoverførsel og behandlingstiden i applikationen markant. Glacier Select gør det samme for objekter i Glacier. S3 Select understøtter formaterne CSV, JSON og Parquet. Det er især værdifuldt i dataanalysepipelines, hvor mange forespørgsler kun tilgår en del af 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 file

S3 Multipart Upload og Transfer Acceleration

Ved upload af store objekter opdeler S3 Multipart Upload objekter i dele (mindst 5 MB pr. del), som uploades parallelt. Det forbedrer overførselshastigheden og gør det muligt at genoptage uploads. Mislykkede dele kan forsøges igen uden at genstarte hele uploaden. Ryd ufuldstændige multipart uploads op med livscyklusregler for at undgå at blive opkrævet for ufuldstændige dele. S3 Transfer Acceleration dirigerer uploads gennem AWS CloudFront-edgeplaceringer, så uploads fra fjerne placeringer går hurtigere — det er nyttigt for brugere, der uploader store filer globalt, men medfører ekstra omkostninger (0,04–0,08 USD/GB). Brug det kun, når accelerationen giver 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å omkostninger til dataoverførsel

Omkostninger til dataoverførsel er blandt de mest overraskende AWS-regninger. Vigtige regler: Indgående dataoverførsel (til AWS) er gratis. Udgående dataoverførsel til internettet koster cirka 0,09 USD/GB (de første 10 TB/måned). Dataoverførsel på tværs af regioner koster cirka 0,02 USD/GB. Dataoverførsel på tværs af AZ'er i samme region koster 0,01 USD/GB i hver retning. Inden for samme AZ er gratis. Design arkitekturer, så dataoverførsel på tværs af regioner og til internettet begrænses mest muligt — derfor er regionale implementeringer og CloudFront afgørende for omkostningseffektiv levering af indhold.

# 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 egress

CloudFront til reduktion af omkostninger ved dataoverførsel

Levering af indhold gennem Amazon CloudFront reducerer omkostningerne til dataoverførsel markant på to måder. For det første opkræver CloudFront lavere udgående takster end direkte internetadgang via EC2 eller S3 (ca. 0,0085 USD/GB mod 0,09 USD/GB). For det andet cacher CloudFront indhold på edgeplaceringer, hvilket reducerer antallet af gange, data leveres fra din oprindelse — det samme indhold kan potentielt leveres millioner af gange fra cachen med kun én hentning fra oprindelsen. Dataoverførsel fra S3 til CloudFront er også gratis. Det gør CloudFront til et værktøj til omkostningsoptimering, ikke kun til forbedring af ydeevnen.

# 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.json

VPC-endpoints for at undgå NAT Gateway-omkostninger

Gebyrer for databehandling i NAT Gateway (0,045 USD/GB) kan blive betydelige, når EC2-instanser i private undernet ofte tilgår S3 eller DynamoDB. Brug i stedet VPC Gateway Endpoints til S3 og DynamoDB — de dirigerer trafik gennem AWS-netværkets backbone til nul omkostning og kræver ikke en NAT Gateway for disse tjenester. Desuden eliminerer VPC Interface Endpoints (PrivateLink) til andre AWS-tjenester NAT Gateway-gebyrer for trafik til disse tjenester, selvom Interface Endpoints selv har en mindre timepris.

# 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 Gateway

Optimering af S3-anmodningsomkostninger

S3 opkræver betaling pr. API-anmodning ud over betaling pr. lagret GB. PUT, COPY, POST, LIST-anmodninger koster 0,005 USD pr. 1.000; GET, SELECT-anmodninger koster 0,0004 USD pr. 1.000. For applikationer, der foretager millioner af anmodninger, løber disse omkostninger op. Optimer ved at: samle små objekter i større objekter (færre anmodninger), bruge CloudFront til at levere cachede svar (reducerer GET-anmodninger til oprindelsen), undgå listehandlinger, hvor det er muligt (LIST er dyr), og bruge S3 Batch Operations til massehandlinger i stedet for millioner af individuelle API-kald.

# 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 til dataoverførsel

Ved dataoverførsler i stor skala mellem lokale systemer og AWS eller mellem AWS-tjenester er AWS DataSync mere omkostningseffektiv end at skrive din egen kode til dataoverførsel. DataSync bruger en specialudviklet protokol, der opnår op til 10 gange så høj gennemstrømning som open source-værktøjer, og som omfatter indbygget datavalidering, planlægning og overvågning. Data, der overføres via DataSync til S3, EFS eller FSx, opkræves efter de almindelige AWS-takster for dataoverførsel — men DataSyncs effektivitet betyder, at overførslerne gennemføres hurtigere, så den EC2-beregningstid (og de omkostninger), der kræves til store migreringer, reduceres.

# 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 transferred

Storage Lens til indsigt i S3

Amazon S3 Storage Lens giver organisationsdækkende indsigt i brugen af S3-lager og aktivitetsmålinger på tværs af konti og regioner. Tjenesten synliggør muligheder for omkostningsoptimering, f.eks. buckets uden livscyklusregler, buckets med ufuldstændige multipart uploads eller fordelingen på lagringsklasser. Standarddashboardet i S3 Storage Lens er gratis; dashboardet med avancerede målinger (0,20 USD/million objekter) tilføjer detaljeret analyse pr. præfiks og målinger af dataalder. Brug Storage Lens som udgangspunkt for enhver optimering af S3-omkostninger for at identificere de buckets, der har størst betydning.

# 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"
      }
    }
  }'

Hurtigt tjek

Test din forståelse af AWS Solutions Architect-kon (SAA-C03)-begreberne fra denne lektion.

Opsummering af lektionen

I denne lektion lærte du: S3 Intelligent-Tiering og livscyklusregler reducerer lagringsomkostningerne ved automatisk at flytte data til billigere lagringsklasser, CloudFront reducerer omkostningerne til dataoverførsel markant sammenlignet med direkte levering fra S3 eller EC2, og VPC Gateway Endpoints eliminerer NAT Gateway-gebyrer for trafik til S3 og DynamoDB. S3 Storage Lens giver indsigt i muligheder for optimering. Næste emne er KMS, ACM og krypteringsmønstre.

Gratis at komme i gang

Lær Cloud & IT Cert Prep med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
150
Lektioner
600

Ofte stillede spørgsmål

Er lektionen “Omkostningsoptimering af S3 og dataoverførsel” gratis?

Ja — hele teksten til “Omkostningsoptimering af S3 og dataoverførsel” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cloud & IT Cert Prep-kurset, skal du opgradere til CoddyKit PRO. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Omkostningsoptimering af S3 og dataoverførsel”?

Anvend S3 Intelligent-Tiering, livscyklusregler, S3 Select og CloudFront for markant at reducere omkostningerne til lagring og dataoverførsel Du øver dig i Cloud & IT Cert Prep med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cloud & IT Cert Prep?

Der kræves ingen tidligere erfaring. Cloud & IT Cert Prep på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Omkostningsoptimering af S3 og dataoverførsel”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cloud & IT Cert Prep-lektion?

Ja. Alle Cloud & IT Cert Prep-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Right-sizing og Compute Optimizer
  2. Reserved Instances, Savings Plans og Spot
  3. Cost Explorer, budgetter og tags til omkostningsfordeling
  4. Omkostningsoptimering af S3 og dataoverførsel
← Tilbage til Cloud & IT Cert Prep