将 AWS S3 不频繁访问 (IA) 与云前端一起用于静态网站资源是否是一种好的做法?

Is it a good practice to use AWS S3 infrequent Access (IA) with cloud front for static website resources?

我现在有一个托管在 S3 中的静态站点,我需要将其放置在 CloudFront 前面。换句话说,我别无选择,只能将 CloudFront 放在它前面。我想通过将对象存储 class 更改为 S3 不频繁访问 (IA) 来降低我的 S3 成本,这将使我的 S3 成本降低大约 45%,这很好,因为我现在必须在 CloudFront 上花钱。这是一个好习惯吗?因为无论如何资源都会被 CloudFront 缓存? S3 IA 有 99.9% 的正常运行时间,这意味着它每年可以有多达 8.75 小时的停机时间与 AWS s3 IA。

首先,不要担心停机时间。除非您使用减少冗余或单区域存储,否则 S3 上的所有数据都具有几乎相同的冗余,因此可用性非常高。

与 S3 标准版(每 GB 0.023 美元)相比,

S3 Standard-IA 几乎是存储的半价(每 GB 0.0125 美元)。但是,Standard-IA 的数据检索成本为每 GB 0.01 美元。 因此,如果每月检索一次以上数据,则标准 IA 的成本更高。

虽然在 S3 之前使用 Amazon CloudFront 会降低数据访问频率,但值得注意的是 CloudFront 在每个区域单独缓存。因此,如果新加坡、悉尼和东京的用户都请求数据,则会从 S3 中提取三次。因此,存储为 Standard-IA 的数据将产生 3 x 每 GB 0.01 美元的费用,从而使其更加昂贵。

参见:Announcing Regional Edge Caches for Amazon CloudFront

底线:如果每月至少访问一次数据,使用标准存储而不是标准不频繁访问会更便宜。