Jak ušetřit 40–80 % na cloudovém úložišti: S3, Azure Blob a GCS v roce 2026

Praktický průvodce optimalizací nákladů na cloudové úložiště v roce 2026. Srovnání AWS S3, Azure Blob a GCS, skryté náklady (egress, API requesty, versioning), S3 Intelligent-Tiering vs. lifecycle politiky a audit storage s příklady kódu v Terraformu.

Úvod: Proč je cloudové úložiště tichým žroutem vašeho rozpočtu

Když se řekne „optimalizace cloudových nákladů", většina týmů okamžitě pomyslí na compute – right-sizing instancí, spot instance, reserved capacity. Úložiště? To se nějak přehlíží. A přitom podle studie Crayon ze září 2025 má 94 % IT lídrů stále problémy s optimalizací nákladů na cloudové úložiště. I po letech práce s cloudem.

No a není divu. Cloudové úložiště roste organicky, tiše a pořád. Logy se hromadí, zálohy se vrší, staré verze souborů zabírají místo a nikdo se k promazání neodhodlá. A k tomu přidejte fakt, že cenový model služeb jako AWS S3 má tolik dimenzí – storage class, typ requestu, retrieval tier, data transfer, management features – že predikce nákladů je vlastně skoro nemožná. Rozdíl mezi nejlevnější a nejdražší storage třídou? Klidně 23násobný.

V předchozích článcích jsme si ukázali, jak optimalizovat náklady na Kubernetes, AI/ML workloady a serverless funkce. Dnes pokračujeme tím, co všechny tyto workloady spojuje – úložištěm dat. Projdeme si srovnání cen AWS S3, Azure Blob Storage a Google Cloud Storage, odhalíme skryté náklady, které většina týmů přehlíží, a ukážeme konkrétní postupy, jak dostat náklady na storage dolů o 40–80 %.

Srovnání storage tříd: AWS S3 vs. Azure Blob vs. Google Cloud Storage

Než se do toho pustíme, potřebujeme rozumět tomu, jaké úrovně úložiště jednotliví poskytovatelé nabízejí. Všichni tři velcí hráči mají vícestupňový model – od „horkého" úložiště pro často přistupovaná data po archivní třídy pro data, ke kterým se téměř nikdy nesahá.

Přehled storage tříd

ÚroveňAWS S3Azure Blob StorageGoogle Cloud Storage
Horká (častý přístup)S3 StandardHotStandard
Chladná (méně častý přístup)S3 Standard-IA / One Zone-IACoolNearline
Studená (občasný přístup)S3 Glacier Instant RetrievalColdColdline
Archivní (vzácný přístup)S3 Glacier Flexible / Deep ArchiveArchiveArchive
Automatické tierováníS3 Intelligent-TieringAutoclass

Srovnání cen za úložiště (US East / US regiony, za GB/měsíc)

Storage třídaAWS S3Azure BlobGCS
Hot / Standard$0,023$0,018 (LRS) / $0,023 (ZRS)$0,020
Cool / Nearline$0,0125 (IA)$0,010$0,010
Cold / Coldline$0,004 (Glacier Instant)$0,0045$0,004
Archive / Deep Archive$0,00099 (Deep Archive)$0,002$0,0012

Důležitý detail: Azure Blob s Local Redundant Storage (LRS) je v hot tieru nejlevnější. Jakmile ale přejdete na Zone-Redundant Storage (ZRS) kvůli vyšší dostupnosti, cena se vyrovná AWS S3. A AWS S3 Glacier Deep Archive? Pouhých $0,00099/GB/měsíc – jedna z nejlevnějších archivních služeb vůbec. To je o polovinu méně než Azure Archive.

5 skrytých nákladů na cloudové úložiště, které vás ženou nahoru

Samotná cena za GB/měsíc je jen špička ledovce. Skutečné náklady se skládají z řady dalších položek, které týmy běžně přehlížejí. Tak pojďme na to.

1. Egress fees – odchozí datový přenos

