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

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

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

 

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

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

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

 

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

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

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

 

ロードビューの設定

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

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

ウェブページテスト

 

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

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

 

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

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

 

LoadView は、内部アプリケーションにアクセスできるかどうかの確認を開始します。 [静的プロキシ] を選択し、ホワイトリストに登録された IP を含め、[ゾーンの追加] を選択して、トラフィックを生成するリージョンを選択します。 実際、LoadView プラットフォームは、ファイアウォールの内側のネットワーク内にのみ存在する Web アプリケーション、Web ページ、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人とプライベートデモを行うために、自分自身とチームの他の誰かにサインアップしてください。 ロード テスト スクリプトの作成と編集から、ロード テスト シナリオの構成と実行、レポートの分析まで、包括的なデモが提供されます。 デモのスケジュールを設定します