Amazon EC2 Auto Scaling
需要の変動に対応してコンピューティング性能を増減する
Amazon EC2 Auto Scaling はアプリケーションの可用性を維持するうえで役立ち、お客様が定義した条件に応じて Amazon EC2 のキャパシティーを自動的かつ動的に増減できます。Amazon EC2 Auto Scaling を EC2 インスタンスのフリート管理に使用することによって、フリートの状態と可用性を維持し、必要な数の Amazon EC2 インスタンスを確実に実行できます。また、Amazon EC2 Auto Scaling を EC2 インスタンスの動的スケーリングに使用することによって、需要が急上した際には Amazon EC2 インスタンスの数を自動的に増やしてパフォーマンスを維持し、需要が落ち着いた際にはキャパシティーを減らしてコストを削減できます。Amazon EC2 Auto Scaling は需要パターンが一定のアプリケーションにも、使用量が時間、日、週で変動するアプリケーションにも適しています。
利点
耐障害性の向上
Amazon EC2 Auto Scaling では、異常なインスタンスを検出して削除し、新しいインスタンスに置き換えることができます。
アプリケーションの可用性の向上
Amazon EC2 Auto Scaling を使うことで、常にアプリケーションに対して適正な量のコンピューティング性能を確保できます。
コストの削減
Amazon EC2 Auto Scaling では、必要なときにのみ新しいインスタンスが追加され、不要になれば削除されます。
仕組み
フリートの管理
Amazon EC2 インスタンスを 1 つ実行する場合でも数千個実行する場合でも、Amazon EC2 Auto Scaling を使用すると、障害の発生した Amazon EC2 インスタンスや異常なアプリケーションを検出し、そのインスタンスをユーザー操作なしで置き換えることができます。これによって、アプリケーションでお客様が期待するコンピューティング性能を確保できます。Amazon EC2 Auto Scaling は、EC2 インスタンスのフリート管理を自動化するため、主に以下の 3 つの機能を実行します。
- 実行中のインスタンスの状態をモニタリングする
Amazon EC2 Auto Scaling では、アプリケーションによるトラフィックの受信や EC2 インスタンスの正常な動作を確保できます。Amazon EC2 Auto Scaling ではヘルスチェックが定期的に実行され、異常なインスタンスが特定されます。
- 障害の発生したインスタンスを自動的に置き換える
ヘルスチェックで障害の発生したインスタンスが検出された場合、そのインスタンスは Amazon EC2 Auto Scaling によって自動的に削除され、新しいインスタンスに置き換えられます。インスタンスを置き換える際、お客様が手動で対応する必要はありません。
- アベイラビリティーゾーン間でキャパシティーを均等化する
Amazon EC2 Auto Scaling では、複数のゾーン間でインスタンス数を自動的に均等化できます。フリート全体として、ゾーン間でインスタンス数ができるだけ均等になるよう、必要な場合はいつでも新しいインスタンスが作成されます。
動的スケーリング
Amazon EC2 Auto Scaling を使用すれば、アプリケーションの需要曲線に沿って迅速に対応できるようになり、事前に Amazon EC2 キャパシティーを手動でプロビジョニングする必要性が軽減されます。例えば、目標追跡のスケーリングポリシーを使用して、CPU 使用率といったアプリケーションの負荷メトリクスを選択できます。また、Application Load Balancer で新しい "ターゲット 1 つあたりのリクエスト数" メトリクスを使用して目標値を設定することもできます。これは、Elastic Load Balancing サービスの負荷分散オプションです。こうすることで、目標値を維持できるよう、Amazon EC2 Auto Scaling によって EC2 インスタンス数が自動的に調整されます。
また、簡易スケーリングポリシーを使用して、Amazon EC2 フリートの平均使用率が高いときに新しい Amazon EC2 インスタンスを一定数追加する条件を設定することもできます。同様に、CPU 利用率が低いときにインスタンスを一定数削除する条件も設定できます。負荷の変化を予測できる場合には、Amazon EC2 Auto Scaling でスケジュールを設定し、スケーリングアクティビティを計画できます。
Amazon EC2 Auto Scaling は、Amazon CloudWatch と併用することもできます。これにより、アラームを送信してスケーリングアクティビティをトリガーし、Elastic Load Balancing によって EC2 Auto Scaling グループ内のインスタンスにトラフィックを分散できます。
また、Amazon EC2 Auto Scaling を AWS Auto Scaling と組み合わせて使用すれば、複数のサービスをスケールできます。
Amazon EC2 Auto Scaling の使用を開始する
Amazon EC2 Auto Scaling 機能の詳細

