🍵

【AWS S3】S3の料金についてCost Explorerで詳しく見てみる

2024/10/30に公開

はじめに

Cost ExplorerでS3の料金の料金を見ていると思った以上に高い。。。
データ/バックアップの保存以外に何に使ってるんだろうと疑問に思ったことはありませんか。
今回はCost ExplorerでS3の詳細な課金カテゴリの表示方法や気になったカテゴリについて備忘録を残します。
S3で課金されている詳細が気になる方は是非見ていただけると幸いです。

事前準備

下記の準備が事前に必要です。

Cost ExplorerでS3の詳細を見てみる

Cost Explorerで下記を入れてフィルタリングします。

  • ディメンション:使用タイプ
  • サービス:S3(Simple Storage Service)

使用タイプで見てみるとUSE2APN1TimedStorage-ByteHrsAWS-OutBytes等のリージョンと課金ポイントがセットになった名前がズラッと並ぶと思います。

ここで、Amazon S3 の AWS 請求および使用状況レポートを理解するを見ながら課金のカテゴリに当てはめると、S3の詳細料金を知ることが可能です。

Cost Explorerで気になったS3のカテゴリ

Amazon S3 の AWS 請求および使用状況レポートを理解するを見て気になったカテゴリ

[region1]-[region2]-AWS-Out-Bytes

別リージョンのバケットにデータを転送した際に発生する課金。
単一リージョンでS3を使っていると転送料金が無料のため見ることはないが、
障害対策で別リージョンにデータやバックアップを取らなければいけないような要件があれば、
案外お値段が飛び上がる代物。

特にクロスリージョンレプリケーション:CRRを下記で設計するときはデータ量に要注意

  • S3のレプリケーションルール
  • AWS CLIでの転送
  • AWS Lambda

クラウドインフラ上で取り扱う他のSaaSも単一リージョンで合わせないとここの課金が大変なことになるんだろうなぁと想像。
(例えばDWHに数十TBのデータをバルクロードするとか想像すると、単一リージョンでなければ$10,000とか超えてきそう。)

[region]-TimedStorage-ByteHrs

S3を使うと一番良く見るストレージクラス・スタンダートのデータ保存。
S3をLake/Rawにするぞ!と意気込んで何でもかんでも入れ込むと直ぐにデータが増えていき値段が大変なことに。
取り出し頻度が高く、残したいデータ以外は

  • 同一リージョンでレプリケーションを取りつつライフサイクルできれいにしていく
  • Intelligent-tieringでアクセス頻度を見てストレージクラスをお安いものにしていく

等がおすすめ。

[region]-TimedStorage-INT-[storage_class]-ByteHrs

Intelligent-tieringを使ったデータ保存。

それぞれの対応は下記のようになっている。

使用タイプ アクセス階層
[region]-TimedStorage-INT-FA-ByteHrs 高頻度アクセス階層
[region]-TimedStorage-INT-IA-ByteHrs 低頻度アクセス階層
[region]-TimedStorage-INT-DAA-ByteHrs アーカイブアクセス階層
[region]-TimedStorage-INT-AIA-ByteHrs アーカイブインスタントアクセス階層
[region]-TimedStorage-INT-DAA-ByteHrs ディープアーカイブアクセス階層

アクセス頻度で分類でき、1ファイル数十GBを超えるデータがある場合は適応しておくと保存がお安くなる。

[region]-Requests-Tier[x]

S3に対して投げるリクエスト。
Tierは1~8まであるがなぜか7はない。
リクエストがメインなのでほとんど料金へのインパクトはないが、
なにか血迷ってシステムが無意味なリクエストを大量発行している場合は発見しやすい。

さいごに

S3の料金を詳細に追いかけると課金ポイントの多さにびっくりしました。
S3の利用料金が高い = 保存しているデータ量が多いみたいな想像はちょっと早とちりですね。
気をつけます。
同じようにS3のコストを分析する方にお役に立てば幸いです。

以上hamaでした〜。

Discussion