Auto Scaling Group

AWS Auto Scaling Groups (ASG) ノート。

Scalability & High Availability

Scalability

Scalability はアプリケーション/システムが調整(ちょうせい) によってより(おお) きな負荷(ふか)処理(しょり) できることを意味(いみ) する。2 種類(しゅるい) :

  • Vertical Scalability: インスタンスサイズを増加(ぞうか) ((れい) : t2.micro → t2.large)
  • Horizontal Scalability (Elasticity): インスタンス(すう)増加(ぞうか)

High Availability

  • 通常(つうじょう) Horizontal Scaling と()() わせ
  • (すく) なくとも 2 つの AZ でアプリケーションを実行(じっこう)
  • データセンター障害(しょうがい) ()生存(せいぞん)目標(もくひょう)

Summary

種類(しゅるい)説明(せつめい)
Vertical Scalingインスタンスサイズを増加(ぞうか) (Scale up/down)
Horizontal Scalingインスタンス(すう)増加(ぞうか) (Scale out/in) - ASG, Load Balancer
High Availability複数(ふくすう) の AZ でインスタンスを実行(じっこう) - ASG Multi-AZ

Scalability vs Elasticity vs Agility

概念(がいねん)説明(せつめい)
Scalabilityハードウェア強化(きょうか) (scale up) またはノード追加(ついか) (scale out) でより(おお) きな負荷(ふか)対応(たいおう)
Elasticityスケーラブルなシステムで、負荷(ふか)(おう) じた自動(じどう) スケーリング。Cloud-friendly: pay-per-use
Agility(あたら) しい IT リソースがクリック(ひと) つで利用(りよう) 可能(かのう)数週間(すうしゅうかん) から数分(すうふん)短縮(たんしゅく)

Auto Scaling Group

Amazon EC2 インスタンスを自動的(じどうてき)起動(きどう) または終了(しゅうりょう) し、アプリケーション負荷(ふか)処理(しょり) するのに十分(じゅうぶん) なインスタンス(すう)確保(かくほ)

Goals

  • Scale out (EC2 インスタンス追加(ついか) ) で負荷(ふか) 増加(ぞうか)対応(たいおう)
  • Scale in (EC2 インスタンス削除(さくじょ) ) で負荷(ふか) 減少(げんしょう)対応(たいおう)
  • 最小(さいしょう)最大(さいだい) マシン(すう)確保(かくほ)
  • (あたら) しいインスタンスをロードバランサーに自動(じどう) 登録(とうろく)
  • 異常(いじょう) なインスタンスを置換(ちかん)
  • コスト削減(さくげん) : 最適(さいてき)容量(ようりょう) でのみ実行(じっこう)
ASG Overview

With ELB

ASG with ELB

Scaling Strategies

Manual Scaling

手動(しゅどう) で ASG サイズを調整(ちょうせい)

Dynamic Scaling

Simple / Step Scaling

  • CloudWatch アラームがトリガーされた(とき) ((れい) : CPU > 70%) → 2 ユニット追加(ついか)
  • CloudWatch アラームがトリガーされた(とき) ((れい) : CPU < 30%) → 1 ユニット削除(さくじょ)

Target Tracking Scaling

  • 平均(へいきん) ASG CPU を(やく) 40% に維持(いじ)

Scheduled Scaling

  • 既知(きち)使用(しよう) パターンに(もと) づいてスケーリングを予測(よそく)
  • (れい) : 金曜日(きんようび) 17()最小(さいしょう) 容量(ようりょう) を 10 に増加(ぞうか)

Predictive Scaling

履歴(りれき) データから負荷(ふか)予測(よそく) し、事前(じぜん)自動(じどう)容量(ようりょう)調整(ちょうせい)

ASG Scaling Strategies