Upgrade to Pro — share decks privately, control downloads, hide ads and more …

失敗から学ぶAWSコスト管理入門 ~想定の50倍以上の請求がきた話~

D4d93646eedaaf5a9551cfc0ccd5b020?s=47 msato
May 23, 2022

失敗から学ぶAWSコスト管理入門 ~想定の50倍以上の請求がきた話~

D4d93646eedaaf5a9551cfc0ccd5b020?s=128

msato

May 23, 2022
Tweet

More Decks by msato

Other Decks in Technology

Transcript

  1. 失敗から学ぶAWSコスト管理入門
 想定の50倍以上の請求がきた話
 AWS事業本部コンサルティング部
 佐藤雅樹
 1

  2. 佐藤雅樹 - AWS事業本部コンサルティング部 - 好きなサービス: ECS、CDK - @chari7311 2 自己紹介

  3. 3 今日のゴール - コスト管理の基本について知ってもらう - 役立ちそうなサービス・ツールの概要を知ってもらう 今日話さないこと - 紹介するサービス・ツールの詳細

  4. 4 はじめに みなさんはコスト管理で 失敗したことはありますか?

  5. 5 私の失敗 想定の50倍の請求を 発生させてしまいました😭

  6. 6 構成図 検証環境用 AWSアカウント

  7. 7 事象 ECSのスロットリング放置 NAT Gatewayデータ処理料金50万円😱

  8. 8 ECSのスロットリングとは ECSのタスクの設定が不正 →無限ループ

  9. 9 スロットリングするとどうなる - ECRからイメージをPullし 続ける - NAT GWを経由するため データ処理量が・・・

  10. 10 なぜ50万円もいったか 検知が遅れて、 1ヶ月くらい放置してしまった。。。

  11. 11 対策 - ECSデプロイメントサーキットブレイカー有効化 - 事象を検知できる仕組みを作る - Container Insight +

    Cloudwatch - VPCエンドポイント作成 - コンテナのサイズを削減 - etc…
  12. 12 まずは、基本から

  13. - コスト関連のアラームを設定する - 使わないリソースを停止・削除する 13 基本が大事

  14. AWS Budgets - 予算を設定して、しきい値を超えたら通知 - 毎月一定額しきい値を増やすとか、RI購入を除外とか細かく設定できる AWS Cost Anomaly Detection

    - 機械学習モデルを利用して、異常なAWSコストの発生を通知 14 コスト関連のアラームを設定する
  15. Instance Scheduler - AWS提供のソリューション(CFnテンプレートが提供されている) - 指定したタグがついたリソースを、スケジュール起動停止を簡単に実現できる - EC2,RDSに対応 System Manager

    AutoMation - EC2用の起動停止のドキュメントが用意されている - EventBridgeなどと組み合わせてスケジュール起動停止を実現可能 15 使わないリソースを停止する(自動起動停止)
  16. aws-nuke - AWSリソースの削除に便利なCLIツール - 全リソース削除の他に、フィルターで特定リソースを残すなど可能 構成管理ツール(CFn/CDK/Terraform…) - コードで一括で作成/削除すれば、手動より削除漏れが発生しづらい 16 使わないリソースを削除する

  17. - 基本的な設定で、大きな失敗は防げることが多い - 請求アラートを設定する - 使わないリソースを停止・削除する - 使用するサービスの知識大事 - ネットワーク関連料金が意外と盲点

    17 まとめ
  18. - ECSタスクのライフサイクル - https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task-lifecycle.html 18 補足資料: ECS

  19. 19 補足資料: ECSスロットリング対策 - ECSデプロイメントサーキットブレイカー - https://dev.classmethod.jp/articles/awssummit2021-ecs-deployment-circuit-breaker/ - ECSのスロットリング検知 -

    https://chariosan.com/2021/04/11/ecs_throttling_cloudwatch_containerinsight/ - VPCエンドポイントとNATゲートウェイの損益分岐点 - https://chariosan.com/2022/03/29/ecs_fargate_vpc_endpoint_cost_bep/ - ECSに必要なVPCエンドポイント - https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/vpc-endpoints.html - https://chariosan.com/2021/04/18/aws_cdk_vpc_endpoint/
  20. 20 補足資料: 使わないリソースを停止・削除する - インスタンススケジューラー - https://aws.amazon.com/jp/solutions/implementations/instance-scheduler/ - System Manager

    AutoMation - https://dev.classmethod.jp/articles/tsnote-ec2-ssm-automation/ - https://dev.classmethod.jp/articles/schedule-stopstart-ec2-by-ssm/ - ECS自動起動停止(Lambda) - https://dev.classmethod.jp/articles/fargate-service-task-schedule-stop-start/ - aws-nuke - https://dev.classmethod.jp/articles/aws_nuke_intro/
  21. 21 補足資料: コスト関連のアラームを設定する - AWS Budgets - https://aws.amazon.com/jp/aws-cost-management/aws-budgets/ - https://docs.aws.amazon.com/ja_jp/cost-management/latest/userguide/budgets-best-practices.html

    #budgets-best-practices-alerts - AWS Cost Anomaly Detection - https://aws.amazon.com/jp/aws-cost-management/aws-cost-anomaly-detection/ - 請求アラーム - https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/monitor_estimated_char ges_with_cloudwatch.html - AWS Cost Anomaly Detection と AWS Budgets の違い - https://blog.serverworks.co.jp/difference-between-aws-cost-anomaly-detection-and-aws-budgets