Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

11 対策 - ECSデプロイメントサーキットブレイカー有効化 - 事象を検知できる仕組みを作る - Container Insight + Cloudwatch - VPCエンドポイント作成 - コンテナのサイズを削減 - etc…

Slide 12

Slide 12 text

12 まずは、基本から

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

AWS Budgets - 予算を設定して、しきい値を超えたら通知 - 毎月一定額しきい値を増やすとか、RI購入を除外とか細かく設定できる AWS Cost Anomaly Detection - 機械学習モデルを利用して、異常なAWSコストの発生を通知 14 コスト関連のアラームを設定する

Slide 15

Slide 15 text

Instance Scheduler - AWS提供のソリューション(CFnテンプレートが提供されている) - 指定したタグがついたリソースを、スケジュール起動停止を簡単に実現できる - EC2,RDSに対応 System Manager AutoMation - EC2用の起動停止のドキュメントが用意されている - EventBridgeなどと組み合わせてスケジュール起動停止を実現可能 15 使わないリソースを停止する(自動起動停止)

Slide 16

Slide 16 text

aws-nuke - AWSリソースの削除に便利なCLIツール - 全リソース削除の他に、フィルターで特定リソースを残すなど可能 構成管理ツール(CFn/CDK/Terraform…) - コードで一括で作成/削除すれば、手動より削除漏れが発生しづらい 16 使わないリソースを削除する

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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/

Slide 20

Slide 20 text

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/

Slide 21

Slide 21 text

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