Azure WebSitesは1分程度でWeb構築環境を簡単に作れたりとWeb制作に携わる人間としてはホントに便利だなぁと思っているのですが、実際に使うにあたって「バックアップ機能」がありがたい!と感じました。
Azure WebSitesを使う場合はバックアップを有効にしておくのがオススメなので、方法をメモっておきます。
Azure WebSitesのバックアップ機能について
サイトは止まらない(稼働中のまま)バックアップを取る「ホットバックアップ」です。
また専有モードは50GBありますけど、バックアップが増えていったら容量を圧迫するのでは?という点も心配無用。
バックアップデータはAzure Storageに格納されていきます。
なので、大元の容量には影響がありません。(Azure Storageは容量無制限なので)
Azure WebSitesのバックアップ方法
今回はテスト用に作った環境「test-pacific」のバックアップを有効にしてみます。
ストレージアカウントを準備する
Azureの管理ポータルの左メニューから「ストレージ」を選び、画面下に新規作成に関する領域が表示されるので「データサービス」 → 「ストレージ」→ 「簡易作成」を選択。
上記画像の赤枠部分、
- URL
- 場所/アフィニティ グループ
- レプリケーション
に必要な情報を入力。
「URL」で入力した文字列はストレージアカウント名になるので、今回は『websitearea』としました。
発行されるURLは「https://[ストレージアカウント名].blob.core.windows.net/」になります。
ストレージアカウントが作成されたら、通常であればデータを格納するための「コンテナー」を準備する必要があるのですが、バックアップを作る場合はストレージアカウントを作成するだけでOK。
バックアップを有効にする
左メニューからWEBSITESを選び、バックアップを有効にしたいサイトを選びます。
タブ部分にある「バックアップ」をクリック。
赤枠の部分の設定をして、画面下の「保存」をクリック。
「開始日」のところを設定すると、決めた時間に自動で完全バックアップを取るようになります。
決めた時間に自動で取ることもできますが、「今すぐバックアップ」を選ぶことで、手動で取ることもできます。
(バックアップはすぐ実行されるわけではなく、多少タイムラグがあります)
これだけでバックアップ設定は終わりです!
とても簡単なので、WebSitesで新しくサイトを作った時はすぐに設定しておくといいと思います。
バックアップデータの保存場所は?
先ほど作成したストレージアカウントのコンテナーを確認してみると「websitebackups」というコンテナーが自動で生成されていますが、この中にバックアップデータが自動で格納されていきます。
「websitebackups」の属性は「プライベート」のままにしておきます。
(公開するものではないので)
コンテナーの中を見てみると、バックアップデータとしてzipとxmlが毎日格納されています。
バックアップデータを使ってサイトを復元する
実際にサイトを復元する場合は、バックアップの画面下の「今すぐ復元」をクリック。
復元したい日付のデータを選んで、右下の「→」をクリック。
「現在のWebサイト」を選びます。
上部に注意文出ますが、この部分は気にせずに。
復元中は対象のページがこのような表示になりますが、のんびり待ちましょう。
試したところ、そこそこの規模のサイトでも大体10分くらいで正常表示になりました。
(お客さんのサイトの場合は、復元する前にお知らせした方が吉と思いますが…)
「新しいWebサイトインスタンス」が選ばれていますが、これを実行すると新しく一台サーバ(インスタンス)を作って、そこに復元するようです。
復元というよりは「同じ内容のサイトを別の場所に新しく作る」ので、通常は使わない方法かな?と。(試した方いたら教えてください…)
バックアップデータを取り出したい場合
サイト全体の復元はしなくていいけど、一部ページのデータのみほしいとか画像のみ取り出したい場合もあると思います。
ですが、バックアップデータはAzure Storageに格納されているので通常のFTP操作では取り出せません…。
一手間かかりますが、zipファイルを取り出したい場合は以下のツールを使います。
Windowsの場合はこちら
「Azure Storage Explorer」の設定方法
https://zuvuyalink.net/nrjlog/archives/1649
Macの場合はこちら
「Cyberduck(サイバーダック)」の設定方法
https://zuvuyalink.net/nrjlog/archives/1660
最後に
今回も@kazumihirose さんに助言いただきました。
助言いただかなかったら、確実に「新しいWebサイトインスタンス」を選んで実行してたと思います…。
わかりやすい説明、ありがとうございました!
「バックアップ機能」は通常のレンタルサーバーでもありますが、オプションで別契約だったりする場合が多いかな?と。(私がよく知らないだけかもですが…)
Azure WebSitesのバックアップ機能はデフォルト設定ではないので自分で設定する必要がありますが、この部分で別途申し込みをする必要が無いのも便利だなと。
またレンタルサーバーの中には提供される容量の問題で一定期間以前のバックアップは削除される・する必要があるものもありますが、Azure WebSitesのバックアップ一度設定してしまえば、容量を心配することなくバックアップデータを自動で格納し続けることができます。
そして、サイトの復元はもちろん、完全データのバックアップをzipファイルでダウンロードできるのも魅力だなぁと個人的には思いました。
とても便利な機能なので、WebSitesを利用するときはバックアップ機能を有効にするのを忘れずに!w