S3:n ja tiedonsiirron kustannusten optimointi
Käytä S3 Intelligent-Tieringiä, elinkaarisääntöjä, S3 Selectiä ja CloudFrontia tallennus- ja tiedonsiirtokustannusten merkittävään vähentämiseen.
S3:n ja tiedonsiirron kustannusten optimointi on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
S3-tallennustilan kustannusten perusteet
Amazon S3:n tallennustilan kustannukset vaihtelevat merkittävästi tallennusluokan ja käyttömallin mukaan. S3 Standardin hinta on noin 0,023 $ gigatavulta kuukaudessa — petatavujen mittakaavassa tästä tulee merkittävä kustannus. Hyvä puoli on, että S3 tarjoaa seitsemän eri käyttötiheyteen optimoitua tallennusluokkaa, joiden hinnat vaihtelevat 0,023 dollarista gigatavulta (Standard) 0,00099 dollariin gigatavulta (Glacier Deep Archive). S3:n kustannusten optimoinnin kannalta olennaista on sijoittaa data oikeaan tallennusluokkaan ja automatisoida siirtymät elinkaarikäytännöillä.
# 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 siirtää objektit automaattisesti käyttöportaiden välillä todellisten käyttötapojen perusteella — ilman noutomaksuja ja usein käytetyn portaan vähimmäiskestoa. Se valvoo objektien käyttöä objektitasolla: objektit, joita ei ole käytetty 30 päivään, siirretään harvoin käytettyjen objektien portaaseen (40 % edullisempi), ja 90 päivän jälkeen välittömän arkistoinnin portaaseen (68 % edullisempi). Valvonnasta peritään pieni kuukausimaksu (0,0025 $ 1 000 objektia kohden). Käyttäkää Intelligent-Tiering-ratkaisua, kun käyttömallien ennustaminen on vaikeaa tai samassa bucketissa on sekä usein että harvoin käytettävää dataa.
# 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:n elinkaarisäännöt automaattiseen porrastukseen
S3:n elinkaarisäännöt automatisoivat objektien siirrot ja vanhenemisen niiden iän perusteella. Määritätte säännöt prefiksin tai tagin perusteella ja määritätte sitten siirrot tiettyinä päivinä. Tyypillinen arkistointiin käytettävä elinkaari on: Standard → Standard-IA (30 päivää) → Glacier Instant Retrieval (90 päivää) → Deep Archive (365 päivää) → Delete (2555 päivää). Tämä voi pienentää gigatavukohtaisia tallennuskustannuksia ajan mittaan 0,023 dollarista 0,00099 dollariin — arkistointidatan osalta säästö on 95 %. Elinkaarisiirroissa objektin vähimmäiskoko on 128 kt IA- ja Glacier-luokissa, joten tätä pienempien objektien siirtäminen ei ole kustannustehokasta.
# 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 ja Glacier Select
S3 Select mahdollistaa vain tarvittavien tietojen noutamisen S3-objektista SQL-lausekkeiden avulla sen sijaan, että koko objekti ladattaisiin. Jos 10 gigatavun CSV-tiedostosta tarvitaan vain 100 riviä, S3 Select voi noutaa ainoastaan nämä rivit — mikä vähentää tiedonsiirtokustannuksia ja sovelluksen käsittelyaikaa huomattavasti. Glacier Select tekee saman Glacierissa oleville objekteille. S3 Select tukee CSV-, JSON- ja Parquet-muotoja. Tämä on erityisen hyödyllistä data-analytiikan käsittelyputkissa, joissa monet kyselyt käsittelevät vain osaa kustakin datatiedostosta.
# 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 ja Transfer Acceleration
Suuria objekteja ladattaessa S3 Multipart Upload jakaa objektit osiin (osan vähimmäiskoko on 5 Mt), jotka ladataan rinnakkain. Tämä parantaa siirtonopeutta ja mahdollistaa latauksen jatkamisen keskeytyksen jälkeen. Epäonnistuneet osat voidaan yrittää uudelleen aloittamatta koko latausta alusta. Poistakaa keskeneräiset multipart-lataukset elinkaarisäännöillä, jotta keskeneräisistä osista ei veloiteta. S3 Transfer Acceleration reitittää lataukset AWS CloudFrontin reunasijaintien kautta, mikä nopeuttaa latauksia etäisistä sijainneista — tämä on hyödyllistä, kun käyttäjät lataavat suuria tiedostoja eri puolilta maailmaa, mutta lisää kustannuksia (0,04–0,08 $/Gtavua). Käyttäkää sitä vain, jos kiihdytys parantaa suorituskykyä mitattavasti.
# 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}
}]
}'Tiedonsiirron kustannusten ymmärtäminen
Tiedonsiirtokustannukset ovat yksi AWS-laskujen yllättävimmistä kulueristä. Keskeiset säännöt ovat seuraavat: saapuva tiedonsiirto (AWS:ään) on maksutonta. Internetin kautta lähtevä tiedonsiirto maksaa noin 0,09 $ gigatavulta (kuukauden ensimmäiset 10 Tt). Alueiden välinen tiedonsiirto maksaa noin 0,02 $ gigatavulta. Saatavuusalueiden välinen tiedonsiirto saman alueen sisällä maksaa 0,01 $ gigatavulta kumpaankin suuntaan. Saman saatavuusalueen sisäinen tiedonsiirto on maksutonta. Suunnitelkaa arkkitehtuurit siten, että alueiden välinen ja internetiin suuntautuva tiedonsiirto on mahdollisimman vähäistä — siksi alueelliset käyttöönotot ja CloudFront ovat keskeisiä kustannustehokkaassa sisällönjakelussa.
# 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 tiedonsiirtokustannusten pienentämiseen
Sisällön jakaminen Amazon CloudFrontin kautta pienentää tiedonsiirtokustannuksia huomattavasti kahdella tavalla. Ensinnäkin CloudFrontin ulospäin suuntautuvan liikenteen hinnat ovat alhaisemmat kuin EC2:n tai S3:n suorassa internet-käytössä (noin 0,0085 $/Gtavua verrattuna 0,09 $/Gtavuun). Toiseksi CloudFront tallentaa sisältöä välimuistiin reunasijainneissa, mikä vähentää sitä, kuinka monta kertaa data toimitetaan alkuperäisestä lähteestä — sama sisältö voidaan mahdollisesti tarjota miljoonia kertoja välimuistista vain yhdellä noudolla alkuperäisestä lähteestä. Tiedonsiirto S3:sta CloudFrontiin on myös maksutonta. Siksi CloudFront on suorituskykytyökalun lisäksi myös kustannusten optimointityökalu.
# 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-päätepisteet NAT Gateway -kustannusten välttämiseen
NAT Gatewayn tiedonkäsittelymaksuista (0,045 $/Gtavua) voi muodostua merkittävä kustannus, kun yksityisten aliverkkojen EC2-instanssit käyttävät usein S3:a tai DynamoDB:tä. Käyttäkää sen sijaan S3:lle ja DynamoDB:lle VPC Gateway Endpoints -päätepisteitä — ne reitittävät liikenteen AWS:n runkoverkon kautta ilman kustannuksia, eikä näitä palveluja varten tarvita NAT Gatewayta. Lisäksi muiden AWS-palvelujen VPC Interface Endpoints (PrivateLink) -päätepisteet poistavat kyseisen palveluliikenteen NAT Gatewayn käsittelymaksut, vaikka Interface Endpoints -päätepisteistä itsestään peritään pieni tuntihinta.
# 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 GatewayS3-pyyntöjen kustannusten optimointi
S3 veloittaa sekä tallennetusta gigatavuista että API-pyynnöistä. PUT-, COPY-, POST- ja LIST-pyynnöt maksavat 0,005 $ tuhatta pyyntöä kohden; GET- ja SELECT-pyynnöt maksavat 0,0004 $ tuhatta pyyntöä kohden. Miljoonia pyyntöjä tekevien sovellusten kustannukset kasvavat nopeasti. Optimoikaa kustannuksia seuraavasti: eräyttäkää pienet objektit suuremmiksi objekteiksi (vähemmän pyyntöjä), käyttäkää CloudFrontia välimuistissa olevien vastausten tarjoamiseen (vähentää alkuperäiseen lähteeseen kohdistuvia GET-pyyntöjä), välttäkää luettelointitoimintoja aina kun mahdollista (LIST on kallis) ja käyttäkää S3 Batch Operations -toimintoa joukkotoimintoihin miljoonien yksittäisten API-kutsujen sijaan.
# 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 tiedonsiirtoon
Suurissa tiedonsiirroissa paikallisen ympäristön ja AWS:n välillä tai AWS-palvelujen välillä AWS DataSync on kustannustehokkaampi kuin oman siirtokoodin kirjoittaminen. DataSync käyttää tähän tarkoitukseen suunniteltua protokollaa, joka saavuttaa jopa kymmenkertaisen siirtonopeuden avoimen lähdekoodin työkaluihin verrattuna ja sisältää sisäänrakennetun tietojen validoinnin, ajoituksen ja valvonnan. DataSyncin kautta S3:een, EFS:ään tai FSx:ään siirrettyyn dataan sovelletaan AWS:n tavanomaisia tiedonsiirtohintoja — DataSyncin tehokkuus kuitenkin nopeuttaa siirtoja, jolloin suuriin migraatioihin tarvittava EC2-laskenta-aika ja -kustannukset pienenevät.
# 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 S3:n näkyvyyteen
Amazon S3 Storage Lens tarjoaa koko organisaation kattavan näkyvyyden S3-tallennustilan käyttöön ja toiminnan mittareihin eri tileillä ja alueilla. Se tuo esiin kustannusten optimointimahdollisuuksia, kuten bucketit, joilla ei ole elinkaarisääntöjä, keskeneräisiä multipart-latauksia sisältävät bucketit tai tallennusluokkien jakauman. S3 Storage Lensin oletuskoontinäyttö on maksuton; kehittyneiden mittareiden koontinäyttö (0,20 $ miljoonaa objektia kohden) lisää prefiksikohtaisen tarkastelun ja tietojen ikää koskevat mittarit. Käyttäkää Storage Lensia lähtökohtana kaikissa S3:n kustannusten optimointitoimissa, jotta tunnistatte suurimman vaikutuksen tarjoavat bucketit.
# 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"
}
}
}'Pikatarkistus
Testatkaa ymmärrystänne tähän oppituntiin liittyvistä AWS Solutions Architect (SAA-C03) -käsitteistä.
Oppitunnin kertaus
Tässä oppitunnissa opitte, että S3 Intelligent-Tiering ja elinkaarisäännöt pienentävät tallennuskustannuksia siirtämällä datan automaattisesti edullisempiin tallennusluokkiin, CloudFront pienentää tiedonsiirtokustannuksia huomattavasti verrattuna sisällön tarjoamiseen suoraan S3:sta tai EC2:sta ja VPC Gateway Endpoints -päätepisteet poistavat NAT Gateway -maksut S3- ja DynamoDB-liikenteeltä. S3 Storage Lens tarjoaa näkyvyyden optimointimahdollisuuksiin. Seuraavaksi tutustumme KMS:ään, ACM:ään ja salausmalleihin.
Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 150
- Oppitunnit
- 600
Usein kysytyt kysymykset
Onko oppitunti ”S3:n ja tiedonsiirron kustannusten optimointi” ilmainen?
Kyllä – oppitunnin ”S3:n ja tiedonsiirron kustannusten optimointi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”S3:n ja tiedonsiirron kustannusten optimointi”?
Käytä S3 Intelligent-Tieringiä, elinkaarisääntöjä, S3 Selectiä ja CloudFrontia tallennus- ja tiedonsiirtokustannusten merkittävään vähentämiseen. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”S3:n ja tiedonsiirron kustannusten optimointi”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?
Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Oikea mitoitus ja Compute Optimizer
- Reserved Instances, Savings Plans ja Spot
- Cost Explorer, Budgets ja kustannusten kohdistustunnisteet
- S3:n ja tiedonsiirron kustannusten optimointi