Auto Scalingとは
あらかじめ決めておいた条件に従って,サーバの負荷の上昇や故障を検知した際にITリソースを増減するもの
EC2やDynamoDBなどで利用。これにより,実際の需要に合わせたオートスケールが可能。
構成要素
-
Auto Scaling Group
EC2インスタンスの集合で,最大インスタンス数や最小インスタンス数を設定 -
Launch Configuration/Launch Template
Auto Scaling Groupに関連づけられたインスタンスの起動ルールを定めた設定。 -
Scaling Plan
インスタンスをスケールするルールを設定。オプションとして最小台数の維持・手動スケーリング・スケジュールリング・動的スケーリング・予測スケーリングがある。
動作原理
- 指定キャパシティの維持(台数維持) + 条件に応じた自動スケール
指定された数のEC2インスタンスを維持。Auto Scaling GroupでEC2インスタンスを管理している。
自動スケール
負荷に応じて自動的にAuto Scaling Groupを増減する仕組み
- インスタンスの分散(AZ間リバランシング)
使用できるAZの間で均等にインスタンスを配置。スケールアウト(システムを構成するサーバーの台数を増やす)する時インスタンス数が最も少ないAZに新規起動。
ライフサイクル
Auto Scalling Groupに組み込まれたインスタンス
ステータス | 説明 |
---|---|
Pending | インスタンスの起動や初期化処理を行っている |
InService | インスタンスが正常起動している |
Terminating | インスタンスの終了処理を行っている |
Terminated | インスタンス終了 |
Detaching | Auto Scaling Groupからデタッチ処理されている |
Detached | インスタンスのデタッチが完了 |
EnteringStandby | Standbyへ移行 |
Standbt | インスタンスが一時的に削除されている |
メリット
-
耐障害性の向上
設定したインスタンスの数を維持できる。1台インスタンスが故障すると,故障したインスタンスを停止して新しく正常に動作するインスタンスを起動することができる。 -
可用性
システムにアクセスが集中する時間帯に合わせてインスタンスを増やすことができる。 -
コスト
アクセスが少ない場合は無駄なリソースの使用を防ぎ,コストを抑えることができる。
料金
利用料金は無料。
参考
https://www.youtube.com/watch?v=B8RIZmTH7dk
https://www.youtube.com/watch?v=2ULl1BV0I68&list=PLPzcoMdqG5noLR7rAc552mvPADUmmdSt1&index=6
AWSの基本・仕組み・重要用語が全部わかる教科書