IT/AI救済センター

コラム / クラウド運用 /

AWS請求書が突然100万円超えた朝に、最初に開く画面と止める順序

NAT Gateway、CloudFront、Data Transfer、Backup ─ 知らないと月数十万請求されるサービス

📖 約10分 / 公開日: 2026/05/17

AWS の請求が突然 100万円を超えた、と朝イチで連絡が来る。月初の請求書を見て卒倒した、というやつだ。直近半年で4件対応した。原因は毎回違うが、対処の手順はだいたい共通している。

最初にやることは、AWS Cost Explorer の右上で「日別」表示にする。月単位の集計ではなく、日別グラフを見る。これで「いつから跳ね上がったか」が一発でわかる。多くの場合、ある日を境にグラフが垂直に立ち上がっている。その日に何が起きたか、CloudTrail を漁る作業がここから始まる。

そして次に絞り込み軸を「サービス」にする。何のサービスでコストが膨らんでいるか。経験上、上位に来やすいのは EC2 Data Transfer、NAT Gateway、CloudFront、S3、RDS、Backup の6つ。これ以外、たとえば Lambda や DynamoDB のコストが急上昇するのは比較的稀だ。

## ケース別の対処

直近で扱った4件の内訳を晒す。

1件目は NAT Gateway。月7万円台で運用していたものが、突然月62万円に。原因は新規導入したコンテナアプリが S3 アクセスを VPC エンドポイント経由ではなく NAT Gateway 経由でやっていた。NAT Gateway は通過するトラフィックに対して 1GB あたり $0.045 課金される。S3 への大量データ書き込みがこれに乗ると、簡単に数十万円になる。S3 への VPC エンドポイント(無料)を追加して即解消。

2件目は CloudFront。月1万円→月48万円。原因は、新規ローンチした動画配信機能。CloudFront のキャッシュヒット率が低く、毎回オリジン(S3)にフェッチが行っていた。さらに動画のサイズが大きく、Data Transfer Out が膨大に。Cache-Control ヘッダの設定漏れと、S3 Transfer Acceleration の誤有効化が真の犯人だった。

3件目は AWS Backup。月3千円→月18万円。EBS スナップショットの自動バックアップが、毎日全インスタンスのフルバックアップを取っていた。1ヶ月で保有スナップショット数が3,000を超えていた。バックアップポリシーを「日次・直近7世代」に変更して解消。

4件目は最悪のパターンで、IAMアクセスキー漏えい。GitHub の Public Repo に AWS_ACCESS_KEY_ID を含むファイルをコミットしたエンジニアがいて、攻撃者が暗号通貨マイニング用に EC2 インスタンスを大量起動した。p3.16xlarge(GPU搭載・時間単価$24.48)が世界10リージョンで合計47台動いていた。発見まで18時間。請求は $187,000(約2,800万円)に達した。

## 即時止血の手順

コスト急増を発見したら、何より先にやるのが「課金の発生源を止める」。順番がある。

1. CloudTrail で直近24時間のアクションログを取得し、見覚えのないリージョンでの操作がないか確認。あれば即座にIAM キーを Rotate / Disable する。
2. AWS Cost Anomaly Detection を有効化していなければ即有効化(無料)。次回以降は早期検知できる。
3. リソースを停止する前に、業務影響を社内に通知。
4. NAT Gateway の異常トラフィックなら、VPC Flow Logs を有効化して送信元を特定。
5. EC2 異常起動なら、不要インスタンスを停止(Terminate ではなく Stop でまず一旦止める。証拠保全のため)。
6. CloudFront の異常配信なら、Distribution を Disable する(即時に課金停止する)。

## 不正利用なら AWS に交渉

4件目のような「明らかに不正利用」のケースは、AWS サポートに連絡すれば請求免除されることが多い。サポートプランが Basic でも、不正利用案件は無償で対応される。コンソールから Billing & Cost Management のサポートケースを開き、「Unauthorized usage」の理由で減免リクエストを出す。

ただし、減免されるのは「攻撃者によって発生したコスト」のみ。自社の設計ミスによるコスト(NAT Gateway 経由 S3 など)は減免されない。1件目のような設計起因のケースは、原則として全額自己負担になる。

## 再発防止

再発防止の本丸は3つ。

まず Budgets と Cost Anomaly Detection。Budgets で予算閾値を設定し、80%、100%、120% で Slack 通知する。Cost Anomaly Detection は機械学習で異常パターンを検出する。両方とも無料。

次に Service Control Policies(SCP)と Permissions Boundary。組織全体で「使えるリージョン」「使えるサービス」「使えるインスタンスタイプ」を制限する。米国リージョンと東京リージョンしか使わない企業なら、それ以外をブロックすれば、4件目のような事故は防げた。

最後に IAM Access Analyzer と GitHub Secret Scanning。コードリポジトリへの認証情報コミットを自動検出する。Push Protection を有効化すれば、git push の時点で拒否される。

AWS の請求トラブルは「使った覚えがない」が9割。日々の運用画面(Cost Explorer 日別表示)を月1で見るだけで、半分以上の事故は早期発見できる。

関連コラム

具体的な状況をご相談ください

記事の内容に該当しそうなら、まずは60分の無料相談でご相談を。

60分無料相談を予約
緊急 AI診断 60分予約