GWの自己研鑽4日目のメモです。
AWS ECS(EC2起動)でのAuto Scalingまわりの調査&検証をしました。
- サービスの Auto Scaling
- 公式ドキュメントを読んだ
- ECSはサービスのリソース使用率(CPUやメモリの使用量)メトリクスをcloudwatchに発行している
- このメトリクスを利用して自動的にサービスのスケールイン・スケールアウトをすることができる
- ターゲット追跡スケーリングをやってみた
- コンテナインスタンスの auto scaling
- EC2起動の場合はサービスをホストしているコンテナインスタンスのauto scalingも考慮する必要がある。
- 公式ドキュメントを読んだ
- Capacity Providerというものを使うといいらしい
- Capacity Provider = クラスタ中のタスクが利用するインフラを管理するやつ
- target capacity(0~100)を定義するとその値をターゲット追跡してくれるらしい
- 例えば100と設定するとクラスタ内にあるコンテナインスタンスのサービス使用率が100に近くなるようにscale-out/scale-inが行われる
- Capacity Provider Strategy = どのCapacity Providerを使ってタスクのインフラを管理するかを決める戦略
- クラスタは複数のCapacity Providerを持つことができるので、サービスを作るときにどの戦略でいくか選ぶ
- 最低でもX個のタスクはCapacity Provider Aを使う(base値)、全体のうちY%のタスクはCapacity Provider Bを使う(weight値)というような戦略を作ることができる
- Default Capacity Provider Strategy = デフォルトのCapacity Provider Strategy
- サービス起動時にCapacity Provider Strategyを指定しなかった場合に使われる戦略。
- クラスタごとに決めることができる
- Classmethodの記事を参考に実際に動かしてみた
0 件のコメント:
コメントを投稿