【AWS S3】S3の料金についてCost Explorerで詳しく見てみる
はじめに
Cost ExplorerでS3の料金の料金を見ていると思った以上に高い。。。
データ/バックアップの保存以外に何に使ってるんだろうと疑問に思ったことはありませんか。
今回はCost ExplorerでS3の詳細な課金カテゴリの表示方法や気になったカテゴリについて備忘録を残します。
S3で課金されている詳細が気になる方は是非見ていただけると幸いです。
事前準備
下記の準備が事前に必要です。
- Cost Explorerが確認できる
Cost ExplorerでS3の詳細を見てみる
Cost Explorerで下記を入れてフィルタリングします。
- ディメンション:使用タイプ
- サービス:S3(Simple Storage Service)
使用タイプで見てみるとUSE2
、APN1
やTimedStorage-ByteHrs
、AWS-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