Azure Web Apps のオートスケールを使って、スケーラブルな Web アプリケーションを提供しよう

2023.05.25
Azure Web Apps のオートスケールを使って、スケーラブルな Web アプリケーションを提供しよう

Azure Web Appsのオートスケールを使うメリット

Azure Web Appsのオートスケールにはいくつかのメリットがあります。以下、4つのメリットを挙げてみましたので一緒に見ていきましょう。

  • 1.リソースの最適化

    オートスケールでは、アプリケーションの需要に合わせてリソース(CPU、メモリ、インスタンス数など)を自動的に調整することができます。需要が低い(アクセスが少ない)時にはリソースを削減し、需要が高い(アクセスが集中している)時にはリソースを追加することで、常に最適なリソース状態を維持することができます。これにより、コストを最小限に抑えながら、パフォーマンスを最適化することができるのです。

  • 2.トラフィックのスケーリング

    万が一アプリケーションの需要が急増した場合でも、オートスケールでは自動的にインスタンス数を増やすことができます。これにより、トラフィックの増加に対応してアプリケーションのパフォーマンスを維持することができます。また、リソースの最適化と同様、需要が低下した場合にはインスタンス数を減らすことで、コストを節約することができます。

  • 3.自動管理

    オートスケールでは、リソースの管理や調整に関する作業を自動化(=自動管理)することが可能です。手動でスケールを調整する必要がなくなるため、運用の負荷を軽減し、人的エラーを減らすことができます。また、設定や条件に基づいて自動的にスケールアウトやスケールインを行うため、継続的な監視や介入が不要なのです。

  • 4.ユーザーエクスペリエンスの向上

    オートスケールにより、需要の変動に迅速に対応することができます。需要が急増した場合でも、アプリケーションのパフォーマンスが低下することなく、ユーザーエクスペリエンスを向上させることができ、これにより、ユーザーからの満足度を高めることができるのです。

これらのメリットにより、Azure Web Appsのオートスケールは、アプリケーションのパフォーマンスを最適化し、コストを節約するために大変効果的な手段となります。

Azure Web Appsのオートスケールを設定する方法については以下の手順に従います。

  1. Azure Portalにログイン。
  2. リソース グループ内にあるAzure Web Appを選択。
  3. 左側のメニューから「スケール アウト (アプリ サービス プラン)」を選択。
  4. 「自動スケール」タブを選択。
  5. 「自動スケールをオンにする」を選択。
  6. 「スケール ルール」セクションで、「追加」をクリック。
  7. スケール ルールの詳細を設定。以下は一般的な設定方法です。
    • 名前: スケール ルールに識別名を付けます。
    • メトリック名: オートスケールの基準となるメトリック(例:CPU使用率、リクエスト数)を選択。
    • 期間: メトリックの評価期間を設定。
    • オペレータ: メトリックを評価する際の比較演算子を選択。
    • 閾値: オペレータと一緒に使用される閾値を設定。
    • 時間帯: オートスケールが適用される時間帯を設定。
    • 目標インスタンス数: スケールアウトするインスタンス数を設定。
  8. 設定が完了したら、「OK」をクリック。
  9. オートスケール設定を保存するために、「保存」をクリック。

これでオートスケールの設定が完了となります。このように設定したルールに基づき、アプリケーションの需要に応じて自動的にスケールアウトやスケールインが行われます。

なお、オートスケールの設定はAzure Portalだけでなく、Azure CLIやAzure PowerShell、Azure Resource Managerテンプレートを使用して行うこともできます。適切なツールや方法を選んで設定を行ってみてください。

 

そして最後にAzure Web Appsのオートスケールを最適に活用するためのベストプラクティスを5つご紹介します。

  • 1.メトリックの選択

    ずはオートスケールの基準となるメトリックを適切に選択することが重要です。一般的なメトリックとしては、CPU使用率、メモリ使用量、リクエスト数などがあります。アプリケーションの需要を正確に反映するメトリックを選びましょう。

  • 2.適切なスケールアウト条件の設定

    オートスケールのための閾値や時間帯を適切に設定することもまた重要な作業です。閾値を低く設定してしまうと、早めにスケールアウトが行われますが、これによりコストが増える可能性があります。逆に閾値を高く設定してしまうと、応答時間の低下やパフォーマンスの問題が発生する可能性があります。実際のアプリケーションの需要パターンに合わせて調整してみてください。

  • 3.ダウンサイズの設定

    スケールイン(ダウンサイズ)の設定も重要です。需要が低下した場合に自動的にインスタンス数を減らすことで、コストを節約につながります。スケールインの閾値や時間帯も適切に設定しましょう。ただし、急激なスケールインは急激なスケールアウト同様アプリケーションのパフォーマンスに悪影響を与える場合があるため、慎重に設定してください。

  • 4.プレエミプティブルインスタンスの使用

    プレエミプティブルインスタンスは、通常のインスタンスよりも低コストで提供されます。オートスケールによって一時的にインスタンス数が増える場合、プレエミプティブルインスタンスを利用することでコストを節約できます。ただし、プレエミプティブルインスタンスは他のユーザーと共有されるため、一部の制約がありますので、利用可能性とアプリケーションの要件に応じて検討しましょう。

  • 5.ログと監視

    オートスケールが正しく動作しているかを確認するために、ログと監視を活用しましょう。

Azureの活用方法、アーキテクチャのご相談(性能改善やAzure費用etc…)、DX推進などお気軽にお問合せください

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

PAGETOP