こんにちは、さくらインターネットの谷口です。

バックアップ&ステージング機能とは?

さくらのレンタルサーバでは8世代のバックアップと1サイトのステージングサイトを作成できる機能「バックアップ&ステージング Powered by Snapup」を2018年1月25日にリリースいたしました。株式会社ユニマルの提供している「Snapup」をさくらのレンタルサーバ専用にカスタマイズして無料(オプション料金無し)で提供しています。単純なバックアップから、WordPressサイトをコピーして認証付き公開できるステージング機能を備えており、Web制作シーンでとっても役に立つ機能ですので是非ご活用ください!

ステージング機能

バックアップ機能は単純なファイルのコピー機能ですのであとでご説明するとして、より活用していただきたいステージング機能について先に解説していきます。

ステージングってそもそも何?

運営しているサイトがすでに稼働している場合、functions.phpなどの重要なファイルを編集すると稼働中のサイトの見た目が変わったり真っ白になったりする、という経験をされた方も多いと思います。本番環境のファイルを直接編集するとファイルが即時反映されるため、誤った記述などでCSSのクラス指定ミスによりレイアウトが崩れたり、PHPのエラーが発生してサイトの表示ができなくなったりといった原因で発生します。

これを避けるために別環境で好きに編集できて、非公開状態でお客さんが事前確認できるよう仮サイトを作ることが多く、これをステージング環境と呼びます(テスト環境、検証環境などと呼ぶ場合もあります)。厳密に言うとステージング環境は検証環境などよりもより本番環境に近い環境を指すのですが細かい話なので割愛します。

ステージング環境構築ツールなどを利用せずにステージング環境を作る場合は、さくらのレンタルサーバ マルチドメイン機能を使うなどして本番サイト「example.com」とステージングサイト 「test.example.com」を別々のWordPressで作って事前確認し、本番サイトへ反映するときにステージングで編集したファイルやデータベースをコピーするといった運用をされているかと思います。しかし、変更箇所をメモっておいたりするのは非常に面倒で、かつ変更漏れのリスクが高くなります。また、わざわざ運用のめんどくさいステージング環境を作るほどでもないという方も多いと思います。

バックアップ&ステージング機能ではこの本番環境のコピー作業を全自動で行います。公開サイトのデータでスナップショットを作成し、そのスナップショットをステージング環境へコピーすると自動的にサイトURLなどデータベースに格納された設定値の書き換えやwp-config.phpのデータベース設定の書き換えが実施され、「(自動生成される文字列)stg.snapup.jp」というドメインに本番環境と同じWordPressサイトを作成し自動的にBASIC認証が設定されます。

このサイトのデータはリリース機能を使って本番環境へコピーしない限り公開サイトへの影響はありませんので自由に変更可能です。

実際にステージングサイトを作ってみます

それでは実際にバックアップ&ステージング機能を使ってステージングサイトを公開してみましょう。

さくらのレンタルサーバコントロールパネルの「バックアップ&ステージング」をクリックして設定画面を開きます。初回のみ利用開始ボタンをクリックしてください。

ステージング機能の利用はSnapupコントロールパネルから行いますのでSnapupで開くをクリックします。

まずはレンタルサーバからスナップショットを作成する必要があります。表示されているサーバをクリックし、サイトを追加するをクリックします。

サイト名を入力し、サイトタイプを選びます。HTMLとWordPressを選んだ場合はステージングの利用が可能です。ディレクトリを選ぶと単純にディレクトリだけがバックアップされます。対象パスを候補から選択し、追加をクリックします。


続いて、スナップショットを追加、作成するをクリックします。

以下の画面で本番サーバーから取得をクリックします。

コメントを入力し、実行をクリックすると、スナップショットの作成が開始されます。スナップショットには指定したディレクトリのファイルと、WordPressを選んだ場合はデータベースも含まれます。

次にステージング環境を作成していきます。ステージングサーバーを作成するをクリックします。このタイミングで空のWordPressができます。ステージング環境のhttp/httpsやPHPバージョン、MySQLバージョンなどが設定できます。


先ほど作成したスナップショットを選択し、ステージングサーバーへセットをクリックします。

認証情報を確認するをクリックするとステージングのURLとアクセス制限情報が表示されます。

これでステージング公開が完了しました。生成されたURLへアクセスしてみましょう。

データを編集する場合はファイルマネージャを使うか、ローカルで編集してファイルマネージャからアップロードします。データベースを編集する場合はphpMyAdminの利用が可能です。もちろんステージング環境のWordPressにアクセスして普通に管理画面から投稿をしたりもできます。

ステージング環境をレンタルサーバへリリースしてみます

さて、ステージング環境を編集して準備ができたらレンタルサーバへリリースしてみましょう。今度はステージング環境からスナップショットを作成します。スナップショットを追加、作成するをクリックし、ステージングサーバーから取得を選びます。

取得したスナップショットをレンタルサーバへ戻します。本番サーバーへのリリースを選ぶと、設定しているサイトのフォルダへデータが書き戻されます。WordPressの場合はデータベースもステージング環境からコピーされます。

当然ですが戻した場合にデータは上書きされますのでご注意ください。事前にスナップショットを作成するのもよいですが、フォルダまるごとSSHやFTPなどで別領域にコピーしておくのが安全です。

