自動スケーリングとは何ですか?

Auto Scaling は、クラウド コンピューティングに関連付けられた方法で、アプリケーション内のリソース数を必要に応じていつでも自動的に増減します。 クラウド コンピューティングを使用する前は、サーバーのインストールを自動的にスケーリングすることは非常に困難でした。 物理的なホスティング環境では、ハードウェアリソースが限られているため、アプリケーションのパフォーマンスが低下するか、アプリケーションがクラッシュします。

今日、クラウド コンピューティングはスケーラブルなサーバーセットアップを作成することを可能にします。 アプリケーションに必要な処理能力が高い場合、自動スケーリングにより、ユーザーは必要に応じて追加のリソースを使用および終了できます。 Auto Scaling は、必要な場合にのみリソースを効率的に使用する方法を提供し、需要が増加/減少したときにアプリケーションの容量を確保し、最も重要なのは、組織のニーズ以上の支払いを行う可能性を防ぎます。 それでは、オートスケーリングの仕組み、組織に提供するメリットについて詳しく説明します。

自動スケーリングが必要な理由

自動スケーリングは、アプリケーションがページ要求またはレンダリングの数に対応するために追加のサーバー リソースを必要とする場合に非常に機能的です。 お客様のニーズに合わせて自動的に拡張または縮小できるスケーラブルな機能を提供します。 自動スケーリングには、次の利点があります。

  • 自動スケーリングにより、負荷が低い時間帯に一部のサーバーをスリープモードに移行できるため、コストが削減されます。
  • ワークロードが異なる場合、稼働時間が増加し、可用性が向上します。
  • フロントエンド サイトでは、受信要求の数に基づいて拡張できます。
  • バックエンドでは、ジョブの数とキュー内のジョブの長さに基づいてスケールを提供します。

LoadView を使用して自動スケーリングが正しく動作することを確認する

LoadView は、API や ウェブ ページから、内部/外部 ウェブ アプリケーション内の複雑なユーザー シナリオまで、あらゆるものをテストできる ウェブ ベースのロード テスト ソリューションです。 Loadview は、システムの速度を遅くしたり遅らせたりする問題や不具合を見つけるのに役立つレポートを実行するテストと共有します。 たとえば、ウェブ ページをロード テストする場合、数百から数千の同時ユーザーに対して特定のページをテストし、特定の負荷レベルでのページの動作を確認できます。

ユーザー パスをテストする場合 、LoadView は、EveryStep Web Recorderと共に、画面をスクリプトに変換して、アプリケーションとのリアルタイム対話をテストし、実行されたすべてのアクションをキャプチャし、負荷の下で再生できます。

ロードビューの設定

この例では、内部アプリケーションをテストします。 内部アプリケーションをテストする場合、内部アプリケーションでロード テストを実行する前に、IP アドレスをホワイトリストに登録する必要があります。 ロード インジェクタを使用して、IP をホワイトリストに追加し、多数の同時ユーザーに対してテストを実行できます。

LoadView のメイン ページが開き、ウェブ アプリケーション、API、ウェブ ページ、ストリーミングメディアなど、いくつかの異なるオプションが表示されます。 [ウェブ ページ]オプションを選択します。

ウェブページテスト

ロード テストの実行、内部 ウェブ サイトのホスト名、ブラウザなどを追加する時間を追加できる新しいページが開きます。 詳細を入力したら、[ デバイスの作成 ] ボタンをクリックします。

内部アプリケーションロードテスト

デバイスの作成が正常に完了すると、[テスト シナリオ] 画面が表示され、ロード タイプ、ロード インジェクタの位置などを設定および定義できます。 次に、[ ステップ カーブをロード ]オプションを選択します。

内部アプリケーションロードテストロードカーブ

LoadView は、内部アプリケーションへのアクセス権があるかどうかを確認するために開始されます。 [静的プロキシ] を選択し、ホワイトリストに登録した IP を含め、[ゾーンの追加] を選択して、生成されるトラフィックを含めるリージョンを選択します。 実際、LoadView プラットフォームは、ファイアウォールの内側で、ネットワーク内にのみ存在する ウェブ アプリケーション、ウェブ ページ、API、およびその他の ウェブ サービスのテストを支援できます。

LoadView ユーザーには、IP アドレスのホワイトリスト登録や、組織がセキュリティ上の理由で受信トラフィックへのネットワークを開くことができない場合のオンプレミス エージェントのインストールなど、いくつかのオプションから選択できます。 ファイアウォールの内側からのロード テストの詳細については、マイクロソフトのナレッジ ベースを参照してください。

 

静的プロキシ

完了したら、[ テストの開始] を選択します。 この画面からエージェントリストの一部に静的IPを見つける必要があります。ホワイトリストに追加する必要がある内部アプリケーションにアクセスするための作成者をロードします。 この画面の エージェントリスト で、ホワイトリストにアクセスする必要がある内部アプリケーションにアクセスするための静的 IP を見つけることができます。

内部アプリケーション ロード テストの概要

 

テストの実行中、インジェクタは毎回ホワイトリストから新しい一意の IP アドレスを取得します。 ホワイトリストの静的 IP を使用して、アプリケーションで作成したテストのパネルとグラフを通じてパフォーマンスを確認できます。 例を以下に示します。

