先日、さくらのVPSからさくらのクラウドへマイグレーションする機会があったので、その際に気付いたコツを書いておきます。
マイグレーションする際に気を付けたこと
- 出来るだけサーバのダウンタイムを少なくしたい
- DNSの変更等も出来るだけスムーズに行いたい
この2点を念頭に、事前にテスト環境で色々とやってみてから本番のマイグレーション作業を行いました。
【当方の環境】
- マイグレーション前:さくらのVPS 4GBプラン(仮想4Core:SSD 100GB)
- マイグレーション後:さくらのクラウド CPU 4Core/メモリ4GB/SSD 100GB
【参考にしたサイト】
※双方ともさくらインターネットの公式サイトです。
■「さくらのVPS」からのマイグレーション
https://manual.sakura.ad.jp/cloud/server/vps-migration.html
■さくらのVPSからディスクイメージを移行してみよう – 「楽しいさくらのクラウド」(11)
https://knowledge.sakura.ad.jp/1957/
ドメインのzoneファイルのTTLの短縮
あらかじめBINDのzoneファイルのTTLを120等の短い秒数に変更しておきます。
直前にTTLの時間を短くしてもあまり意味がないので、マイグレーション作業日の2~3日前には変更しておきましょう。
マイグレーション後のIPアドレスを確定する
さくらのVPSからさくらのクラウドへマイグレーションするとIPアドレスが変わります。しかし、マイグレーションで変更になった新しいIPアドレスはマイグレーション先のサーバー作成が完了した後でないとわかりません。
これだと、ドメインレジストラで設定するネームサーバーのIPアドレスの変更が、マイグレーション完了後になってしまい時間的なロスを生みます。
この時間的なロスを生まないために、あらかじめさくらのクラウドでCentOSのサーバーを新規作成し、IPアドレスを確定させておきます。
【サーバ作成方法】
さくらのクラウドで「サーバ」⇒「追加」ボタンをクリックします。
- ディスクイメージ:CentOS
- サーバプラン:4GB / 4 仮想コア
- ディスクプラン:100GB SSDプラン
- 接続先のネットワーク:インターネット
- 管理ユーザのパスワード:自由に設定
- 公開鍵:自由に設定
- ホスト名:VPSのホスト名と同じに設定
- 作成数:1
上記の設定で「作成」をクリックしてサーバを作成します。
VPSを停止
VPSのアーカイブを作成しますので、さくらのVPSの管理画面にログインしてVPSを停止します。
VPSが起動していていてもアーカイブは作成可能ですが、アーカイブ作成には結構な時間が掛かりますので、アーカイブの整合性を保つためにVPSは停止しておきましょう。
VPSのアーカイブ作成
さくらのクラウドにログインしてVPSのアーカイブを作成します。
【VPSのアーカイブ作成方法】
- アカウントを選択し、さくらのクラウド(IaaS)をクリック
- 左メニューから「ストレージ」⇒「アーカイブ」をクリック
- 「追加」をクリック
- アーカイブソースにて「VPSディスク」をクリックして先ほど停止したVPSを選択
- その他の入力事項を入力して「作成」をクリック
アーカイブの作成は何気に時間が掛かりますので、アーカイブ作成が終了するまでの間に他の作業を進めていきます。
VPSのDNS逆引き設定を削除
VPSを利用していた際に、DNSの逆引き設定を行っていた場合はVPSの管理画面から逆引き設定を削除しておきます。
ドメインのネームサーバーのIPアドレスを変更
ドメインレジストラ(お名前.comやバリュードメイン等)にログインし、ドメインのプライマリネームサーバーのIPアドレスをメモっておいた新しいIPアドレス変更します。
アーカイブからサーバを作成(再インストール)
VPSのアーカイブ作成が完了したら、あらかじめ新規作成しておいたサーバーをVPSのアーカイブを利用して再インストールします。
クラウドの新サーバを起動して各種設定変更
新しいサーバにSSHでログインし、IPアドレスが変更になっているので影響を受ける各種設定ファイルを変更します。
- nmtuiコマンド等でサーバのIPアドレスを確認・変更
- BINDのzoneファイル内のIPアドレスを変更(短縮したTTLの設定も元に戻しておく)
- ApacheやNginxの設定ファイル内のIPアドレス変更
設定変更が完了したらサーバを再起動します。
新サーバのDNS逆引き設定を行う
さくらのクラウドの管理画面から新サーバのDNS逆引き設定を行います。
新しいDNS逆引き設定が反映されるまで少々時間が掛かる場合もありますが、あとでnslookupでIPアドレスから逆引きが出来るか確認しておきましょう。
新サーバの動作確認
全ての処理が終わったら新サーバの動作確認を行います。
- Webサイトの動作確認
- メールサーバの動作確認
- その他各種サービスの動作確認
- nslookupでドメインの正引きと逆引きの動作確認
問題が無ければさくらのVPSからさくらのクラウドへのマイグレーションは完了です。
※常時SSLで利用していたLet’s Encryptの設定もやり直す必要があるかと思っていましたが、マイグレーションしてIPアドレスが変わっても設定変更無しで常時SSLが普通に有効になりました。
【おまけ】念のために旧VPSサーバのBINDを起動しておく場合
通常であれば事前にTTLの秒数を短縮しておいたのでサーバーのIPアドレス変更はスムーズにいきますが、環境によっては古いIPアドレスを参照してしまうことがあります。その対策のために、旧VPSサーバのBINDだけ立ち上げておくという方法があります。
【旧VPSサーバでの作業】
- 旧VPSサーバを起動
- すぐに全てのサービスを停止する
- BINDのzoneファイル内に記載されている旧IPアドレスを全て新サーバのIPアドレスに変更
- BINDを起動
この設定で旧VPSのBINDだけを2~3日立ち上げておきましょう。
以上で解決です。