AWSIT

Amazon EC2 Auto Scalingとは|AWS認定試験対策

当ブログの内容は筆者の経験と知識に基づいていますが、AWSのサービスおよび認定試験は定期的にアップデートされています。もし記事に誤りや古い情報がある場合、お手数ですが「コメント」や「お問い合わせ」からお知らせいただければ幸いです。読者の皆様からの貴重なフィードバックを歓迎しており、正確かつ有益な情報を提供できるよう努めてまいります。
どうぞよろしくお願いいたします。

スポンサーリンク

Amazon EC2 Auto Scalingとは

Amazon EC2 Auto Scaling(以下、Auto Scaling)とは、EC2インスタンスを需要(負荷状況)に応じてスケールアウトまたはスケールインすることができるマネージドサービスです。このサービスを利用することで、必要な時に必要な分だけ利用できるというクラウドのメリットを簡単に享受することができ、コスト効率の優れたシステムを構築することが可能となります。

具体的なAuto Scalingの利用イメージです。

Amazon EC2 Auto Scalingの概要

①EC2インスタンスからCloudWatchへCPU使用率の情報(メトリクス)を送信します。

②③CPU使用率のメトリクスがしきい値を超えたことをトリガーとして、事前定義したAuto Scalingのアクションを実行します。

④アクションの結果、新たなEC2インスタンスが作成されます。

AWSにはAuto Scalingと名の付くサービスが他にもあります。それが「Application Auto Scaling」です。こちらは以下のリソースをサポートしています。(こちらはほとんど出題されることがないため、本記事の解説からは省略しています。)

・Amazon Elastic Container Service(Amazon ECS)のサービスタスク
・Amazon DynamoDBのテーブル
・Amazon Auroraのレプリカ など

※「AWS Auto Scaling」という、上述した2種類のAuto Scalingサービスを一元的に管理するためのサービスもありますが、2023年11月に新規開発投資を中止することが決定されています。

AWS認定試験での出題ポイント

Auto Scaling グループ

Auto Scalingでは、複数のEC2インスタンスを1つのグループで管理しています。グループを作成する際は、EC2インスタンスの最小数、希望する数、最大数を指定します。

例えばEC2インスタンスの最小数を1、希望する数を3、最大数を5で指定したとすると、最初は3台で起動しますが、需要(負荷状況)に応じて1台〜5台の間で増減します。

Amazon EC2 Auto ScalingのAuto Scaling グループの概要

インスタンスの分散(AZ間リバランシング)

例えば、ある特定のアベイラビリティゾーン(AZ)に障害が発生し、AZ間でEC2インスタンスの台数にアンバランスが生じた場合、Auto Scalingは台数が均等になるようにリバランスします。

リバランスの際、古いインスタンスを終了する前に新しいEC2インスタンスが起動するため、システムのパフォーマンスや可用性が損なわれることはありません。

Amazon EC2 Auto Scalingのアベイラビリティゾーン間のリバランス

※リージョン間ではリバランスされませんので、ご注意ください。

起動テンプレート

EC2インスタンスの各種設定を予め定義したものが起動テンプレートです。Auto Scalingグループを作成する際、この起動テンプレートを指定します。起動テンプレートには、Amazon Machine Image (AMI) の ID、インスタンスタイプ、キーペア、セキュリティグループ、およびボリュームの設定が含まれています。

かつては「起動設定」という似た機能が利用されていましたが、こちらはAuto Scalingグループに紐付けられた後で設定を変更することができず、少し使いづらいものでした。一方、起動テンプレートは起動設定の後継にあたり、バージョン管理が可能となっています。Auto Scalingグループで参照するバージョンを「Latest」にすることで、設定変更の度にAuto Scalingグループの設定を変更する必要がなくなります。

※起動設定は段階的に利用ができなくなっており、2024年以降に作成された新規アカウントでは完全に利用不可となっています。

スケーリングポリシー

スケーリングポリシーは、Auto Scalingグループ内でのインスタンス数の調整を制御するためのルールや条件です。主なスケーリングポリシーには以下の種類があります。

手動スケーリング:
手動で希望するEC2インスタンスの数を調整します。

動的スケーリング:
需要(負荷状況)に応じてEC2インスタンスの数を調整します。冒頭のCloudWatchを用いた利用イメージがこれに該当します。

  • ターゲット追跡スケーリング:
    事前に指定したメトリクス(CPU使用率、ネットワークの受信または送信など)のターゲット値を維持するように調整します。
  • ステップスケーリング:
    複数の値に基づいてEC2インスタンスの数を調整します。

スケジュールスケーリング:
特定の日時やイベントに基づいてスケールアウトやスケールインを予約します。例えば、定期的なトラフィックの増減に対応するために使用されます。

予測スケーリング:
日次や月次など、ある特定の期間になったときにEC2インスタンスを調整します。トラフィックに規則的なパターンがあるときに利用します。

Amazon SQSのキューの深さに応じてスケーリングするシナリオもよく出題されます。

SQSのキューの深さに応じたAuto Scaling

Amazon EC2 Auto Scalingとは一言で

Amazon EC2 Auto Scalingとは?AWS認定試験対策

Amazon EC2 Auto Scalingとは、「EC2インスタンスを需要(負荷状況)に応じてスケールアウトまたはスケールインすることができるマネージドサービス」です。

参考

・AWSユーザーガイド
https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html

・AWS BLACK BELT(Amazon EC2 Auto Scaling & AWS Auto Scaling)
https://pages.awscloud.com/rs/112-TZM-766/images/20191002_AWS-Blakbelt_Auto_Scaling.pdf

・AWS BLACK BELT(Amazon EC2 Auto Scaling ⼊⾨編)
https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_Amazon-EC2-Auto-Scaling-basics_0430_v1.pdf

【おすすめの参考書】

リンク先からご購入いただき、サイト運営をご支援いただけますと幸いです…

\タイムセール中/
Amazonで探す
\お買い物マラソン開催中/
楽天市場で探す

コメント

タイトルとURLをコピーしました