はじめに
数年前に500万円のAWSサービスを申し込んでしまうという事件がありました。
以前にLTで発表したネタですが、今回記事にしました。
過去のセッション資料
背景:AWS教育環境
- AWSの社内教育を目的として自由に利用できるAWSアカウントを用意
- 一部のメンバーに管理権限を付与
- 利用ルール
- IGWやNATなどの作成禁止(社内プロキシを経由させる)
- VPCピアリングの禁止
- 不要なリソースは削除、利用する期間のみ起動
事件発生
ある日突然、AWS教育環境で高額のAWS利用料金が発生
3000ドルのサブスクリプション!?
AWS Shieldってなに?
マネージド型のDDoS攻撃保護サービス
WEBサービスへ大量リクエストしサーバーダウンさせるような攻撃に対する防御ができる
Standard料金:無料
Advanced料金:1ヶ月3,000 USD、1年間のサブスクリプション契約
3,000$×12ヵ月×為替142円 = 約500万円!?
申し込み方法:マネジメントコンソールで数クリック
すごく簡単に申し込めますね!
対応
- CloudTrailで調査し、ユーザーの操作を確認
- 結果、料金を確認せずに契約してしまったことが判明
- とりあえずキャンセルしようするもマネジメントコンソールからキャンセル不可
対策
その後の対策として下記4点を実施しました
- 事前教育
- 適切な権限設定
- Slack通知
- 請求アラート
対策1:事前教育
IAMユーザーの発行前にAWSの基本教育を実施
下記の3つのe-learningに合格すること
対策2:適切な権限設定
- 管理権限は原則提供しない
- 提供するポリシーでは下記のActionを明示拒否
- shield:CreateSubscription
- 設定可能であればOrganizationsのSCP設定で拒否する
対策3:slack通知
毎日slackでAWS利用料を通知
いつでも気軽に利用状況が分かる
対策4:請求アラート
- 請求アラートを設定
- CloudWatchメトリクス
- 一定額を超えた場合にメールで関係者に通知
- 10日、20日時点で〇〇ドルを超えた場合に発報
- 現在は他にも機能あり
- AWS Budgetsのアラート機能
- AWS コスト異常検出(AWS Cost Anomaly Detection)
まとめ
- AWSには簡単に契約できてしまう高額なサービスが存在します
- あらかじめ対策しておきましょう!
- 適切にユーザーの権限を設定
- AWS利用前の教育ルールを策定
- 請求アラートなどの検知機能を設定