Azure の負荷分散オプションの概要Overview of load-balancing options in Azure

負荷分散とは、複数のコンピューティング リソース間でのワークロードの分散を指します。The term load balancing refers to the distribution of workloads across multiple computing resources. 負荷分散は、リソースの使用を最適化し、スループットを最大化し、応答時間を最小化し、1 つのリソースの過負荷を回避することを目的としています。Load balancing aims to optimize resource use, maximize throughput, minimize response time, and avoid overloading any single resource. また、冗長なコンピューティング リソース間でワークロードを共有することで、可用性を向上させることもできます。It can also improve availability by sharing a workload across redundant computing resources.

概要Overview

Azure の負荷分散サービスは、グローバルかリージョンか、また HTTP(S) か非 HTTP(S) かという 2 つの次元で分類できます。Azure load balancing services can be categorized along two dimensions: global versus regional, and HTTP(S) versus non-HTTP(S).

グローバルかリージョンかGlobal versus regional

  • グローバルな負荷分散サービスは、リージョンのバックエンド、クラウド、またはハイブリッド オンプレミス サービス間でトラフィックを分散します。Global load-balancing services distribute traffic across regional backends, clouds, or hybrid on-premises services. これらのサービスは、エンドユーザーのトラフィックを、最も近い使用可能なバックエンドにルーティングします。These services route end-user traffic to the closest available backend. 可用性とパフォーマンスを最大化するために、サービスの信頼性またはパフォーマンスの変化にも反応します。They also react to changes in service reliability or performance, in order to maximize availability and performance. 異なるリージョン/地理的地域にまたがってホストされているアプリケーションのスタンプ、エンドポイント、またはスケール ユニット間で負荷を分散するシステムと考えることができます。You can think of them as systems that load balance between application stamps, endpoints, or scale-units hosted across different regions/geographies.

  • リージョンの負荷分散サービスは、仮想ネットワーク内のトラフィックを、リージョン内の仮想マシン (VM) 間、またはゾーンおよびゾーン冗長のサービス エンドポイント間で分散します。Regional load-balancing services distribute traffic within virtual networks across virtual machines (VMs) or zonal and zone-redundant service endpoints within a region. 仮想ネットワークにあるリージョン内の VM、コンテナー、またはクラスター間で負荷を分散するシステムと考えることができます。You can think of them as systems that load balance between VMs, containers, or clusters within a region in a virtual network.

HTTP(S) か非 HTTP(S) かHTTP(S) versus non-HTTP(S)

  • HTTP(S) 負荷分散サービスは、HTTP(S) トラフィックのみを受け入れるレイヤー 7 のロード バランサーです。HTTP(S) load-balancing services are Layer 7 load balancers that only accept HTTP(S) traffic. Web アプリケーションまたはその他の HTTP(S) エンドポイントを対象としています。They are intended for web applications or other HTTP(S) endpoints. SSL オフロード、Web アプリケーション ファイアウォール、パスベースの負荷分散、セッション アフィニティなどの機能が含まれます。They include features such as SSL offload, web application firewall, path-based load balancing, and session affinity.

  • 非 HTTP/S の負荷分散サービスは、HTTP(S) 以外のトラフィックを処理でき、Web 以外のワークロードに推奨されます。Non-HTTP/S load-balancing services can handle non-HTTP(S) traffic and are recommended for non-web workloads.

次の表は、これらのカテゴリ別に Azure の負荷分散サービスをまとめたものです。The following table summarizes the Azure load balancing services by these categories:

サービスService グローバル/リージョンGlobal/regional 推奨されるトラフィックRecommended traffic
Azure Front DoorAzure Front Door グローバルGlobal HTTP(S)HTTP(S)
Traffic ManagerTraffic Manager グローバルGlobal 非 HTTP(S)non-HTTP(S)
Application GatewayApplication Gateway 地域Regional HTTP(S)HTTP(S)
Azure Load BalancerAzure Load Balancer 地域Regional 非 HTTP(S)non-HTTP(S)

