0Pricing
Cloud & IT Cert Prep · Lezione

Ottimizzazione dei costi di S3 e del trasferimento dati

Applicare S3 Intelligent-Tiering, regole del ciclo di vita, S3 Select e CloudFront per ridurre significativamente i costi di archiviazione e trasferimento dati

Ottimizzazione dei costi di S3 e del trasferimento dati è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.

Fondamenti dei costi di archiviazione di S3

I costi di archiviazione di Amazon S3 variano significativamente in base alla classe di archiviazione e al modello di accesso. S3 Standard costa circa 0,023 $ per GB al mese; su scala petabyte, questa cifra diventa significativa. La buona notizia è che S3 offre sette classi di archiviazione ottimizzate per diverse frequenze di accesso, con prezzi che vanno da 0,023 $/GB (Standard) a 0,00099 $/GB (Glacier Deep Archive). La chiave per ottimizzare i costi di S3 consiste nell'associare i dati alla classe di archiviazione corretta e automatizzare le transizioni con le policy del ciclo di vita.

# 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 sposta automaticamente gli oggetti tra i livelli di accesso in base ai modelli di accesso effettivi: non prevede costi di recupero né una durata minima per il livello ad accesso frequente. Monitora l'accesso agli oggetti a livello di singolo oggetto: quelli a cui non si accede per 30 giorni vengono spostati nel livello ad accesso infrequente (40% più economico) e, dopo 90 giorni, nel livello di archiviazione ad accesso immediato (68% più economico). È previsto un piccolo costo mensile di monitoraggio (0,0025 $ per 1.000 oggetti). Utilizzi Intelligent-Tiering quando non è possibile prevedere i modelli di accesso o quando nello stesso bucket sono presenti dati ad accesso frequente e dati ad accesso raro.

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

Regole del ciclo di vita di S3 per il tiering automatico

Le regole del ciclo di vita di S3 automatizzano le transizioni e le scadenze degli oggetti in base alla loro età. È possibile definire le regole in base a un prefisso o a un tag e specificare le transizioni al raggiungimento di determinate soglie in giorni. Un ciclo di vita di archiviazione tipico è: Standard → Standard-IA (30 giorni) → Glacier Instant Retrieval (90 giorni) → Deep Archive (365 giorni) → Eliminazione (2555 giorni). Nel tempo, ciò può ridurre i costi di archiviazione per GB da 0,023 $ a 0,00099 $, con una riduzione del 95% per i dati archiviati. Le transizioni del ciclo di vita prevedono una dimensione minima dell'oggetto di 128 KB per IA e Glacier; per gli oggetti più piccoli la transizione non è conveniente.

# 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 e Glacier Select

S3 Select consente di recuperare solo i dati necessari da un oggetto S3 utilizzando espressioni SQL, invece di scaricare l'intero oggetto. Per un file CSV da 10 GB di cui servono solo 100 righe, S3 Select può recuperare esclusivamente quelle righe, riducendo drasticamente i costi di trasferimento dati e i tempi di elaborazione dell'applicazione. Glacier Select svolge la stessa funzione per gli oggetti in Glacier. S3 Select supporta i formati CSV, JSON e Parquet. Questa funzionalità è particolarmente utile nelle pipeline di analisi dei dati, in cui molte query accedono solo a un sottoinsieme di ogni file di dati.

# 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 e Transfer Acceleration

Per caricare oggetti di grandi dimensioni, S3 Multipart Upload suddivide gli oggetti in parti (di almeno 5 MB ciascuna) che vengono caricate in parallelo, migliorando il throughput e consentendo di riprendere i caricamenti interrotti. È possibile ritentare il caricamento delle parti non riuscite senza ricominciare da capo. Per evitare addebiti relativi alle parti incomplete, elimini i caricamenti multipart incompleti tramite le regole del ciclo di vita. S3 Transfer Acceleration instrada i caricamenti attraverso le edge location di AWS CloudFront per velocizzare i caricamenti da località distanti; è utile per gli utenti che caricano file di grandi dimensioni da diverse parti del mondo, ma comporta un costo aggiuntivo (0,04-0,08 $/GB). Lo utilizzi solo quando l'accelerazione produce un miglioramento misurabile.

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

Comprendere i costi di trasferimento dati

I costi di trasferimento dati sono tra le voci più sorprendenti delle fatture AWS. Regole principali: il trasferimento dati in entrata (verso AWS) è gratuito. Il trasferimento dati in uscita verso Internet costa circa 0,09 $/GB (per i primi 10 TB al mese). Il trasferimento dati tra regioni costa circa 0,02 $/GB. Il trasferimento dati tra AZ nella stessa regione costa 0,01 $/GB in ciascuna direzione. Il trasferimento all'interno della stessa AZ è gratuito. Progetti l'architettura in modo da ridurre al minimo il trasferimento dati tra regioni e verso Internet: per questo le implementazioni regionali e CloudFront sono fondamentali per distribuire contenuti in modo conveniente.

# 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 per ridurre i costi di trasferimento dati