Tohle je pravděpodobně ten největší „skrytý" náklad. Kdykoli data opouštějí cloud poskytovatele – ať už směrem k uživatelům, do jiného regionu nebo k jinému poskytovateli – platíte egress fee. A ty se můžou vyšplhat na 3–5násobek samotných nákladů na úložiště. Upřímně, tohle číslo mě samo překvapilo, když jsem ho poprvé viděl na faktuře.

PoskytovatelEgress do internetu (prvních 10 TB)
AWS S3$0,09/GB
Azure Blob$0,087/GB
Google Cloud Storage$0,12/GB (první 1 TB), $0,11/GB (1–10 TB)

Příklad z praxe: webová aplikace, která servíruje 5 TB dynamického obsahu měsíčně přes CDN, zaplatí na egress fees $400–$600/měsíc – bez ohledu na to, jak levné je samotné úložiště. Britský regulátor Ofcom dokonce označil egress fees za „pravděpodobně nepotřebné pro pokrytí nákladů" a příklad antikonkurenčního chování. Ale u běžného provozu tyto poplatky bohužel stále platí.

2. API requesty – poplatky za operace

Každý PUT, GET, LIST, COPY a DELETE volání má svou cenu. A liší se nejen podle poskytovatele, ale taky podle storage třídy. U archivních tříd mohou být retrieval fees výrazně vyšší než u standardního tieru.

Typické ceny na AWS S3:

  • PUT/COPY/POST/LIST: $0,005 za 1 000 requestů (Standard), $0,01 za 1 000 requestů (IA)
  • GET/SELECT: $0,0004 za 1 000 requestů (Standard), $0,001 za 1 000 requestů (IA)
  • Glacier retrieval: závisí na rychlosti – Expedited může stát $0,03/GB + $10 za 1 000 requestů

Pro workloady s miliony malých souborů a častými LIST operacemi (třeba data lake indexování) mohou API requesty překonat samotné náklady na úložiště. Spousta týmů to zjistí až z faktury – a to už je pozdě na prevenci.

3. Versioning a nekompletní multipart uploady

Versioning je skvělá věc pro ochranu dat – ale má svou cenu. Každá verze každého objektu se ukládá a fakturuje zvlášť. Bucket s 1 TB dat a zapnutým versioningem může tiše narůst na 5 TB během pár měsíců, pokud se staré verze automaticky nečistí. To je pětinásobek. Tiše, bez varování.

Podobný problém představují nekompletní multipart uploady. Když upload selže uprostřed (a věřte mi, stává se to častěji, než byste čekali), částečně nahraná data zůstávají v bucketu a účtují se za standardní sazby – navždy, dokud je explicitně nesmažete.

4. Early deletion charges

Přesunutí dat do chladnějšího tieru neznamená, že je nemůžete smazat dřív. Ale zaplatíte za to. Většina cold a archivních tříd má minimální dobu uložení:

  • S3 Standard-IA: 30 dní
  • S3 Glacier Instant Retrieval: 90 dní
  • S3 Glacier Deep Archive: 180 dní
  • Azure Cool: 30 dní
  • Azure Archive: 180 dní
  • GCS Nearline: 30 dní
  • GCS Coldline: 90 dní
  • GCS Archive: 365 dní

Pokud data smažete nebo přesunete před uplynutím minimální doby, zaplatíte poměrnou část storage fee za celé období. U GCS Archive je to celý rok – to si fakt třeba dobře rozmyslet, než tam data pošlete.

5. Cross-region replikace

Pro disaster recovery a compliance často potřebujete replikovat data do jiného regionu. Jenže cross-region replikace přináší trojitý náklad: platíte za storage v obou regionech, za data transfer mezi nimi a za replikační API requesty. U velkých datasetů to může představovat desítky procent celkových storage nákladů navíc. Není to maličkost.

S3 Intelligent-Tiering: automatizovaná optimalizace, která ušetřila $6 miliard

Tak, a teď k tomu nejzajímavějšímu. AWS S3 Intelligent-Tiering je pravděpodobně ta nejdůležitější storage optimalizace posledních let. Od svého spuštění v roce 2018 zákazníkům ušetřil přes 6 miliard dolarů ve srovnání se standardním S3 úložištěm. A v roce 2026 je relevantnější než kdy dřív.

Jak to funguje