Azure の負荷分散サービスAzure load balancing services

Azure で現在使用できる主な負荷分散サービスを次に示します。Here are the main load-balancing services currently available in Azure:

Front Door は、Web アプリケーション向けのグローバル負荷分散およびサイト アクセラレーション サービスを提供するアプリケーション配信ネットワークです。Front Door is an application delivery network that provides global load balancing and site acceleration service for web applications. SSL オフロード、パスベースのルーティング、高速フェールオーバー、キャッシュなどのレイヤー 7 機能をアプリケーションに提供して、アプリケーションのパフォーマンスと可用性を向上させます。It offers Layer 7 capabilities for your application like SSL offload, path-based routing, fast failover, caching, etc. to improve performance and high-availability of your applications.

注意

現時点では、Azure Front Door では Web ソケットをサポートしていません。At this time, Azure Front Door does not support Web Sockets.

Traffic Manager は、世界中の Azure リージョン間でサービスへのトラフィックを最適に配分しつつ、高可用性と応答性を実現する DNS ベースのトラフィック ロード バランサーです。Traffic Manager is a DNS-based traffic load balancer that enables you to distribute traffic optimally to services across global Azure regions, while providing high availability and responsiveness. Traffic Manager は DNS ベースの負荷分散サービスであるため、負荷分散はドメイン レベルでのみ行われます。Because Traffic Manager is a DNS-based load-balancing service, it load balances only at the domain level. そのため、DNS キャッシュに関連した、また DNS TTL を遵守しないシステムに関連した一般的な課題が理由で、Front Door ほど高速なフェールオーバーはできません。For that reason, it can't fail over as quickly as Front Door, because of common challenges around DNS caching and systems not honoring DNS TTLs.

Application Gateway は、アプリケーション配信コントローラー (ADC) をサービスとして提供することで、さまざまなレイヤー 7 負荷分散機能を利用できるようにします。Application Gateway provides application delivery controller (ADC) as a service, offering various Layer 7 load-balancing capabilities. これを使用して、CPU を集中的に使用する SSL 終了をゲートウェイにオフロードし、Web ファームの生産性を最適化できます。Use it to optimize web farm productivity by offloading CPU-intensive SSL termination to the gateway.

Azure Load Balancer は、すべての UDP と TCP プロトコル向けの高パフォーマンス、低待機時間のレイヤー 4 負荷分散サービス (受信および送信) です。Azure Load Balancer is a high-performance, low-latency Layer 4 load-balancing service (inbound and outbound) for all UDP and TCP protocols. これは、ソリューションの高可用性を保証しながら、1 秒あたり数百万の要求を処理するように構築されています。It is built to handle millions of requests per second while ensuring your solution is highly available. Azure Load Balancer は、ゾーン冗長であるため、Availability Zones 全体で高可用性を確保します。Azure Load Balancer is zone-redundant, ensuring high availability across Availability Zones.

Azure での負荷分散のデシジョン ツリーDecision tree for load balancing in Azure

負荷分散オプションを選択するときの考慮事項をいくつか次に示します。When selecting the load-balancing options, here are some factors to consider:

  • トラフィックの種類Traffic type. Web (HTTP/HTTPS) アプリケーションか。Is it a web (HTTP/HTTPS) application? パブリック向けまたはプライベートのアプリケーションか。Is it public facing or a private application?
  • グローバルかリージョンかGlobal versus. regional. 仮想ネットワーク内の VM またはコンテナーを負荷分散する必要があるか、またはリージョン間でスケール ユニット/デプロイを負荷分散する必要があるか、あるいはその両方か。Do you need to load balance VMs or containers within a virtual network, or load balance scale unit/deployments across regions, or both?
  • 可用性Availability. サービス SLA はどうなっているか。What is the service SLA?
  • コストCost. Azure の価格」を参照してください。See Azure pricing. サービス自体のコストのほか、そのサービスに構築されているソリューションを管理するための運用コストを考慮してください。In addition to the cost of the service itself, consider the operations cost for managing a solution built on that service.
  • 機能と制限Features and limits. 各サービスの全体的な制限事項。What are the overall limitations of each service? サービスの制限に関するページを参照してください。See Service limits.

