サーバのスケールアップ・スケールダウン・スケールアウト・スケールイン – 「さくらのクラウド入門」(3)

こんにちは、さくらインターネット クラウドチームの大喜多です。

「さくらのクラウドでどういうことが出来るのかを知りたい」というご要望にお応えし、「さくらのクラウド入門」と題しまして
さくらのクラウドの基本的な使い方をご説明していきたいと思います。第3回の今回は「サーバのスケールアップ・スケールダウン・スケールアウト・スケールイン」についてご説明します。

動的なサーバリソース増減が容易なクラウド

一般的に、システムの開発段階において必要なサーバリソースを正確に見積もることは困難です。
また、稼働後に利用者の増加やデータ量の増加により、サーバリソースが不足して必要な機能が提供できなくなる可能性があります。
一方で、開発段階の見積もりよりもサーバリソースが過剰であった場合、不要なコストが発生していることになります。

クラウドでは、仮想サーバのスペック(CPU、メモリサイズなど)を必要に応じて増減させたり、仮想サーバの台数を増減させたりすることで
サーバリソースの調整が可能です。それぞれのアプローチは以下のように定義されています。

スケールアップ

実利用に対してサーバスペックが不足していると判断できる場合に、仮想サーバのスペックを上げるアプローチ。
01_scaleup

スケールダウン

実利用に対してサーバスペックが過剰だと判断できる場合に、仮想サーバのスペックを下げるアプローチ。
02_scaledown

スケールアウト

同じようなスペックのサーバを複数台並べ、大量のリクエストを処理するアプローチ。
03_scaleout

スケールイン

リクエスト量に対してサーバ台数が過剰である場合に、サーバの台数を削減してサーバリソースおよびコストの適正化を図るアプローチ。
04_scalein

サーバのスケールアップ・スケールダウン

それでは実際にサーバのスケールアップ・スケールダウンを行ってみます。

※サーバのスケールアップ・スケールダウンにおける注意点
事前に仮想サーバの電源をOFFにしておく必要があります。このため、シングル構成のシステムにおいてはサービス断が発生します。

左メニューの「サーバ」をクリックし、サーバ一覧を表示します。
scaleupdown01

サーバをシャットダウンします。
scaleupdown02

scaleupdown03

scaleupdown04

以下画像のように、サーバの行がグレーアウトされていれば、正常にシャットダウンされた状態です。グレーアウトされているサーバの行をダブルクリックし、サーバの詳細画面を表示します。
scaleupdown05

右上の「プラン変更」をクリックします。
scaleupdown06

以下の画面が表示され、サーバのスペック変更が可能になります。変更する仮想コア数とメモリ容量を選択し、右下の「プラン変更」をクリックします。
scaleupdown07n

スケールアップする場合には以下のように指定します。
scaleupdown08n

スケールダウンする場合には以下のように指定します。
scaleupdown09n

「プラン変更」完了後、サーバ詳細画面で仮想コア数とメモリ容量が変化していることを確認します。

・スケールアップの場合
scaleupdown10

・スケールダウンの場合
scaleupdown11

ここまでの作業が完了したら、サーバを起動します。
scaleupdown12

以上でサーバのスケールアップ/スケールダウンの作業は完了です。

※スケールアップ上限と対処方法
用意されているサーバスペック(CPU、メモリサイズ)の上限は20コア・224GBメモリです。サーバスペックを上限まで上げてもサーバリソースが不足している場合には、スケールアウトによる負荷分散やウェブアクセラレータ等のサービスの活用を検討する必要があります。さくらのクラウドにおいてはさくらの専用サーバと閉域接続して併用することも可能なので、高負荷のワークロードを専用サーバを併用して捌くアプローチも可能です。

サーバのスケールアウト・スケールイン

APサーバとDBサーバから構成されるシステムにおいては、ユーザからのアクセスを受け付けるAPサーバを複数台並べ、ロードバランサで負荷分散および可用性の向上を図る構成が一般的とされています。
loadbalance

このような構成下において、フロントのAPサーバを負荷状況に応じて数を増やすアプローチを「スケールアウト」と呼びます。
scaleout

一方で、負荷に対してサーバ台数が過剰となった場合は、フロントのAPサーバの台数を削減します。このアプローチを「スケールイン」と呼びます。
scalein

さくらのクラウドでは、APIを活用することでスケールアウト・スケールインを自動化する「オートスケーリング」を実現することが可能です。
オートスケーリングの詳細についてはさくらのクラウドでAuto Scalingをご参照ください。