Intelligent-Tiering automaticky přesouvá objekty mezi úrovněmi přístupu na základě skutečných přístupových vzorců. Žádné hádání, žádné ruční nastavování pravidel:

  • Frequent Access tier – stejná cena a výkon jako S3 Standard ($0,023/GB/měsíc)
  • Infrequent Access tier – po 30 dnech bez přístupu, úspora 40 %
  • Archive Instant Access tier – po 90 dnech bez přístupu, úspora 68 %
  • Archive Access tier (volitelný) – po 90+ dnech, úspora až 71 %
  • Deep Archive Access tier (volitelný) – po 180+ dnech, úspora až 95 %

Za monitoring a automatizaci platíte $0,0025 za 1 000 objektů měsíčně. Zní to jako drobnost, ale u bucketů s desítkami milionů malých souborů se to nasčítá. Dobrá zpráva: objekty menší než 128 KB nejsou monitorovány a zůstávají ve Frequent Access tieru – monitoring fee za ně neplatíte.

Kdy Intelligent-Tiering použít a kdy ne

Ideální scénáře:

  • Data s nepředvídatelnými nebo měnícími se přístupovými vzorci
  • Data lake s miliony souborů různého stáří
  • User-generated content (dokumenty, média)
  • Analytická data, kde nevíte, jak často budou dotazována

Kdy se to naopak nevyplatí:

  • Buckety s miliony velmi malých objektů (pod 128 KB) – monitoring fee může převýšit úspory
  • Data s konstantně vysokou frekvencí přístupu – všechno zůstane ve Frequent Access a navíc platíte monitoring fee zbytečně
  • Krátkodobá data (pod 30 dní) – nestihnou se ani přesunout do levnějšího tieru

Reálné příklady úspor

Electronic Arts (EA) použil Intelligent-Tiering pro svůj data lake s měnícími se přístupovými vzorci a dosáhl 30% snížení nákladů na úložiště. AppsFlyer, zpracovávající 100 miliard událostí denně v petabytovém data lake, dosáhl úspory 18 % na GB pouhým přechodem na Intelligent-Tiering. A to jsou velcí hráči – u menších firem s méně optimalizovaným storage bývají úspory ještě výraznější.

Lifecycle politiky: proaktivní řízení životního cyklu dat

Zatímco Intelligent-Tiering pracuje automaticky, lifecycle politiky vám dávají plnou kontrolu nad tím, co se s daty stane a kdy. Pro data s předvídatelným životním cyklem jsou často efektivnější volbou – hlavně proto, že neplatíte monitoring fee.

Doporučená baseline lifecycle politika

Pro většinu workloadů funguje následující třístupňový přechod:

{
  "Rules": [
    {
      "ID": "OptimizeStorageCosts",
      "Status": "Enabled",
      "Filter": {},
      "Transitions": [
        {
          "Days": 30,
          "StorageClass": "STANDARD_IA"
        },
        {
          "Days": 90,
          "StorageClass": "GLACIER_IR"
        },
        {
          "Days": 365,
          "StorageClass": "DEEP_ARCHIVE"
        }
      ],
      "NoncurrentVersionExpiration": {
        "NoncurrentDays": 30
      },
      "AbortIncompleteMultipartUpload": {
        "DaysAfterInitiation": 7
      }
    }
  ]
}

Tenhle kousek JSONu dělá víc, než by se na první pohled zdálo:

  • Po 30 dnech přesouvá data do Standard-IA – úspora 46 % na storage
  • Po 90 dnech do Glacier Instant Retrieval – úspora 83 %
  • Po roce do Deep Archive – úspora 96 %
  • Staré verze souborů maže po 30 dnech
  • Nekompletní multipart uploady čistí po 7 dnech

Organizace, které lifecycle politiky nastaví proaktivně, ušetří 25–40 % na S3 nákladech ve srovnání s těmi, které problém řeší zpětně po letech akumulace. Ten rozdíl je prostě obrovský.

Lifecycle politiky na Azure a GCP

Stejný princip platí i u ostatních poskytovatelů. Na Azure nastavíte pravidla přes Azure Blob Lifecycle Management:

az storage account management-policy create   --account-name mystorageaccount   --resource-group myresourcegroup   --policy @policy.json

