負荷分散機能のついた企業ウェブサイトを Azure Web App で構築する (3)

負荷分散機能のついた企業ウェブサイトを Azure Web App で構築する (3)

前回までで、Web App の初期導入Web App のカスタマイズ(負荷分散・カスタムドメインの設定)までを行いました。ここまでで、企業ドメインでウェブサイトの公開まではできたことになります。

これからは、よりウェブサイトを使いやすく、安全に運用するためのカスタマイズを行っていきます。

ウェブサイトの自動バックアップ

本連載の冒頭でも述べたように、今回のゴール設定として「毎日バックアップを取り、30 日前のバックアップから順次消していく仕組み」という要件が入っています。今回はこれを実装してみます。

ストレージアカウントの作成

まず、バックアップ先として、Azure Storage というものが必要になります。その名の通りデータ保存用のストレージのサービスです。

前回までに作成したリソースグループに、Azure Storage を追加します。

Azure 管理画面 リソースグループにリソースを追加

リソースグループ内、「概要」ブレードの上部にある「+追加」リンクを押します。

追加するリソースを選択する画面になります。上部の虫眼鏡のテキストボックスに「Storage」と入力すると、「ストレージ アカウント」と書かれたリソースが出てきますので、それをクリックします。

Azure 管理画面 ストレージアカウントの追加

ストレージアカウントに関する詳細が表示されますので、確認して「作成」ボタンを押します。

Azure 管理画面 ストレージアカウント作成確認

作成ボタンを押すと、作成するストレージに関する詳細設定画面が表示されます。

Azure管理画面 外レージアカウント作成 詳細設定画面

ここではこのストレージの名前であるストレージアカウント名を入力し、作成場所を選択します。場所に関しては、地震などの自然災害などを考慮し、北米など別の場所に作成しても良いかと思います。

パフォーマンスはバックアップのためだけであれば Standard で十分です。
アカウントの種類は「StorageV2」のままで OK です。

レプリケーションに関してですが、これはデータの保存に関する Azure の冗長性を選択するオプションになるのですが、

Azure 管理画面 ストレージアカウント レプリケーションのオプション

ローカル冗長とは、極端な言い方をすると同じサーバーラック内での複製であり、データセンターが地震や災害などで被害を受けた際はデータは喪失する可能性があります。
ゾーン冗長は、1 つの Azure リージョン内の 3 つのストレージ クラスターにデータを同期複製する方法で、ローカル冗長よりは持続性は高いですが、リージョン単位での災害などの際は、やはり喪失の可能性があります。
地理冗長は、プライマリ リージョンから数百キロ以上離れたセカンダリ リージョンにデータを複製する方法で、料金は高くなりますが持続性は高くなります。
読み取りアクセス地理冗長とは、上述の地理冗長に加え、セカンダリのストレージに任意にアクセスできる機能を提供するものです。

企業ウェブサイトの建付け具合にもよりますが、例えばページを静的 HTML として吐き出す CMS を使っており、ウェブサーバー以外にコンテンツの保存場所がある場合などはローカルまたはゾーン冗長でよいかと思いますが、Wordpress を使ったシステムのように、CMS が公開サーバーで稼働しているような場合などは、地理冗長なども検討しても良いかもしれません。

アクセス層についてですが、
ホット:通信の課金額が低い・保存料金は普通
クール:保存の課金額が低い・通信料金は普通
という属性があります。今回は「バックアップ」という特性上、通信はほとんど発生せず保存領域をたくさんつかうので、クールを選択します。

それぞれのオプションを入力・選択し終えたら「確認および作成」ボタンを押します。

Azure管理画面 外レージアカウント作成 確認画面

内容を確認の上、「作成」ボタンを押します。しばらくするとストレージアカウントが作成されます。

Web App の設定

ストレージの作成が完了したら、Web App の設定を行います。リソースグループから Web App を選択し、メニューより「設定」ー「バックアップ」をクリックして、「バックアップ」のリンクをクリックしてください。

Azure Web App バックアップ 設定画面

するとバックアップの「バックアップ先」と「バックアップの頻度」を設定する画面が表示されます。

Azure Web App バックアップ構成

まずはストレージ構成から。上図の赤枠をクリックします。すると、どのストレージに保存するかを聞かれますので、先ほど作成したストレージ名を選択します。

Azure Web App バックアップ構成  ストレージアカウント

次に、このストレージのどのコンテナーに保存するかを聞かれます。先ほどストレージを作ったばかりですので、今回は「+コンテナー」をクリックし、新規でコンテナーを作成します。

Azure Web App バックアップ構成  ストレージアカウント コンテナー

新しいコンテナーの作成画面になりますので、名前を入力します。
パブリックアクセスレベルはプライベートのままで OK です。

Azure Web App バックアップ構成  ストレージアカウント 新しいコンテナー

OK を押し、先ほどの画面に戻り、作成したコンテナーを選択します。

Azure Web App バックアップ構成  ストレージアカウント 作成したコンテナーの選択

これで「バックアップ先としてストレージを使う」設定が完了しました。続いて頻度を設定します。
「バックアップ構成」ブレード内の「バックアップのスケジュール」の「スケジュールされたバックアップ」を「オン」にすると、設定項目が表示されます。

Azure Web App バックアップ構成 バックアップのスケジュール

「バックアップ間隔」を 1 日に、リテンション期間を 30 日にします。こうすることで、当初のゴール設定である「1 日おきに保存し 30 日間保存」 という構成を達成することができます。

「一つ以上のバックアップを保持」は「はい」にしておいてください。
「スケジュールの開始時点」の「時間」は、一日おきのバックアップの開始時刻でもあります。ここに真昼間のアクセスが集中している時間帯を設定するのもナンセンスですので、深夜~早朝の時間帯を設定しましょう。

以上で「保存」ボタンを押すと、スケジュールされたバックアップが稼働するようになります。

保存されたバックアップはストレージアカウントの BLOB ストレージ内で下図のように確認することができます。

Azure ストレージ バックアップのリスト

以上、今回はウェブサイトの自動バックアップの解説を行いました。