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

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


前回は Web App を展開するところまで進みました。今回はその Web App をカスタマイズしていきます。

繰り返しになりますが、本記事が目指すウェブサーバーとしての機能は以下のようなものになります。

  • 常に OS やウェブサーバーにパッチが当たっており、セキュリティメンテナンスの必要がないウェブサーバー
  • 負荷分散で常に 2 系統で運用、高負荷時に 5 サーバーまで自動スケールする機構
  • 毎日バックアップを取り、30 日前のバックアップから順次消していく仕組み
  • 動作確認・社内レビュー用に Staging サーバーを用意
  • Staging サーバーと公開サーバーの入れ替え機能
  • 常時 SSL
  • 5 分に一度の死活監視

実は 1 はすでに達成済みでして、Web App 自体がその機能を持っています。つまり VM 環境と異なり Web App はウェブ発信しかできませんが、その反面セキュリティメンテナンスは常にマイクロソフト側で行ってくれるサービスになります。

これが Web App を選ぶ最大の理由のひとつです。

Web App のカスタマイズ

HTTP/2 を ON にする

[設定:アプリケーション設定] 画面内、[全般設定]に [HTTP バージョン]の設定項目があります。ここを 2.0 にします。

HTTP/2 を ON にする

こうすることで HTTPS 通信時に高速データ転送をすることができるようになります。

自動スケーリングの設定

いよいよ本丸、常時 2 系統 + 高負荷時のスケーリングの設定です。

[設定:スケールアウト] をクリックし下図の画面に遷移します。

App Service のスケールアウト

ここで、「自動スケーリングの有効化」ボタンを押します。すると自動スケーリングの設定画面に遷移します。

Web App 自動スケーリングの設定画面

「メトリックに基づいてスケーリングする」が自動的にスケーリングする設定になりますのでこちらをクリックします。

インスタンスの制限の箇所で、当初の設定値であった、常に 2 系統、最大 5 系統を実現するため、最小と既定に 2 を、最大値に 5 を入力します。

では、どんな状態でスケールするのか、を設定するため、「ルール」を追加します。[+ Add a rule ] を押してください。下図のようなルール設計画面になります。

スケールルール

この例では、「CPUの負荷」が「平均」「70%」を「10分間」超えたら、インスタンスを 1 増やす、というルールを設定します。

上記と同様に 「CPUの負荷」が「平均」「20%」を「10分間」下回ったら、インスタンスを 1 減らす、というルールを追加設定します。

カスタムドメインの設定

この時点では、このウェブサーバーにアクセスする URL は
https://(設定したアプリの名前).azurewebsites.net という URL ですが、会社の URL でアクセスできるようにするため、独自ドメイン設定を追加します。

[設定:カスタムドメイン] をクリックし、カスタムホスト名設定画面に遷移します。

ここで、「+ ホスト名の追加」をクリックします。
ホスト名追加画面になります。

ここで、ドメイン名の所有権確認を行う必要があります。

ドメイン名所有権確認は DNS の値を設定することで行われます。ここでは上図のように設定することを求められておりますので、各自設定を行います。

お名前.com の場合、例として下記のような形になります。

DNS を設定してから、マイクロソフトの Azure システムが確認できるまで時間がかかりますので、30 分~1時間ほど間をあけて下さい。

このカスタムドメインに SSL サーバー証明書を設定する方法に関しては別ページで記事化しています。こちらを参照ください。

次回はウェブサーバーのバックアップの設定を行います。