0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

3.1 サーバー数の動的増減

Posted at

(2016年時点での内容をアーカイブとして掲載しているため、一部の掲載内容が最新情報とは異なる場合がありますので、ご了承ください。最新のIBM Cloudの情報は IBM Cloud DocsIBM Cloud アップデート情報柔らか層本をご参照ください。)

解決したい課題

テレビのニュースで、「情報を求める住民によって、ウェブ・サーバーにアクセスが集中して、一時的に繋がり難い状態になりました。 」といった報道がされることがある。 この問題の原因は、ウェブサーバーが設置された場所に繋がるインターネット回線の容量を超えたケースと、サーバーの処理能力が不足したケースがある。 SoftLayerのネットワークの回線容量は、十分な容量を確保されており、少々の事ではボトルネックにはならない。 一方、仮想サーバーの処理能力は、利用料金と比例する部分があり、経済的な理由からそれほど余裕を持たせることができない。 このように、アクセス集中による応答速度劣化と経済的な負担の課題がある。

ソリューション・パターン

オートスケールの機能によって、ユーザーからのアクセス数が増加した際に、自動的にサーバーを増設することができる。 反対に、アクセス数が減少した時にも自動的に削減できる。これにより、最初からアクセス量を見越したサーバー数を準備することなく、経済的に負荷対策を実施できる。

インプリメンテーション

増設したいサーバーのイメージ・テンプレートを作成する。
ローカル・ロードバランサーを注文して、サービス・グループを作成する。
オートスケールを注文して、サーバー増設と削減の条件設定、ロードバランサーの指定をおこなう。
サーバーの増設時にコンテンツを取り込むなどの初期化処理のために、ポスト・プロビジョニング・スクリプトを準備する。
オートスケール機能を有効化して、運用を開始する。
オートスケールのサーバー増設と削減の条件の設定では、CPU使用率が80%を30分以上、連続で超えたら、自動的にサーバーを増設するといった設定ができる。
さらに、上記のCPU使用率以外に、ネットワークの受信量や送信量、毎週の曜日、時間指定もできる。
ローカル・ロードバランサーを設定する場合、自動的に増設になったサーバーへ、リクエストの振り分けが開始される。
KVSのクラスタに適用する場合は、ロードバランサーを設定せず、クラスタ・メンバーの平均CPU使用率が設定値を超えたら、メンバーを自動的に追加することができる。

効果

繁忙期のサーバー増設、想定外のリクエスト増加への対応が、このオートスケールの機能一つで可能になる。
繁忙期の負荷に耐えられるように、最初からサーバーを準備する必要がなく、無駄な費用を発生させない。

懸念事項・注意点

増設サーバーは、イメージ・テンプレートの作成時点の状態で起動される。したがって、イメージ作成後に、追加・変更されたものは、反映されていない点に注意が必要である。
数分間の内に、急速に負荷が増加する様なものは、オートスケールでは増設が追いつかない。このようなケースでは、前もって増設するべきである。
ピーク時間帯が予測可能な場合は、時刻指定やマニュアル操作で、事前に起動して動作確認することが望ましい。
オートスケールは、ローカル・ロードバランサーに対してのみ連携できる。一方、NetScalerの場合は、振り分け対象を追加するなどの仕掛けを別途作成する必要がある。

参考資料

1.2.2 設定スクリプトの自動実行
1.5.1 仮想サーバーのOSバックアップを取るには?
3.3.1 ローカル・ロードバランサーを使うには?
3.7 オートスケールを利用するには?

NetScalerとAutoScaleを連動させるために必要なAPIのリンク
nsnitro 1.0.31 A simple library to control Citrix Netscaler 9.2+ with NITRO API https://pypi.python.org/pypi/nsnitro
SoftLayer 3.3.1 A library for SoftLayer's API https://pypi.python.org/pypi/SoftLayer

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?