概要
- AWSの運用費を削減するための方法をまとめてる
現状把握
コストやすくするためにも、何はともあれ現状を見るべし
具体的には下記の順序で画面遷移をすると、AWSの各種サービス別の月額費用がわかる
どこにどれだけかかっているかは運営するサービスの性質にによって様々なので、ひとまずこれで現状を見るのが良さげ
1. マネジメントコンソールを開く
2. Billingを選択する
3. 左サイドバーからCost Explorerをクリックする
4. Monthly Spend by Service Viewをクリックする
AWSの運用費削減の方法
1. Reserved Instance(RI)
- 特定のインスタンスタイプを長期間(最低1年)使用する代わりに大幅な値引きを受けられる
- 契約したインスタンスは24時間稼働しているものとして課金されるが、その費用が通常のインスタンス起動より安い
- 期間は1年、3年がある
- 全額前払い, 一部前払い, 前払いなしの3つが選べ、割引率も変わってくる(全額前払いが一番割引率高い)
- 全てのAWSサービスで提供されているわけでは無い
- EC2, RDSなどに対して提供されている
- スタンダードとコンバーティブルがある
- スタンダードは指定したインスタンスの世代で縛りがあるが、コンバーティブルより割引率が大きい
- t2.smallのインスタンスを契約した場合、t3.smallに変更してもRIは適応されない
- コンバーティブルはRIの属性を変更できる。ただし、交換できるのは、RI の作成時の価格と同等以上のRIに限られる
注意点としては、買った後に「やっぱこのインスタンスじゃスペック足らん」となると1年無駄な費用を垂れ流す羽目になるので、事前によく検討すること!
2. Savings Plans
- 1年または3年間の期間で、1時間あたりの利用費をコミットする事により、コミット分を割引価格で利用する事が可能
- コミットは柔軟性があり、異なるインスタンスファミリー、リージョン、OS、EC2/Fargate の区別なく割引対象とする事が可能
- 1年/3年の1時間あたりの利用費のコミットのみで、 従来のリザーブドインスタンスと同等の割引利用が可能というのが新しい要素
3. スポットインスタンスを利用する(EC2向け)
- EC2に関しては、スポットインスタンスを利用することで費用を抑えられる
- t3a.smallの場合、通常では
$0.0245/hour
だが、スポットインスタンスを使うと$0.0074/hour
で済む - Amazon EC2 料金表
- Amazon EC2 スポットインスタンスの料金
- インスタンスが落ちても大丈夫なサービス(redash)は、スポットインスタンスで十分なケースが多そう
- t3a.smallの場合、通常では
4. 各種サービスのインスタンスサイズ縮小や破棄
- Billingとか見て、費用が大きく掛かってるところから既存リソースを調査して、インスタンスのサイズの見直しなどするのが良さそう
よくやるやつ
- EC2, ECSのインスタンスサイズ縮小
- 本番, staging以外はキャパシティ小さくて良さそう
- 一時的に動かしてるリソースや落ちてもいいEC2インスタンスは、スポットインスタンスを使うようにする
- RI買う
- 今後も継続して使うリソースは
1年/前払いなし
で契約してもいいと思う
- RDS
- 本番以外はReaderクラスターを破棄
- インスタンスサイズの破棄
- RI買う
- 今後も継続して使うリソースは
1年/前払いなし
で契約してもいいと思う