- 管理とガバナンス›
- AWS Auto Scaling›
- よくある質問
AWS Auto Scaling に関するよくある質問
全般
Q:AWS Auto Scaling とは何ですか?
AWS Auto Scaling は AWS の新しいサービスで、複数の AWS リソースを簡単かつ安全にスケーリングして、インフラストラクチャのコストを削減しながら、アプリケーションのパフォーマンスを最適化することができます。アプリケーションをサポートする関連リソースのコレクションをわずか数回のクリックでスケーリングできるため、スケーリングの操作が簡単になります。AWS Auto Scaling では、アプリケーションを支えるインフラストラクチャのスタック全体に、一貫して整合のとれているスケーリングポリシーを設定できます。AWS Auto Scaling では、必要に応じてリソースが自動的にスケーリングされ、選択したスケーリング戦略に合わせられるため、パフォーマンスが維持され、実際に必要なリソースに対する料金のみが発生します。
Q:AWS Auto Scaling の利点は何ですか?
AWS Auto Scaling を使用すると、アプリケーションのパフォーマンスとコストの最適化をすばやく簡単に実現できます。
- スケーリングをすばやく設定: AWS Auto Scaling では、アプリケーションで使用されるスケーラブルなリソースのすべてに対して、統一されたスケーリング操作を利用できます。単一の直感的なインターフェイスで、スケーラブルなすべてのリソースの平均使用率を確認できるだけでなく、類似するリソースのグループごとに目標使用レベルを簡単に定義することもできます。
- スケーリングをスマートに決定: AWS Auto Scaling を使用すれば、さまざまなリソースのグループの需要の変化への応じ方を自動化できます。理解しやすいスケーリング戦略により、可用性の最適化、コストの最適化、またはその 2 つのバランスを取るという選択肢から選べます。AWS Auto Scaling により、すべてのスケーリングポリシーが自動的に作成され、お客様の設定に基づき目標値が設定されます。
- パフォーマンスを自動的に維持: AWS Auto Scaling では、アプリケーションの基礎となるリソースを継続的にモニタリングすることで、ご希望のパフォーマンスレベルでの運用を実現できます。需要が急増すると、質の高いサービスを維持するために、AWS Auto Scaling により、制約されていたリソースの容量が自動的に増大します。
- コストを予測し、無駄を省く: AWS Auto Scaling では、AWS のサービスを使用する際に利用効率とコスト効率を最適化できるため、実際に必要なリソースに対する支払いのみで済みます。需要が減少すると、AWS Auto Scaling により、過剰なリソース容量が自動的に縮小され、無駄を省くことができます。
Q:どのような場合で AWS Auto Scaling を使用すれば良いですか?
使用しているスケーラブルなリソースが1 つ以上あり、負荷の変動しやすいアプリケーションを使用している場合は、AWS Auto Scaling を使用してください。該当する例としては、日中にさまざまなトラフィックを受信する電子商取引ウェブアプリケーションがあります。これは、着信トラフィックを分散するための Elastic Load Balancing、コンピューティング層としては Amazon EC2、データ層としては DynamoDB を備えた、標準の 3 層アーキテクチャを採用しています。この場合、AWS Auto Scaling では、需要の変化に応じてアプリケーションを強化する 1 つ以上の EC2 Auto Scaling グループと DynamoDB テーブルがスケーリングされます。
Q:AWS Auto Scaling の使用を開始するにはどうすればよいですか?
AWS Auto Scaling では、リソースタグまたは AWS CloudFormation スタックに基づきアプリケーションを選択できます。ほんの数回のクリックで、アプリケーションのスケーリング計画を立てて、アプリケーション内の各リソースをどのようにスケーリングするかを定義することができます。各リソースについて、AWS Auto Scaling では、そのリソースタイプで最も一般的なメトリクスでターゲットトラッキングスケーリングポリシーが作成され、選択したスケーリング戦略に基づいてそのポリシーが目標値に維持されます。リソースメトリクスの目標値を設定する場合は、可用性の最適化、コストの最適化、またはこの 2 つのバランスを取るという、事前に定義された 3 つのスケーリングの推奨事項から選択できます。または、必要に応じて、独自の目標値を定義することもできます。AWS Auto Scaling では、リソースの最小値と最大値も自動的に設定されます。
スケーリング方法のオプション
Q:AWS のリソースをスケーリングする方法として、他にどのような方法がありますか?
AWS では、リソースをスケーリングするための複数の方法を用意しています。Amazon EC2 Auto Scaling は、アプリケーションの負荷を処理するために適切な数の Amazon EC2 インスタンスを利用できるよう準備するサービスです。EC2 Auto Scaling では、インスタンスの異常が検出されると、そのインスタンスが削除され、そのインスタンスに代わる新しいインスタンスが作成されます。EC2 Auto Scaling を使用すると、アプリケーションの耐障害性が向上し、可用性が高くなることに加え、コスト管理も改善されます。
EC2 以外でリソースをスケーリングする方法としては、Application Auto Scaling API があります。このツールでは、スケーリングポリシーを定義することで、AWS のリソースを自動的にスケーリングできます。また、1 回限りのスケーリングアクションや定期的なスケーリングアクションも設定できます。Application Auto Scaling は、Amazon ECS サービス、Amazon EC2 スポットフリート、Amazon EMR クラスター、Amazon AppStream 2.0 フリート、Amazon DynamoDB のテーブルとグローバルセカンダリインデックスのプロビジョニングされた読み取り/書き込み容量、Amazon Aurora レプリカ、Amazon SageMaker エンドポイントバリアントの各スケーリングに対応しています。
複数のサービスにまたがる複数のリソースの自動スケーリングを設定する場合は、AWS Auto Scaling を使用して、アプリケーションの基礎となるリソースのスケーリングプランを作成してください。AWS Auto Scaling は EC2 リソース用の予測スケーリングを生成するためにも利用されています。
Q:どのような場合で使用すれば良いですか? AWS Auto Scaling vs.Amazon EC2 Auto Scaling?
複数のサービスにまたがる複数のリソースのスケーリングを管理する場合は、AWS Auto Scaling をご使用ください。AWS Auto Scaling では、事前に定義されたスケーリング戦略を使って、複数の EC2 Auto Scaling グループやその他のリソースに対する動的なスケーリングポリシーを定義できます。AWS Auto Scaling を使ってアプリケーション内のスケーラブルなすべてのリソースに対するスケーリングポリシーを設定する方が、個々のサービスコンソールでリソースごとのスケーリングポリシーを管理するより時間がかからず、しかも簡単です。AWS Auto Scaling に含まれる事前に定義されたスケーリング戦略でスケーリングポリシーを簡単に設定できます。EC2 リソース用の予測スケーリングを生成するためには、AWS Auto Scaling も利用するべきです。
スケーリング対象が Amazon EC2 Auto Scaling グループのみの場合や、目的が EC2 フリートの正常性の維持のみの場合は、EC2 Auto Scaling をご使用ください。また、Amazon EC2 Auto Scaling グループを作成、設定する必要がある場合や、スケジュールに基づくスケーリングポリシーやステップスケーリングポリシーを設定する必要がある場合も、EC2 Auto Scaling をご使用ください (AWS Auto Scaling は、ターゲット追跡スケーリングポリシーのみに対応しています)。
EC2 Auto Scaling グループの作成、設定には、AWS Auto Scaling ではなく、EC2 コンソール、Auto Scaling API、または CloudFormation をご使用ください。AWS Auto Scaling は、既存の EC2 Auto Scaling グループに対する動的なスケーリングポリシーを設定するためのサービスです。
Q:どのような場合で使用すれば良いですか? AWS Auto Scaling vs.個別サービス用の Auto Scaling?
複数のサービスにまたがる複数のリソースのスケーリングを管理する場合は、AWS Auto Scaling をご使用ください。AWS Auto Scaling では複数のリソースに対して統一されたスケーリングを行えます。また、事前に定義されたガイダンスに沿うことでスケーリングをより簡単に、短時間で設定できます。必要な場合は、個々のサービスコンソール、Auto Scaling API、Application Auto Scaling API を使って、AWS の個々のサービスをスケーリングすることも可能です。また、ステップスケーリングポリシーやスケジュールに基づくスケーリングを設定する場合も、個々のコンソールまたは API をご使用ください。AWS Auto Scaling で作成されるのは、ターゲット追跡スケーリングポリシーのみです。
Q:予測スケーリングとは何ですか?
予測スケーリングは履歴のトラフィックパターンを調べ、適切な時期が進む際の EC2 インスタンスの数の変更をスケジュールするためにそれらの将来を予測する AWS Auto Scaling の機能です。予測スケーリングは機械学習モデルを利用して、毎日の、および毎週のパターンを予測します。
予測スケーリング機能によって Auto Scaling が強化されたことで、キャパシティーをさらに高速、シンプル、正確にプロビジョニングできるようになりました。これはコスト削減とアプリケーション応答性の向上に役立ちます。トラフィックの変更を予測することで、予測スケーリングはトラフィックの変更の事前に EC2 インスタンスを準備し、Auto Scaling をより速く、およびより正確にします。
Q:どのサービスと一緒に予測スケーリングを使えますか?
その時期に、予測スケーリングは EC2 インスタンスのためのみにスケジュールを生成します。
Q:どのように予測スケーリングをターゲットトラッキングと一緒に使用できますか?
予測スケーリングはターゲットトラッキングと合わせて作動し、 EC2 の能力変化を入ってくるアプリケーショントラフィックにより敏感にします。予測スケーリングは予測トラフィックに基づいてアプリケーション用の最小容量を設定しますが、ターゲットトラッキングは現時点での実際のトラフィックに基づいて実際の容量を変更します。ターゲットトラッキングは様々なトラフィック条件に対する所要容量使用レベルをトラッキングする役割を果たし、予測されなかったトラフィックスパイクおよび他の変動に対処します。予測スケーリングおよびターゲットトラッキングはスケーリングプランを生成するために、ユーザーにより同時に設定されます。
Q:スケーリングプランとは何ですか?
スケーリングプランは複数のAWSリソース用のスケーリング命令の収集です。まずAWS Auto Scalingのアプリケーションの基礎となるすべてのEC2リソースを選択することにより、スケーリングプランを設定します。その後CPU使用率などの、トラッキングしたいリソース使用率メトリックを選び、例えば50%のように、トラッキングする値を設定します。最後に、入力トラフィックフローを表すCloudWatchメトリックを選択します。まだ設定されていない場合は設定しなければなりません。
リソース使用率メトリックおよび入力トラフィックメトリックはスケーリングプランのための主要パラメータです。入力トラフィックメトリックはトラフィック予測を生成するために予測スケーリングにより使用されます。これらの予測に基づいて、予測スケーリングはその後将来のスケーリングアクションをスケジュールして、最小容量を設定します。ダイナミックスケーリングはリソース使用率メトリックおよびその目標値を使用して、長期的にトラフィックが変わるアプリケーションのために、動的にEC2の容量を変更します。
Q:予測スケーリングを使用せずにスケーリングプランを設定することができますか?
はい、ダイナミックスケーリングおよび予測スケーリングのオプトアウトのみでスケーリングプランを設定できます。逆に、ダイナミックスケーリングを設定せずに予測スケーリングを有効化することもできます。
Q:予測スケーリングはスケーリングプランを生成するために、どのくらいの履歴データを必要としますか?
予測スケーリングは最大二週間までの履歴データが必要ですが、一日分のデータで予測スケーリングスケジュールを生成できます。
Q:予測スケーリングは将来的にどのくらいのトラフィックを予測しますか?
24時間ごとに、予測スケーリングは向こう48時間のトラフィックを予測し、その48時間のための容量変化をスケジュールします。
Q:予測スケーリングを設定して実際のトラフィックのスパイク前にインスタンスを供給できますか?
はい、オプションとしてバッファータイムを設定して、予測されたトラフィックが変化する前の時間にインスタンスを供給できます。これはEC2インスタンスがアプリケーショントラフィックを送信する準備ができる前にウォームアップ時間を必要とするアプリケーションに便利です。
Q:予測スケーリングにはどのくらいの費用が掛かりますか?
Auto Scaling 機能と同様に、予測スケーリングは無料で使用できます。アプリケーションを実行するために使用されるリソースについては有料です。
Q:Q: AWS Auto Scaling と個々のサービス用のスケーリング機能では、どのような違いがありますか?
AWS のスケーリング方法を比較した表は次のとおりです。
AWS Auto Scaling |
Amazon EC2 Auto Scaling |
Auto Scaling (その他のサービス) |
|
---|---|---|---|
スケーリングできるリソース | EC2 Auto Scaling グループ EC2 スポットフリート ECS サービス DynamoDB のテーブルと GSI のプロビジョニングされた容量 Aurora レプリカ |
EC2 Auto Scaling グループ | EC2 スポットフリート ECS サービス DynamoDB のテーブルと GSI のプロビジョニングされた容量 Aurora レプリカ EMR クラスター Appstream 2.0 フリート Sagemaker エンドポイントバリアント |
スケーリング手法 | 統一されたインターフェイスを使ったアプリケーション全体のスケーリング |
一度に 1 つの Auto Scaling グループ | 一度に 1 つのリソース |
予測スケーリング | はい (EC2 のみ) | いいえ | いいえ |
アプリケーション内のスケーラブルなすべての リソースの自動検出 |
有 | 無 | いいえ |
統一されたインターフェイスで複数のサービスにわたる複数のリソースをスケーリングできる機能 | 有 | 無 |
いいえ |
スケーリングポリシーを設定するための ガイダンスと推奨事項 |
有 | 無 | いいえ |
Auto Scaling グループを Auto Scaling グループ |
いいえ | 有 |
該当なし |
EC2 フリート管理のみに Auto Scaling を使用できる機能 |
いいえ | 有 | 該当なし |
インテリジェントな自己最適化型の ターゲット追跡スケーリングポリシーの設定* |
有 | 有 | 有 |
スケジュールに基づくスケーリングアクションの設定 | いいえ | 有 | 有 |
ステップスケーリングポリシーの設定 | いいえ | 有 |
有 |
リソースごとにメトリクスとしきい値が異なるスケーリングポリシーを設定する | いいえ | 有 | 有 |
* ステップスケーリングポリシーに対し推奨
特徴
Q:Q: AWS Auto Scaling ではどのようなリソースをスケーリングできますか?
AWS Auto Scaling を使用すると、単一の統一されたインターフェイスを使用して、次のようなアプリケーションのリソースのスケーリングを設定できます。
- Amazon EC2 Auto Scaling グループ
- Amazon Elastic Container Service (ECS) サービス (現時点では、リソースタグによる ECS サービスの識別は行えません)
- Amazon EC2 スポットフリート
- Amazon DynamoDB の処理能力
- Amazon Aurora の Aurora レプリカ
Q:Q: AWS Auto Scaling はどのようにしてスケーリングの推奨を設定しますか?
AWS Auto Scaling の推奨は、自動スケーリングに最もよく使用されるスケーリングのメトリクスとしきい値に基づいています。また、リソースの最小サイズと最大サイズの推奨値を示すことによって、スケーリングのための安全なガードレールも提案します。このように、すぐに使用を開始して、スケーリング戦略を徐々に微調整できます。
Q:AWS Auto Scaling 内でアプリケーションスタックを選択するには、どうすればよいですか?
AWS CloudFormation スタックを選択するか、共通のリソースタグに基づきリソースを選択することができます。なお、現時点では、タグを使って ECS サービスを識別することはできません。
Q:AWS Auto Scaling ではスケーリングできるリソースをどのように発見するのですか?
AWS Auto Scaling では、選択した AWS CloudFormation スタックやリソースが指定タグによってスキャンされ、スケーリング可能なサポート対象の AWS のリソースタイプが識別されます。なお、現時点では、タグを使って ECS サービスを識別することはできません。
利用可能なリージョンと料金
Q:AWS Auto Scaling はどのリージョンで利用できますか?
AWS Auto Scaling は、アジアパシフィック (ムンバイ)、アジアパシフィック (東京)、アジアパシフィック (ソウル)、アジアパシフィック (シドニー)、カナダ (中部)、米国西部 (北カリフォルニア)、欧州 (ロンドン)、欧州 (フランクフルト)、欧州 (パリ)、欧州 (ミラノ)、米国東部 (バージニア)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、アジアパシフィック (シンガポール) の各リージョンで利用可能です。
Q:AWS Auto Scaling の料金はいくらですか?
個々の AWS リソースの自動スケーリングと同様に、AWS Auto Scaling は無料で使用できます。AWS Auto Scaling は Amazon CloudWatch によって使用可能になるため、CloudWatch やアプリケーションリソース (Amazon EC2 インスタンス、Elastic Load Balancing ロードバランサなど) のサービス料金が適用されます。