Na Google Cloud Storage použijete gsutil lifecycle:

gsutil lifecycle set lifecycle-config.json gs://my-bucket/

Klíčové je, aby pravidla odpovídala skutečným retenčním požadavkům a minimální době uložení u jednotlivých tříd. Jinak zaplatíte early deletion charges – a to fakt nechcete.

Intelligent-Tiering vs. Lifecycle politiky: kdy co použít

Tahle otázka se objevuje pořád dokola a odpověď (překvapivě) není jednoznačná. Záleží na vašem konkrétním scénáři.

KritériumS3 Intelligent-TieringLifecycle politiky
Přístupové vzorceNepředvídatelné, měnící sePředvídatelné, známé
Poplatky navíc$0,0025 / 1 000 objektů (monitoring)$0,01 / 1 000 objektů (přesun)
Retrieval feesŽádné (ve hlavních tierech)Ano (u IA, Glacier tříd)
Operační režieMinimální – automatizovánoVyšší – nutno definovat pravidla
Riziko chybyNízkéStřední (špatně nastavená pravidla)
Ideální proData lake, UGC, analytikaLogy, zálohy, archivní data

Mimochodem: Obě strategie jde kombinovat. Můžete nastavit lifecycle pravidlo, které nová data nejdřív přesune do S3 Intelligent-Tiering, a ten se pak postará o další optimalizaci přístupových vzorců. První měsíc bude mírně dražší kvůli jednorázovému přesunu, ale od druhého měsíce začnete vidět úspory. V praxi tohle používám jako výchozí strategii pro buckety, kde si nejsem jistý přístupovými vzorci.

Praktický návod: audit storage nákladů krok za krokem

Teorie je fajn, ale pojďme na to prakticky. Tady je postup, jak provést audit svých storage nákladů a najít největší příležitosti k úsporám.

Krok 1: Zmapujte aktuální stav

Na AWS použijte S3 Storage Lens – bezplatný dashboard, který vám ukáže rozložení dat napříč storage třídami, buckety a regiony:

aws s3control put-storage-lens-configuration   --account-id 123456789012   --config-id my-storage-lens   --storage-lens-configuration file://storage-lens-config.json

Na Azure využijte Azure Storage Explorer a Azure Cost Management, na GCP pak Cloud Monitoring s metrikami pro Cloud Storage. Cíl je jednoduchý – získat přehled o tom, co máte, kde to máte a kolik vás to stojí.

Krok 2: Identifikujte „zombie" data

Hledejte tyto typické zdroje plýtvání:

  • Staré verze souborů – buckety s versioningem bez expiration policy
  • Nekompletní multipart uploady – seznam získáte jednoduše (viz níže)
  • Nepoužívané snapshoty a zálohy – starší než retence politika vyžaduje
  • Duplikáty dat – stejná data v různých bucketech nebo regionech
  • Dev/test data v produkčních tierech – testovací datasety uložené v S3 Standard, i když se k nim nikdo měsíce nedotkl
# Seznam nekompletních multipart uploadů starších než 2026-01-01
aws s3api list-multipart-uploads   --bucket my-bucket   --query "Uploads[?Initiated<='2026-01-01']"

# Analýza non-current verzí
aws s3api list-object-versions   --bucket my-bucket   --query "Versions[?IsLatest==\`false\`]"   --output json

Krok 3: Nastavte lifecycle politiky a tagging

Pro každý bucket si odpovězte na čtyři otázky:

  1. Jaký typ dat obsahuje (logy, zálohy, user data, analytika)?
  2. Jak dlouho musí být data snadno dostupná?
  3. Jaká je minimální retence z compliance důvodů?
  4. Jsou přístupové vzorce předvídatelné (→ lifecycle) nebo ne (→ Intelligent-Tiering)?

Tagování bucketů je naprosto klíčové pro sledování nákladů. Bez tagů nevíte, kdo za co platí. Doporučené tagy:

aws s3api put-bucket-tagging   --bucket my-bucket   --tagging '{
    "TagSet": [
      {"Key": "Environment", "Value": "production"},
      {"Key": "DataType", "Value": "logs"},
      {"Key": "CostCenter", "Value": "engineering-ops"},
      {"Key": "RetentionDays", "Value": "90"},
      {"Key": "Owner", "Value": "platform-team"}
    ]
  }'

