AWS10万円課金の恐怖を防ぐ3つの方法
AWSを使っていると、一番怖いのは「気づいたらウン十万の請求が来ていた」問題です。
クラウドは便利ですが、放っておくとコストが雪だるま式に膨らみます。
自分も新卒のAWS研修時、
- RDSを間違って高コストで立ち上げた
- RDSを立ち上げっぱなしにしてた
- 予算アラートを設定していなかった
とかいういかにもな状態で10万の請求を叩き出しました。
また入社数ヶ月の若手だったこともあり、コンソール画面を見た時に死ぬほど汗が出た記憶があります。
月初来コストが$700と表示されてた時はマジ死ぬかと思いました。
こういうことはやるべきことをちゃんとやっていれば回避できます!
この記事では 「AWSコスト管理のベストプラクティス」 を整理しつつ、特に最初にやっておきたい3つのことを紹介します。
まず覚えておきたい「コスト最適化」の考え方
AWSには Well-Architected Framework という設計原則があり、その中のひとつが「コスト最適化」です。
要点をざっくりまとめるとこんな感じです。
- コストを可視化する
- 不要なリソースを削減する
- 予算や見積もりをもとに計画を立てる
- ビジネス的に価値がある部分にお金をかける
- 誰がどのコストを使っているか明確にする
要するに「見える化 → 削減 → 予測」を回すことが肝心。これを支えるのが クラウド財務管理(CFM / Cloud Financial Management) です。
1. コストの可視化〜まずは「誰がいくら使っているか」を知る〜
AWSの利用状況を一目で確認するなら Cost Explorer が定番です。
期間やサービスごとの内訳をレポートできるので「なんかEC2の請求が高いぞ?」といった気づきを得られます。
検索窓から「Billing and Cost Management」を選択
サイドメニューより「Cost Explorer」を選択
画面右側の項目から絞り込みを選択し調査開始!
さらに掘り下げたいなら コスト配分タグ を必ず設定しましょう。
コスト配分タグとはAWSサービスを立ち上げる際に付与できるタグを使ってコストの分布を確認できる機能です。
これを有効化することで、例えばEC2を立ち上げる際に「project : A」「project : B」のようにタグを付与します。
こうすることで、後からproject : Aが使用したEC2のコストはこれくらいだな〜というのが一目でわかります。
先ほどの画面サイドメニューから「コスト配分タグ」を選択し、コスト配分を有効化します。
コスト配分タグの注意点として、有効化した後から計測が始まります!
有効化前はレポートに出力できないので注意!!!
どのタグをコスト配分タグに設定するか選択可能
2. コストの最適化 〜今すぐできるクイックウィン〜
可視化で「無駄」を見つけたら、次は削減です。
代表的なクイックウィンは以下。
- 開発環境を夜間・週末に停止する
- EventBridge
- Systems Manager Resource Scheduler
- Instance Scheduler
- 未使用リソースを削除する
- インスタンスタイプを見直す
- Savings PlansやRIを購入する
- EBSのストレージを適切に見直す
ここではEventBridgeの例を掘り下げます。
冒頭に記載しましたが、これを用いることで自動で「出勤時刻にRDSを立ち上げ、退勤時刻にRDSを停止する」ことが可能です!
しかも超簡単。5分で終わるので、将来の10万円の請求に怯えるのなら、この設定を今すぐ行いましょう。
EventBridgeでスケジュールを作成
こんな感じでcron式を設定
RDSで検索し選択
StopDBInstanceを選択
止めたいインスタンス名を記載
あとは次々に進めていけばOK。ロールの権限付与だけちゃんとやれば毎日19時に止まるはずです。
個人的な考えとして、起動は平日10:00、停止は毎日19:00にしたほうが良いです。RDSは停止後7日後に自動で起動するので、ミスって起動してしまった場合絶対に19:00に止まる方が心理的安心がデカい。
3. コストの計画・予測 〜一番大事なのは「アラート」〜
色々とごちゃごちゃ書きましたが、何よりもこれをやらないとまずいです。
必ず「予算アラート」を設定しましょう。
「Billing and Cost Management」から「予算」を選択
とりあえずこれでいい!
もっと詳しい設定(例えば閾値の50%でメール欲しい、4半期ごとのコストを作りたい)をしたい場合は、「カスタマイズ」を選択しましょう。
この設定ではメールを指定していますが、Slack等にも飛ばせるので絶対見逃さない仕組みを構築しましょう!
まとめ 〜請求書ショックを防ぐ3か条〜
- 予算アラートを必ず設定する(最優先!)
- コスト配分タグで「誰が使ったのか」を明確にする
- 可視化 → 削減 → 予測のループを回す
AWSは「使った分だけ払う」からこそ便利ですが、同時に「使いすぎたら止まらない」危険性もあります。
ウン十万の請求が来て青ざめる前に、今日から準備しましょう!
Discussion