リリースの際にステージング環境用に修正されたwp-config.phpやDB値などは本番環境のものに戻されます。

リリースサイトをみて確認しましょう。問題なければリリース完了です。

ポイント

バックアップ&ステージング機能では、ステージング環境を簡単に作れるというのがポイントです。また、ステージング環境を作ったり壊したりが簡単にできるので、例えば1つのレンタルサーバ領域で複数のクライアントサイトを運用している場合でも、クライアントによって違うURLのステージング環境を作成して運用することができます。

ただしステージング環境は1つですので同時に異なるクライアントに異なるステージング環境を見せることには対応していない点にご注意ください。また、ステージング環境のURLなどは1度壊すと元に戻らず再度ランダムに生成されます。バックアップ&ステージング機能では8世代のスナップショット(バックアップ)作成が可能ですが、ステージング運用をする場合本番のスナップショットとステージングのスナップショットの最低2世代を消費するので注意が必要です。

バックアップ機能

ここまではステージング機能についてご説明してきましたが、バックアップ機能についてもご紹介します。この機能はさくらのレンタルサーバの公開領域であるwwwフォルダ配下の任意のフォルダを選んで手動バックアップ、もしくは一定間隔のスケジュールバックアップができる機能です。さくらのレンタルサーバでは最大30GB、8世代のバックアップができ、さくらのマネージドサーバでは最大60GBのバックアップ(世代は同じく8世代)が可能です。

スケジュールバックアップの設定

Snapup管理画面からは詳細なバックアップスケジュールの設定ができます。あらかじめサイトを作成しておく必要がありますが、サイトのスケジュール設定から毎週、毎日、時間帯の指定が可能です。データコピーに時間がかかる場合があるので大まかな時間帯だけが選べるようになっています。

レンタルサーバコントロールパネルからのクイックバックアップと復旧

レンタルサーバコントロールパネルからは簡易なバックアップと復旧が行なえます。操作できるフォルダはwwwの配下全部で、フォルダの深掘りやスケジュール設定はできません。細かい設定をしたい場合はSnapupを開くボタンからSnapupへ遷移して設定してください。またコントロールパネルから実行するバックアップはディレクトリモードとなりますのでWordPressのデータベースバックアップなどは行われません。

バックアップ&ステージング機能の活用方法

クライアントへの確認サイトとして

ステージング機能を一番活用できるのはサイトが稼働中でデザインや追加投稿などができない状態でクライアントに追加修正/変更部分を確認してもらいたいときです。マルチドメイン機能を使ったり別ドメインにしたりとやり方は色々ありますが同期についてはちょっと面倒になってしまいます。そんな場合、このステージング機能を使っていただければワンクリックでスナップショットを取得、ステージングを作成して投稿したりファイル内容を変更、再度本番環境へリリースすることで変更を反映することができます。

サイトのバックアップ用途として

バックアップ&ステージング機能では8世代のバックアップを毎週指定曜日指定時間帯、毎日指定時間帯で取得することができます。サイト内容のバックアップを自動でしてくれるので定期的に取る手動バックアップとあわせて誤ってサイト内容を消してしまった、改変してしまった場合の対策に利用することができます。サイト追加時にWordPressを選択するとファイルとデータベースをバックアップできますが、1フォルダに1WordPressの場合に限ります。WordPressが入れ子になっている場合やマルチサイト機能を利用している場合はWordPressバックアップが利用できないのでご注意ください。

サイト追加時に「ディレクトリ」を選択するとデータベースは取得せずにファイルのみをバックアップできます。

少し話がそれますが、WordPressサイトのバックアップをする場合はファイルとデータベースをコピーしなければいけません。バックアップ&ステージング機能を利用するのも便利ですが、プラグインなどでクラウドストレージなどにバックアップする設定をしているとさらに安心です。Dropboxなどのクラウドストレージへバックアップできるプラグインもありますので、バックアップ&ステージングと併用すると安心感がさらに高められます。

PHP、MySQLの動作確認

ステージング機能ではPHPバージョンが5.3、5.4、5.5、5.6、7.0、7.1から。MySQLは5.5、5.6、5.7が好きな組み合わせで選択できます。このため、さくらのレンタルサーバのPHPバージョンを変更しなくてもステージング機能を使ってPHPバージョンアップなどの動作確認をすることができます。さくらのレンタルサーバではスタンダード以上の全プランでPHPモジュールモードの提供を開始しています※。PHP7.1&モジュールモードのPHP高速実行環境へ移行する際は、バックアップ&ステージング機能で動作検証を実施してみましょう。

※スタンダードプランは2018年4月18日以降お申込みのお客様が有効になっています。

環境差異について

ステージング機能は極力環境変数などをさくらのレンタルサーバと合わせるようにしていますが、完全に環境が再現できているわけではありません。最低限リリース作業前のスナップショットを保存しておき、すぐに戻せるようにしておくことをおすすめします。

まとめ

さくらのレンタルサーバ バックアップ&ステージング機能についてご紹介しましたがいかがでしょうか? 単純なバックアップ機能だけではなく、ステージングサイト作成/公開などウェブ制作シーンで便利な機能が付加されており、WordPressサイトの構築、運用がスムーズに安全に行えるように進化しました。これからもさくらのレンタルサーバ/マネージドサーバをよろしくお願いします。