Krok 4: Optimalizujte egress náklady

Egress fees mohou tvořit větší část faktury než samotné úložiště. Klíčové strategie:

  • Používejte CDN – CloudFront, Azure CDN nebo Cloud CDN cachují data blíže uživatelům a snižují opakovaný egress z origin storage
  • Držte compute a storage ve stejném regionu – cross-region přenos je zbytečně drahý (a přitom se tomu dá snadno vyhnout)
  • Komprimujte data před přenosem – gzip nebo zstd komprese může snížit objem přenášených dat o 60–80 %
  • Zvažte alternativní poskytovatele pro vysoký egress – služby jako Backblaze B2 nebo Cloudflare R2 nabízejí nulové nebo minimální egress fees

Automatizace: infrastructure as code pro storage optimalizaci

Ruční správa lifecycle politik a storage konfigurací napříč desítkami bucketů a účtů je neudržitelná. Dříve nebo později na něco zapomenete. Proto je klíčové celou strategii definovat jako kód.

Terraform modul pro optimalizovaný S3 bucket

resource "aws_s3_bucket" "optimized" {
  bucket = "my-optimized-bucket"
}

resource "aws_s3_bucket_intelligent_tiering_configuration" "tiering" {
  bucket = aws_s3_bucket.optimized.id
  name   = "FullOptimization"

  tiering {
    access_tier = "ARCHIVE_ACCESS"
    days        = 90
  }

  tiering {
    access_tier = "DEEP_ARCHIVE_ACCESS"
    days        = 180
  }
}

resource "aws_s3_bucket_lifecycle_configuration" "lifecycle" {
  bucket = aws_s3_bucket.optimized.id

  rule {
    id     = "cleanup-old-versions"
    status = "Enabled"

    noncurrent_version_expiration {
      noncurrent_days = 30
    }

    abort_incomplete_multipart_upload {
      days_after_initiation = 7
    }
  }
}

resource "aws_s3_bucket_versioning" "versioning" {
  bucket = aws_s3_bucket.optimized.id
  versioning_configuration {
    status = "Enabled"
  }
}

Tímhle způsobem máte storage optimalizaci definovanou jako kód, verzovanou v Gitu a snadno replikovatelnou napříč prostředími. Žádná ruční klikání v konzoli, žádné zapomenuté buckety bez lifecycle pravidel. A hlavně – nový člen týmu vidí v kódu přesně, jaká je vaše storage strategie.

Azure a GCP: specifické optimalizační nástroje

Azure Blob Storage – Access Tier Management

Azure má jednu zajímavou výhodu – možnost nastavit access tier na úrovni jednotlivého blobu, nejen celého kontejneru. To umožňuje granulární optimalizaci, kde různé soubory ve stejném kontejneru mají různé tiery.

# Změna tieru jednotlivého blobu
az storage blob set-tier   --account-name mystorageaccount   --container-name mycontainer   --name myblob.dat   --tier Cool

# Hromadná změna tieru pro staré bloby
az storage blob list   --account-name mystorageaccount   --container-name mycontainer   --query "[?properties.lastModified<='2025-12-01'].name"   --output tsv | while read blob; do
    az storage blob set-tier       --account-name mystorageaccount       --container-name mycontainer       --name "$blob"       --tier Archive
done

Azure Blob Storage taky nabízí volume discounts – čím víc dat máte, tím nižší cena za GB. To je fajn výhoda oproti AWS, kde taková objemová sleva u standardního S3 neexistuje.

Google Cloud Storage – Autoclass

Google Cloud má funkci Autoclass, což je v podstatě obdoba AWS Intelligent-Tiering. Automaticky přesouvá objekty mezi Standard, Nearline, Coldline a Archive třídami podle přístupových vzorců. Na rozdíl od Intelligent-Tiering neúčtuje monitoring fee za objekt – místo toho platíte management fee za bucket, což může být u bucketů s hodně objekty výrazně levnější.

