AWS Auto Scalingとは
AWS Auto Scalingを用いてEC2インスタンス(仮想サーバー)の負荷状況に応じて自動でインスタンス数を増減することができます。
時間帯や時期によってアクセス数が異なるようなサービスでAWS Auto Scailingはよく利用されます。
サーバーのスペックを増減するためには、以下の2つの方法があります。
AWS Auto Scailingでは、水平スケーリングでEC2インスタンス数(仮想サーバーの台数)を変動させます。
(1) 垂直スケーリング
サーバーのメモリ容量やCPUコア数などを増加して、サーバー1台の処理能力を向上させることを「垂直スケーリング」といいます。
また、メモリやCPU等のサーバーのスペックを増やすことを「スケールアップ」といい、メモリやCPU等のサーバーのスペックを下げることを「スケールダウン」といいます。
(2) 水平スケーリング
サーバーの台数を増加して、それぞれに振り分ける通信数を減らして負荷を下げることを「水平スケーリング」といいます。
また、サーバーの台数の増やすことを「スケールアウト」といい、サーバーの台数を減らすことを「スケールイン」といいます。
また、AWS Auto Scailingによってインスタンス数を増加する場合、インスタンスが最も少ないアベイラビリティゾーン(AZ)でインスタンスを起動します。
もしアベイラビリティゾーンの障害などでEC2インスタンスの起動が失敗した場合は、起動が成功するまで別のアベイラビリティゾーンでインスタンスを起動します。
AWS Auto Scalingの終了ポリシー
AWS Auto Scalingの終了ポリシーを使用すると、スケールインイベントが発生したときにどのインスタンスを最初に終了するかを制御できます。
終了ポリシーには、以下のような種類があり、それぞれ目的によって使い分けます。
(1) OldestInstance
最も古いインスタンスから終了します。
Auto Scalingグループ内のインスタンスを新しいEC2インスタンスタイプに更新する場合に利用します。
古いインスタンスタイプのインスタンスを削除して、新しいインスタンスタイプで新規構築します。
(2) NewestInstance
最も新しい起動時間のインスタンスから終了します。
新しい起動テンプレートの設定をテストする場合に利用します。
(3) OldestLaunchConfiguration
最も古い起動設定により起動しているインスタンスから終了します。
グループを更新して、以前の設定を使用しているインスタンスを削除する場合に利用します。
(4) ClosestToNextInstanceHour
次の課金が始まるタイミングが最も近いインスタンスから終了します。
時間単価のインスタンスを最大限に活用するために利用します。
デフォルトではOldestLaunchConfigurationからClosestToNextInstanceHourの順番に終了します。
AWS Auto Scalingの料金
AWS Auto Scalingは無料で利用することができます。
しかし、増加した仮想サーバー(Amazon EC2インスタンス)の費用は別途か掛かりますので、ご注意ください。
AWS Auto Scalingに関連するその他サービス
AWS Auto Scalingは以下のサービスなどを一緒に利用しますので、AWSのサービス一覧をご紹介します。
No | サービス名 | 概要 |
---|---|---|
1 | リージョン/ アベイラビリティゾーン | EC2インスタンスなどを構築する物理的な場所です。 |
2 | Amazon EC2 | AWSで動作する仮想サーバーです。 AWS Auto Scailingによって負荷状況に応じて仮想サーバー数を増減します。 |
3 | Amazon EBS | 内蔵ストレージであるHDDやSSDを提供するサービスです。 EC2インスタンスのデータを保存するために利用します。 AWS Auo Scailingによって追加されたインスタンスに応じて、EBSも追加されます。 |
4 | Elastic Load Balancing (ELB) | トラフィックを複数のターゲット(EC2等)に自動分散するロードバランサーです。 ELBとAWS Auto Scailingを一緒に利用して、負荷分散することは多いです。 |
AWSに関する記事
AWSについての関連記事は以下の通りです。
必要に応じて、ご確認ください。