La distribuzione dei contenuti tramite Amazon CloudFront riduce drasticamente i costi di trasferimento dati in due modi. Innanzitutto, CloudFront applica tariffe di uscita inferiori rispetto all'accesso diretto a Internet tramite EC2 o S3 (circa 0,0085 $/GB contro 0,09 $/GB). Inoltre, CloudFront memorizza i contenuti nella cache delle edge location, riducendo il numero di volte in cui i dati vengono forniti dall'origine: lo stesso contenuto può essere fornito potenzialmente milioni di volte dalla cache con una sola richiesta all'origine. Anche il trasferimento dati da S3 a CloudFront è gratuito. CloudFront è quindi uno strumento di ottimizzazione dei costi, non solo delle prestazioni.

# 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 Endpoint per evitare i costi del NAT Gateway

I costi di elaborazione dei dati del NAT Gateway (0,045 $/GB) possono diventare significativi quando le istanze EC2 nelle subnet private accedono frequentemente a S3 o DynamoDB. Utilizzi invece i VPC Gateway Endpoint per S3 e DynamoDB: instradano il traffico attraverso il backbone di rete AWS a costo zero e non richiedono un NAT Gateway per questi servizi. Inoltre, i VPC Interface Endpoint (PrivateLink) per altri servizi AWS eliminano i costi di elaborazione del NAT Gateway per il traffico diretto a tali servizi, anche se gli Interface Endpoint prevedono un piccolo costo orario.

# 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

Ottimizzare i costi delle richieste S3

S3 applica costi sia per ogni richiesta API sia per ogni GB archiviato. Le richieste PUT, COPY, POST, LIST costano 0,005 $ per 1.000; le richieste GET, SELECT costano 0,0004 $ per 1.000. Per le applicazioni che effettuano milioni di richieste, questi costi si accumulano. Ottimizzi i costi: raggruppando gli oggetti di piccole dimensioni in oggetti più grandi (meno richieste), utilizzando CloudFront per fornire risposte memorizzate nella cache (riduce le richieste GET all'origine), evitando le operazioni di elenco quando possibile (LIST è costosa) e utilizzando S3 Batch Operations per le operazioni in blocco invece di milioni di chiamate API singole.

# 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 per il trasferimento dati

Per trasferimenti di dati su larga scala tra l'ambiente on-premise e AWS, oppure tra servizi AWS, AWS DataSync è più conveniente rispetto alla scrittura di codice personalizzato per il trasferimento. DataSync utilizza un protocollo appositamente progettato che raggiunge un throughput fino a 10 volte superiore rispetto agli strumenti open source e include convalida dei dati, pianificazione e monitoraggio integrati. I dati trasferiti tramite DataSync verso S3, EFS o FSx vengono fatturati secondo le tariffe standard di trasferimento dati AWS; tuttavia, l'efficienza di DataSync consente di completare i trasferimenti più rapidamente, riducendo il tempo di calcolo EC2 (e il relativo costo) necessario per le migrazioni di grandi dimensioni.

# 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 per la visibilità su S3

Amazon S3 Storage Lens offre una visibilità a livello organizzativo sull'utilizzo dello storage S3 e sulle metriche di attività tra account e regioni. Evidenzia opportunità di ottimizzazione dei costi, ad esempio bucket privi di regole del ciclo di vita, bucket con caricamenti multipart incompleti o la distribuzione tra classi di archiviazione. Il pannello di controllo predefinito di S3 Storage Lens è gratuito; il pannello con metriche avanzate (0,20 $/milione di oggetti) aggiunge l'analisi dettagliata per prefisso e le metriche sull'età dei dati. Utilizzi Storage Lens come punto di partenza per qualsiasi attività di ottimizzazione dei costi S3, così da individuare i bucket con il maggiore impatto.

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

Verifica rapida

Verifichi la sua comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.

Riepilogo della lezione

In questa lezione ha imparato che: S3 Intelligent-Tiering e le regole del ciclo di vita riducono i costi di archiviazione spostando automaticamente i dati verso classi di archiviazione più economiche, CloudFront riduce drasticamente i costi di trasferimento dati rispetto alla distribuzione diretta da S3 o EC2 e i VPC Gateway Endpoint eliminano i costi del NAT Gateway per il traffico verso S3 e DynamoDB. S3 Storage Lens offre visibilità sulle opportunità di ottimizzazione. Ora analizzeremo KMS, ACM e i modelli di crittografia.

Domande Frequenti

La lezione «Ottimizzazione dei costi di S3 e del trasferimento dati» è gratuita?

Sì — il testo completo di «Ottimizzazione dei costi di S3 e del trasferimento dati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.

Cosa imparerò in «Ottimizzazione dei costi di S3 e del trasferimento dati»?

Applicare S3 Intelligent-Tiering, regole del ciclo di vita, S3 Select e CloudFront per ridurre significativamente i costi di archiviazione e trasferimento dati Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?

Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Ottimizzazione dei costi di S3 e del trasferimento dati»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?

Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Dimensionamento corretto e Compute Optimizer
  2. Reserved Instances, Savings Plans e Spot
  3. Cost Explorer, budget e tag di allocazione dei costi
  4. Ottimizzazione dei costi di S3 e del trasferimento dati
← Torna a Cloud & IT Cert Prep