次のフローチャートは、お使いのアプリケーションに適した負荷分散サービスを選択するうえで役立ちます。The following flowchart will help you to choose a load-balancing solution for your application. このフローチャートは、推奨事項を導き出すための一連の主要な意思決定基準を示しています。The flowchart guides you through a set of key decision criteria to reach a recommendation.

このフローチャートを原案として使用します。Treat this flowchart as a starting point. すべてのアプリケーションには固有の要件があるため、推奨事項は原案として使用してください。Every application has unique requirements, so use the recommendation as a starting point. 次に、より詳細な評価を実行します。Then perform a more detailed evaluation.

アプリケーションが複数のワークロードで構成されている場合は、それぞれのワークロードを個別に評価します。If your application consists of multiple workloads, evaluate each workload separately. 完全なソリューションに、複数の負荷分散ソリューションを組み込むことができます。A complete solution may incorporate two or more load-balancing solutions.

Azure での負荷分散のデシジョン ツリー

定義Definitions

  • インターネット接続Internet facing. インターネットからパブリックにアクセスできるアプリケーション。Applications that are publicly accessible from the internet. ベスト プラクティスとして、アプリケーション所有者は、制限の厳しいアクセス ポリシーを適用します。または、Web アプリケーション ファイアウォールや DDoS 保護などのサービスをセットアップすることによってアプリケーションを保護します。As a best practice, application owners apply restrictive access policies or protect the application by setting up offerings like web application firewall and DDoS protection.

  • グローバルGlobal. エンドユーザーまたはクライアントは、狭い地理的領域を超えて分布しています。End users or clients are located beyond a small geographical area. たとえば、複数の大陸、大陸内の複数の国/地域、または大きな国/地域内の複数の大都市圏にまたがってユーザーが分布する場合です。For example, users across multiple continents, across countries/regions within a continent, or even across multiple metropolitan areas within a larger country/region.

  • PaaSPaaS. マネージド ホスティング環境を提供するサービスとしてのプラットフォーム (PaaS) サービス。この環境では、VM やネットワーク リソースを管理せずにアプリケーションをデプロイできます。Platform as a service (PaaS) services provide a managed hosting environment, where you can deploy your application without needing to manage VMs or networking resources. この場合の PaaS は、統合された負荷分散をリージョン内で提供するサービスを指します。In this case, PaaS refers to services that provide integrated load balancing within a region. コンピューティング サービスの選択 – スケーラビリティに関するページを参照してください。See Choosing a compute service – Scalability.

  • IaaSIaaS. サービスとしてのインフラストラクチャ (IaaS) は、必要な VM を、関連するネットワークおよびストレージ コンポーネントと共にプロビジョニングするコンピューティング オプションです。Infrastructure as a service (IaaS) is a computing option where you provision the VMs that you need, along with associated network and storage components. IaaS アプリケーションでは、Azure Load Balancer を使用して、仮想ネットワークの内部で負荷を分散する必要があります。IaaS applications require internal load balancing within a virtual network, using Azure Load Balancer.

  • アプリケーション層の処理は、仮想ネットワーク内での特別なルーティングを指します。Application-layer processing refers to special routing within a virtual network. たとえば、複数の VM または仮想マシン スケール セットをまたいだ、仮想ネットワーク内でのパスベースのルーティングが該当します。For example, path-based routing within the virtual network across VMs or virtual machine scale sets. 詳細については、「Front Door の背後に Application Gateway をデプロイする必要はありますか?」を参照してください。For more information, see When should we deploy an Application Gateway behind Front Door?.