サーバのスペック（処理能力）変更方法 - さくらのクラウド超入門 - サーバ編(4)

サーバのスペック（処理能力）変更方法 - さくらのクラウド超入門 - サーバ編(4)

# 概要

前回は [Docker で WordPress をサーバにセットアップ](https://qiita.com/zembutsu/items/b345b9b820ad82e9b3d1) し、サーバの電源操作方法について学びました。今回は、アクセス数の増大やサービスの拡張・縮小にあわせて、サーバの基本性能である CPU とメモリを変更する方法（プラン変更）を学びます。

# 解説

## サーバのスペック変更とは？

さくらのクラウド上のサーバ（仮想マシン）を構成する要素（仮想的なパーツ）には、「CPU」「メモリ」「NIC」「ディスク」があります。サーバは「仮想マシン」（仮想的なハードウェア装置）という位置付けですので、各要素も取り付けたり取り外したりできます。そのなかでも、性能に対して大きな影響を与えるのが「CPU」と「メモリ」です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/e189446f-399f-5a43-71c7-ab6d321b6352.png)


さくらのクラウドの「CPU」は仮想的な「CPUコア数」を表します。CPUコアとは、プログラムに対する命令を実行します。そのため、コアの数が大きければ大きいほど、同時に処理できる命令が増えるため、基本的な処理速度を高められます。また、「メモリ」とはプログラムやプログラムが扱うデータなどを一時的に記憶します。メモリの容量が大きければ大きいほど、一度に扱えるデータが増えるため、処理性能に大きな影響を与えます。

これら「CPU」や「メモリ」の変更が必要になるのは、サーバの基本性能（スペック）を変更したい場合です。たとえば、開発初期段階では少ないコア数・少ないメモリ数で動かしていても、あとから処理能力・メモリ不足となり、変更したい場合。あるいは、当初はアクセスのピークを見込んで想定通りの稼働だったとしても、アクセスが落ち着いてきてスペック過剰になってきた場合もあるでしょう。

スペックを変更したくなっても、新しくサーバやディスクを用意し、また OS やアプリケーションをセットアップしなおす必要はありません。「プラン変更」機能を使えば、CPU とメモリだけを簡単に変更できます。

## CPUとメモリを変更する「プラン変更」と課金について

さくらのクラウドでスペックを変更するには、サーバの「プラン変更」を行います。プラン変更は、サーバの電源を停止した状態で行います。

プラン変更を実行すると、あたかも利用しているサーバの CPU やメモリを変更したように見えます。実際の挙動は、いま利用しているサーバのスペックを変更するのではなく、異なるスペックのサーバにディスクと基本情報（サーバ名やネットワークの情報など）をコピーし、元々のサーバは自動削除されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/1293f0fe-4692-d2aa-c902-1d88e0b9ccb4.png)


そのため、プラン変更時には一時的に「サーバ」のリソースが2つ存在することになり、課金対象のサーバが一時的に増加（最低課金単位の1時間分のみ）しますのでご注意ください。なお、課金対象はサーバのみであり、プラン変更機能の利用で、その他の追加料金はかかりません。プラン変更の詳細については [公式ドキュメント](https://manual.sakura.ad.jp/cloud/server/plan-update.html)  もあわせてご覧ください。

## プラン変更手順

プラン変更をするには、まずサーバの電源を停止状態にします。停止するには、サーバ一覧画面でサーバをクリックした後、「電源操作」→「シャットダウン」を選びます。あるいは、サーバの詳細画面で「 UP: 電源操作 」→「シャットダウン」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/8a8913e4-2d0a-8589-f92e-999c53d612e3.png)


操作確認画面では「実行」→ステータスが「成功」になったら「閉じる」をクリックします。

しばらく待った後、電源の状態が「DOWN」（停止）になった後、「プラン変更」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/1857cb67-1754-e042-6799-8ed89c561780.png)


プラン変更画面では、「仮想コア」と「メモリ」を、それぞれ任意のものへと変更します。次の図では、2コア・２ＧＢを選択しています。選択後、「プラン変更」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/9d776c81-0338-bc2d-9bb2-23f6f3b9afc2.png)


確認画面では「変更」をクリックします。画面中の説明で「サーバのリソース ID も変更になります」とあるのは、先ほど説明したとおり、異なるスペックのサーバにディスクや設定情報を移し替えているからです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/d1e58216-65ce-afb1-0341-0bca5a53bd46.png)


そのあとは、プラン変更処理が進みます。ステータスが成功になったら、「閉じる」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/eae40521-93c1-414c-e968-946d6ecc25db.png)


これでプラン変更が完了しました。「情報」タブの「プラン」を確認しますと、変更後のスペック（今回は 2 コア 2 GB）に切り替わっているのが確認できます。

あとは、電源を起動しなおしましょう。画面右上の「電源操作」→「起動」をクリックします。


その後は、確認画面で「実行」をクリックの後、ステータスが「成功」になったら「閉じる」を押し、電源の起動が完了します。

## サーバにログインし、スペックの変更を確認

起動したサーバに SSH でログインするか、コンソールで接続し、コマンドを実行しましょう。

`nproc` コマンドを実行すると、サーバのプロセッサ数（CPUコア数）を確認できます。

```
# nproc
2
```

ここでは「2」と表示されており、コア数が2であると分かります。あるいは `cat /proc/cpuinfo` コマンドを実行しても、OS から見えているプロセッサ２つ分の情報が出ます。

`dmidecode -t memory` コマンドを実行すると、認識しているハードウェアのメモリ関連情報を表示します。

```
# dmidecode -t memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.

Handle 0x1000, DMI type 16, 15 bytes
Physical Memory Array
        Location: Other
        Use: System Memory
        Error Correction Type: Multi-bit ECC
        Maximum Capacity: 2 GB ★1
        Error Information Handle: Not Provided
        Number Of Devices: 1

Handle 0x1100, DMI type 17, 21 bytes
Memory Device
        Array Handle: 0x1000
        Error Information Handle: 0x0000
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 2048 MB	★2
        Form Factor: DIMM
        Set: None
        Locator: DIMM 0
        Bank Locator: Not Specified
        Type: RAM
        Type Detail: None
```

`Physical Memory Array` と表示されていますが、仮想的なメモリ・アレイが 2GB （★1）あり、またメモリ・デバイスとして認識している容量が 2048 MB（2GB）（★2）見えているのが分かります。また `free` コマンドを実行しても、トータルで認識しているメモリが 2GB と分かります。

```
# free
              total        used        free      shared  buff/cache   available
Mem:        2046888      454696     1128488       23376      463704     1419864
Swap:       4198396           0     4198396
```


# 振り返り

さくらのクラウドのサーバを構成するCPU・メモリは必要に応じてスペックの変更が可能です。スペック変更はサーバプランを変更します。この変更は、サーバの電源を停止した状態で行う必要がありますのでご注意ください。今回はスペックアップの方法をご紹介しましたが、同じ手順でサーバのスペックダウンも可能です。

次回は、サーバのスペック変更だけではなく、ディスクをコピーしたり拡張する方法をみていきましょう。まずは [クローン機能](https://qiita.com/zembutsu/items/62bc90822d6e26f5e746)でサーバとディスクのコピーを作成する方法をみていきます。

# 参考情報

- [さくらのクラウド　ドキュメント](https://manual.sakura.ad.jp/cloud/)
  - [サーバのプラン変更](https://manual.sakura.ad.jp/cloud/server/plan-update.html)