Další příjemná věc na GCS je jednotný API napříč všemi storage třídami – nepotřebujete zvláštní retrieval requesty jako u S3 Glacier. Přístup k datům v Coldline nebo Archive třídě probíhá úplně stejně jako ke Standard datům, jen zaplatíte retrieval fee.

Checklist: 10 rychlých výher pro snížení storage nákladů

Na závěr praktické části – tady je seznam akcí, které můžete provést hned a vidět úspory na příští faktuře. Některé z nich zaberou doslova pár minut:

  1. Zapněte AbortIncompleteMultipartUpload na všech bucketech – 7 dní je rozumné výchozí nastavení
  2. Nastavte NoncurrentVersionExpiration – 30 dní pro většinu workloadů, 90 dní pro compliance
  3. Aktivujte S3 Intelligent-Tiering pro buckety s nepředvídatelnými přístupovými vzorci
  4. Nastavte lifecycle politiky pro buckety s předvídatelnými vzorci (logy → IA po 30 dnech → Glacier po 90 dnech)
  5. Zkontrolujte egress – držte compute ve stejném regionu jako storage
  6. Zapněte kompresi – gzip pro textová data, zstd pro strukturovaná data
  7. Tagujte buckety – minimálně Environment, Owner, CostCenter, DataType
  8. Odstraňte duplikáty – stejná data v různých regionech nebo účtech
  9. Přesuňte dev/test data z hot tieru do levnější třídy
  10. Nastavte budget alerty – 80 % a 100 % prahu pro storage náklady

Často kladené otázky (FAQ)

Jaký je rozdíl mezi S3 Intelligent-Tiering a lifecycle politikami?

S3 Intelligent-Tiering automaticky přesouvá objekty mezi tiery na základě skutečných přístupových vzorců – za monitoring fee $0,0025 / 1 000 objektů. Lifecycle politiky vyžadují ruční definici pravidel (např. „po 30 dnech přesuň do IA"), ale neplatíte monitoring fee. Intelligent-Tiering je ideální pro data s nepředvídatelnými vzorci, lifecycle politiky pro data s jasným životním cyklem. A jak jsem zmínil výše – obě strategie jde kombinovat.

Kolik lze reálně ušetřit optimalizací cloudového úložiště?

Záleží na výchozím stavu, ale typicky organizace ušetří 40–80 % na storage nákladech. Samotný přechod ze S3 Standard na Standard-IA přinese 46% úsporu, přechod na Glacier Instant Retrieval 83 %. Přidejte k tomu vyčištění starých verzí, nekompletních uploadů a duplikátů a úspory se rychle nasčítají.

Jsou egress fees u všech cloudových poskytovatelů stejné?

Ne, a liší se docela výrazně. AWS účtuje $0,09/GB, Azure $0,087/GB a Google Cloud $0,12/GB za prvních 10 TB. Pro workloady s vysokým egress existují alternativy jako Cloudflare R2 nebo Backblaze B2 s nulovými nebo minimálními egress fees. Google Cloud a AWS nabízejí zrušení egress fees při trvalém odchodu od poskytovatele, ale u běžného provozu fees platí.

Vyplatí se S3 Intelligent-Tiering pro malé soubory?

Záleží na velikosti. Objekty menší než 128 KB nejsou automaticky tierovány a zůstávají v nejdražším Frequent Access tieru (za monitoring fee se ale neúčtují). Pro buckety s převážně malými soubory pod 128 KB nemá Intelligent-Tiering moc smysl – lepší je použít lifecycle politiky nebo zvážit, jestli malé soubory nelze agregovat do větších archivů.

Jak předejít neočekávaně vysoké faktuře za cloudové úložiště?

Nastavte si budget alerty v AWS Budgets, Azure Cost Management nebo GCP Billing Alerts na 80 % a 100 % očekávaného rozpočtu. Používejte S3 Storage Lens nebo ekvivalentní nástroje pro průběžný monitoring. Tagujte buckety pro přiřazení nákladů k týmům. A hlavně – nastavte lifecycle politiky a AbortIncompleteMultipartUpload pravidla hned při vytvoření bucketu, ne až po roce, kdy se problémy nakupí. To je ta nejlepší prevence.

O Autorovi Editorial Team

Our team of expert writers and editors.