平均ユーザー数の応答時間

[平均応答時間] グラフを使用したユーザーの平均数。

負荷の増加に応じて AWS の追加リソースを監視する

クラウドウォッチのメトリクス

CloudWatch を使用すると、データに関する統計情報を取得できます。 システムが期待どおりに動作していることを確認するためのメトリックを使用します。 CloudWatch アラームを作成して、特定のメトリクスを追跡し、メールでアラーム通知を受信できます。 ロードバランシングでは、リクエストがロードバランサーを通過し、1 分ごとに Elastic Load バランシング メトリクスを測定して CloudWatch に送信する場合にのみ、データが CloudWatch にレポートされます。

 

クラウドウォッチのメトリクス

ロードバランサーへの CloudWatch メトリクスの表示

EC2 コンソールを使用して、ロードバランサーの CloudWatch メトリクスを表示できます。 ロード バランサーが有効で、要求を受信している場合は、データ ポイントを表示できます。

アクセスログ

アクセスログを通じて、トラフィックを分析し、問題を解決するためにそれらを使用することができます。 Amazon S3 のロードバランサーに対して行ったリクエストをログファイルとして保存することもできます。

要求トレース

ロード バランサーは、受信するすべてのリクエストの追跡識別子を追加するため、HTTP 要求を監視できます。

クラウドトレイルログ

CloudTrail を使用すると、すべてのユーザーのアカウントで作成されたトランザクションのログを追跡できます。 このようにして、承認とアクセス要求を管理できます。

自動スケーリングによるユーザー エクスペリエンスの低下の保証

CloudWatch 合成では、ユーザーのパフォーマンスを監視できます。 パフォーマンスとユーザビリティの概要が改善されるため、問題を早期に検出して迅速に対応できるため、顧客の喜びが向上し、アプリケーションが要求に対して適切に対応できるようになります。 カナリアは早期警告で私たちをさせるために使用されます。 カナリアの使用のために、我々は1つの画面にすべての カナリア の状態を観察することができ、CloudWatchコンソールでカナリア諸島をクリックします。

クラウドウォッチカナリア諸島

データに対するカナリアのパフォーマンスを見てみましょう。 このため、カナリア実行セクションの個々のデータポイントを調べる際に、すべてのデータムポイントが1つのカナリアに対して実行されたスタディの合計であることがわかります。

下のスクリーンショットでは、24 時間のタイムアウトエラーの件名があることがわかります。 HARファイルとログで得られたスクリーンショットも見ることができます。 すべての HAR レコード内には、カナリアに対して行われた応答と要求および HTTP 要求の経過時間が表示されます。

 

クラウドウォッチHARファイル

カナリア タスクはラムダ関数を使用して行います。 [メトリック] タブから、関数の実行メトリックにアクセスできます。

カナリアのハッチング

カナリアを作成するには、カナリアを押して作成します。 チェックボックスから選択したり、既存のスクリプトをロードしたり、Amazon S3 からインポートしたりできます。

クラウドウォッチ作成カナリア

作成したメソッドの結果として、スクリプトを一度実行するか、定期的に実行することが作成されます。 API エンドポイントのカナリアを作成するときに GET メソッドまたは PUT メソッド、要求された HTTP ヘッダーを使用できます。 また、GUIを介してカナリアビルドプロセスを作成することもできます。 私たちは簡単に私たちのカナリアの特徴を与えることができます。 カナリア スクリプトは syn-1.0 の動作時間を使用します。 サンプル スクリプトは以下の通りです。

カナリア スクリプト

スクリプト内では、成功した結果とエラーを例外として確認できます。 スクリプトのデータ保持期間を作成します。 カナリアの各作業の後に形成される構造にS3バケットを選択します。 カナリアの作成中に、IAM (ID とアクセス管理) ロール、CloudWatch アラーム、VPC (仮想プライベートクラウド) 設定、タグなどの機能の一部を設定することもできます。

結論: AWS での自動スケーリングのテスト

ユーザーが劣化によって悪影響を受けないようにするために、Canaryを使用して、ユーザーの前に起こりうる問題を検出し、ログに記録し、早期に介入し、より迅速に対応することができます。 さらに、私たちのカナリアに提供されるアラームのおかげで、必要に応じてソースを増やすことができます。

さらに、顧客満足度を最大化し、アプリケーションがリクエストに対してより良い応答を得られるようにするため、LoadViewプラットフォームと組み合わせたCloudWatch合成は、パフォーマンスと使いやすさの概要を把握し、ロードテスト中に意図したとおりに自動スケーリングを実行するのに役立ちます。

LoadView 無料試用版にサインアップし、すべての ウェブ ページ、アプリケーション、および API のパフォーマンス テストを今すぐ開始します。

LoadViewソリューションを最初に実際に見るには、パフォーマンスエンジニアの1人とプライベートデモを行うために、自分自身とチームの他の誰かにサインアップしてください。 ロード テスト スクリプトの作成と編集から、ロード テスト シナリオの構成と実行、レポートの分析まで、包括的なデモが提供されます。 デモのスケジュールを設定します