さくらのVPSをスケールアップを行った時の気づきをおしらせします。
ところでさくらのVPSって「さくらのVPS」というサービス名なんですね。
まずスケールアップできるサーバーの条件ですが、公式サイトでは次のように明記されていらす。
スケールアップできるサーバーの条件は、v4のサーバプラン(2014年11月27日以降に契約されているサーバー)お客様に限られます。また、以下の条件ではスケールアップはできません。
- 下位プランへの変更
- 別ストレージプランへの変更
- Windowsプランやベアメタルプランのスケールアップ
- 別リージョン、別ゾーンへのスケールアップ
- お試し期間のサーバーや、料金が未納状態になっているサーバープラン
- VPSを申し込まれた当日のスケールアップ
スケールは管理画面のサーバー一覧からスケールアップしたいサーバーを選択し、右上にある「各種設定」から「スケールアップ」を選択します。
ここで、あとは、スケールアップを行うプランを選択し、必要な情報を入力し申し込むだけです。
ただこの際、サーバーを一旦停止する必要があります。
そして、スケールアップが完了するまでそのまま止めておく必要があります。スケールアップ にかかる時間ですが、さくらのサポートに電話で確認したところ、30分〜1時間かかるとのことでした。早くできませんか?と聞いたところ作業は自動で行われるため手動で対応することはできないとのことでした。
今回のスケールアップでは約1時間かかりました。
その後、完了するとスケールアップ作業中の表示が気えるので、それを確認してサーバーを起動して作業終了です。
スケールアップ後サーバーの内容には変更ないので、起動すればもとどおえりサイトなどを見ることができます。
ということで、サーバーをスケールアップする時には、「1時間ほどサーバーを停止する必要があり、完了を確認したあとサーバーを起動する必要がある。」ということへの何らかの対応が必要になります。
普段はVPSを自分で構築することはないのですが、さくらのVPSを以前構築したことがあり、操作は管理画面に用意されているコンソールを使っていたのですが、コピーやペーストなど色々面倒なのでMacのターミナルで接続し作業できるようにしたので覚書です。
サーバー側の設定
サーバー側の設定を行います。コンソールでサーバーにアクセスしsshで接続するユーザーのホームディレクトリに.sshのディレクトリを作成します。アクセス権限を変更します。
$ mkdir .ssh $ chmod 700 .ssh
700は所有者には読み・書き・実行を許可。
sshの鍵を作成する
作った「.ssh」の中に移動して鍵を作成します。
$ .ssh $ ssh-keygen -t rsa ・・・・ Enter passphrase (empty for no passphrase): ←パスフレーズを入力 Enter same passphrase again: ←もう一度同じパスフレーズを入力 ・・・・
ファイル名とアクセス権限を変更します。
$ mv id_rsa.pub authorized_keys $ chmod 600 authorized_keys
Macに鍵を設置
サーバーの「.ssh」に「id_rsa.pub」と一緒に「id_rsa」というファイルも作成されているのでこれを「vi」コマンドで開いて内容をコピーしテキストエディターで新しいファイルを作成しペーストしておきます。
$ vi id_rsa
Macのユーザーディレクトリ内にある「.ssh」ディレクトリ内にこれを保存します。ファイル名はなんでもいいです。
SSH接続の設定変更
またコンソールに戻りユーザーを「root」に切り替え、SSH接続の設定ファイルを編集します。
$ su - $ vi /etc/ssh/sshd_config
【編集内容】
○SSH接続のに使用するportの設定
#Port22 → Port○○○
○rootユーザでのログインの無効
#PermitRootLogin yes → PermitRootLogin no
○パスワード認証の無効
PasswordAuthentication yes → PasswordAuthentication no
設定が終わったらこれを保存して、設定内容の読み込みを行います。
$ /etc/rc.d/init.d/sshd reload
うまく接続できないとき
あとは、ターミナルでssh接続する際に設定した鍵とポートを指定し接続すれば接続できます。ssh接続がうまく行かないとき(Permission denied (publickey,gssapi-keyex,gssapi-with-mic). などエラーが出るとき)はターミナルの「ssh」コマンド入力の際に「-v」を追記すると接続の状況を確認できるので、その内容を調べると解決できると思います。