## スケーリングの考え方 - 適切にスケーリングするためにはまずはアプリケーションの特性を知ることが大事 - ワーカーベースのサーバーの場合 - 同時実行数を使ってスケーリングする - 同時実行数をアプリケーションから CloudWatch にレポートし、同時実行数をスケーリング指標として利用する - ALB を使っている場合 ALB の `ActiveConnectionCount` を利用することも可能 - [AWS ドキュメント: ベストプラクティス-Auto Scaling とキャパシティ管理](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/bestpracticesguide/capacity.html) ## オートスケール方法 - 2種類の方式がある - Target Tracking Scaling Policy - Step Scaling Policy - Target Tracking Scaling Policy が推奨されている - [ベストプラクティス](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/bestpracticesguide/capacity.html) ### Target Tracking Scaling Policy - 指定したメトリクスが指定した値になるようにスケールアウト/スケールインする - 値を指定すればあとはよしなにやってくれる方法 - 例: CPU使用率が60%になるようにする - CPU使用率が70%ならスケールアウトするし、30%ならスケールインする - [ドキュメント](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/service-autoscaling-targettracking.html) ### Step Scaling Policy - 指定した閾値に基づいてスケールアウト/スケールインする - どうなったらどうするという設定を指定する方法 - 一気にコンテナを増やす/減らすことができる - 例: CPU使用率が70% ~ 80%ならコンテナを3つ起動する、CPU使用率が80%以上ならコンテナを5つ起動する - [ドキュメント](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/service-autoscaling-stepscaling.html)