予測される負荷にオートスケールで対応する | IDCFクラウド ご利用ガイド

予測される負荷にオートスケールで対応する

IDCFクラウドではオートスケール機能を利用し、ロードバランサー配下の仮想マシンを柔軟に増減させて負荷を分散することが可能です。

本マニュアルでは、活用マニュアル「スケーラブルなWebサイトを構築したい(Web2台構成)」で作成した構成にオートスケール設定を追加し、より柔軟な構成で運用するケースを紹介します。

まずは、設定済みのロードバランサと作成済みのテンプレートをオートスケールグループに登録します。そして、必要に応じてサーバ台数をスケールさせる手順を紹介します。


目次


1. オートスケール機能の概要


2. オートスケールの設定手順

次の手順でオートスケールグループを作成し、必要条件を登録します。

  1. ゾーンを選択します。

  2. グループ名を入力します。

  3. スケーラブルなWebサイトを構築したい(Web2台構成編)」で設定したロードバランサーを選択します。

  4. 管理する仮想マシンの最小 / 最大台数を入力します。今回の例では以下の値を指定します。

  5. スケールタイプを選択します。台数増減時の振る舞いは2種類から選べます。今回は「作成/削除」を選択します。

    タイプ概要メリットデメリット
    作成/削除スケールアウト時にテンプレートから新規仮想マシンを自動作成し、スケールイン時に削除します。作成直後のクリーンな構成を保持しやすい / 不要リソースを削除してコスト最適化仮想マシンが作成されるまで時間がかかる
    起動/停止事前作成済みの仮想マシンを起動・停止で増減します。起動が速い / 事前に異なるマシンタイプや個別カスタマイズを行える仮想マシン停止中もボリューム料金がかかる
  6. マシンタイプを選択します(例: light.S1)。

  7. スケーラブルなWebサイトを構築したい(Web2台構成編)で作成したテンプレートを選択します。

  8. SSHキーを選択します。テンプレートに既にSSHキーが含まれる場合は追加不要のため「なし」を選択します。

  9. ネットワークを選択します。ロードバランサーが設定されているネットワークを必ず含めてください。例ではLB設定が入っているIPの所属しているネットワーク volt-network1 を選択します。 ※LB設定を選ぶと使用しているネットワークが自動的に選ばれるようになっています。

  10. 「確認画面へ」ボタンをクリックし設定内容を確認し、「作成」ボタンをクリックしオートスケールグループを作成します。

  11. 作成されたオートスケールグループが一覧画面に表示されていることを確認します。

オートスケールグループ登録・削除時の注意事項

[グループ登録の注意事項]
・以下の2つのパターンを組み合わせて登録することはできません。
 ①テンプレートを指定して、スケール時に仮想マシンを作成/削除する。
 ②仮想マシンを指定して、スケール時に仮想マシンを起動/停止する。
・他のグループで利用したロードバランサー/ルール、仮想マシンを新たなグループに登録することはできません。

[グループ削除の注意事項]
・有効なオートスケールスケジュールが存在する場合は、グループ削除はできません。(先にオートスケールスケジュール削除を行う必要があります)
・オートスケールにて作成/起動/ロードバランサーへ割当した仮想マシンは、削除/停止/ロードバランサーからの解除は行いません。

3. オートスケールの実行手順

  1. 作成したグループをクリックします。
  2. オートスケール機能ではcron形式でスケジュールを指定し柔軟な設定をすることができます。今回はお昼の時間帯に負荷が高くなるサービスを想定し、以下の画像のようにスケールアウトするスケジュールと、スケールインするスケジュールを設定します。具体的な値については必要に応じて変更してください。

4. オートスケール実行結果確認

  1. スケジュールしていた時刻になったら、動作確認準備のため「スケーラブルなWebサイトを構築したい(Web2台構成編)」と同様にファイアウォールとポートフォワードの設定を行い、オートスケールで作成された仮想マシンへアクセスできるようにします。
  2. 接続設定が完了したら、追加された仮想マシンへSSHでログインし、以下のコマンドでテスト用ページを作成します。
    [root@VM-abcde ~]# echo web-autoscale > /var/www/html/index.html
    
    今回は検証のためSSHでログインしページ編集を行いますが、実際に運用する際はテンプレートを編集しアプリケーションを構築することを推奨します。
  3. スケーラブルなWebサイトを構築したい(Web2台構成編)」で構築したアプリケーションにアクセスします。
  4. 何度かリロード/アクセスすると、ロードバランサーにより新規追加されたWebサーバへも振り分けられ、「web-autoscale」と表示されることを確認できます。

また、監視している負荷状況に応じてオートスケールを実行したい場合は、オートスケールのAPIを利用することでMackerelと連携が実現できます。APIの利用したMackerelとの連携方法については、以下のご利用ガイドを参照ください。 「Mackerelを使ったリソース監視とオートスケールの実現

5. スケールに失敗した場合

スケールに失敗した場合、設定されたアカウントのマスターユーザー・パワーユーザー・ユーザーに対してメールにて通知されます。
現在、失敗通知を一部のユーザーに限定することや、失敗通知を受け取らないように設定することはできません。
5回まで再試行、毎回通知します。
5回以上は再実行・通知されません。 失敗が続いている場合は、仮想マシンやロードバランサーの状況をご確認ください。
スケール失敗時にロードバランサーへの設定に失敗した場合は仮想マシンが残る場合があります。その場合は、ご自身で削除をお願いいたします。

[スケールが失敗する例]

  • コンピュートのリソースリミットの上限値を超えてスケール設定を行っていた場合
  • コンピュートやインフィニットLBのメンテナンス期間中にスケールが行われた場合

スケールに失敗した場合、このようなメールが届きます。
お問い合わせにはメールの内容の記載をお願いいたします。

6. ご利用の注意点

  • ※ 本機能は、設定した台数のスケールを保証するものではありません。
  • ※ リソースリミットの引き上げは事前に実施する必要があります。
    ※ スケールスケジュールは、仮想マシンの作成/起動処理を開始する時間であり、完了時間ではありません。
  • ※ オートスケールのメンテナンスによりAPIが利用不可となった場合、スケールに失敗する恐れがあります。メンテナンスのスケジュールは事前に通知されます。
  • ※ IDCFクラウドのコンピュートやインフィニットLBのメンテナンスの影響でスケールに失敗するおそれがあります。

[アカウントについて]

  • 有効なアカウントである場合のみ、実行可能 です。(=削除または無効なアカウントの場合、失敗通知は送信しません。)
  • ※ スケジュール実行時に、スケジュールを登録したユーザーが削除されている場合、または無効となっている場合も実行できません。

[ご要望・お問い合わせについて]

  • ※ お問い合わせに関してはIDCFクラウドコンソール右上の「サポート→お問い合わせ」から新しいチケットを作成し、サービスに「コンピュート」を選択してお問い合わせをお願いいたします。

関連情報