すべてのプロダクト
Search
ドキュメントセンター

Server Load Balancer:プロダクトの高可用性

最終更新日:Dec 09, 2025

Classic Load Balancer (CLB) は、そのシステム設計とプロダクト構成を通じて高可用性を提供します。また、CLB を Alibaba Cloud DNS などのプロダクトと組み合わせて使用することで、クロスリージョンディザスタリカバリを実装できます。CLB は、マルチゾーンデプロイで 99.95%、シングルゾーンデプロイで 99.90% の可用性を実現するように設計されています。

CLB システムの高可用性

Classic Load Balancer (CLB) インスタンスはクラスターデプロイを使用します。このデプロイメントにより、セッション同期が可能になり、単一障害点 (SPOF) を排除し、冗長性を向上させ、サービスの安定性を確保します。レイヤー 4 ロードバランシングは Linux Virtual Server (LVS) と Keepalived を使用して実装されます。レイヤー 7 ロードバランシングは Tengine を使用して実装されます。Tengine は Taobao が開始した Web サーバープロジェクトです。NGINX 上に構築され、高トラフィックの Web サイト向けに最適化されています。

インターネットからのリクエストは、等コストマルチパス (ECMP) ルーティングを介して LVS クラスターに到達します。クラスター内の各 LVS サーバーは、マルチキャストメッセージを使用して、同じクラスター内の他の LVS サーバーとセッションを同期します。これにより、LVS クラスター内のすべてのサーバー間でセッション同期が保証されます。LVS クラスターは、Tengine クラスターのヘルスチェックも実行し、異常なサーバーを削除して、レイヤー 7 ロードバランシングの可用性を確保します。

ベストプラクティス:

セッション同期により、クラスター内のサーバー障害によって持続的接続が影響を受けないことが保証されます。ただし、短命な接続や、3 ウェイハンドシェイクが完了していない場合など、セッション同期ルールをトリガーしない接続の場合、サーバー障害がユーザーリクエストに影響を与える可能性があります。サーバー障害によるセッション中断を防ぐには、ビジネスロジックにリトライメカニズムを追加します。これにより、ユーザーアクセスへの影響が軽減されます。

単一 CLB インスタンスの高可用性

より安定した信頼性の高いサービスを提供するために、Alibaba Cloud の CLB はほとんどのリージョンでマルチゾーンデプロイを使用しています。このデプロイメントは、同一リージョン内のデータセンター間でディザスタリカバリを提供します。プライマリゾーンに障害が発生した場合、または利用できなくなった場合、CLB は約 30 秒でセカンダリゾーンに切り替えてサービスを再開できます。プライマリゾーンが回復すると、CLB は自動的にプライマリゾーンに切り替わります。

説明

CLB インスタンスのプライマリゾーンとセカンダリゾーンは、ゾーンレベルのディザスタリカバリを提供します。CLB がセカンダリゾーンに切り替わるのは、データセンターの停電や光ファイバーケーブルの切断など、プライマリゾーン全体が利用できなくなった場合のみです。単一のインスタンスに障害が発生しただけでは、スイッチオーバーはトリガーされません。

ベストプラクティス:

  1. CLB のプライマリ/セカンダリゾーンメカニズムを最大限に活用するには、この機能をサポートするリージョンに CLB インスタンスを作成します。CLB インスタンスを購入する際は、マルチゾーンデプロイをサポートするリージョンを選択してください。

  2. CLB インスタンスのプライマリゾーンとセカンダリゾーンを選択する際は、ご利用の ECS インスタンスの分散状況に基づいて選択します。アクセスレイテンシーを最小限に抑えるために、ほとんどの ECS インスタンスが含まれるゾーンをプライマリゾーンとして選択します。

    ただし、すべての ECS インスタンスを単一のゾーンにデプロイしないでください。CLB インスタンスのセカンダリゾーンにもいくつかの ECS インスタンスをデプロイする必要があります。これにより、プライマリゾーン全体が利用できなくなるなどの極端なケースでセカンダリゾーンに切り替わった後でも、CLB によって転送されたリクエストが引き続き処理されることが保証されます。

    single-CLB high availability

複数 CLB インスタンスの高可用性

非常に高い可用性要件がある場合、単一の CLB インスタンスに組み込まれている可用性メカニズムでは不十分な場合があります。たとえば、ネットワーク攻撃や設定エラーが原因で CLB インスタンスが利用できなくなった場合、これはゾーンレベルの障害ではないため、ゾーンのスイッチオーバーはトリガーされません。このような場合は、複数の CLB インスタンスを作成し、Alibaba Cloud DNS を使用してアクセスリクエストをスケジューリングできます。これにより、クロスリージョンディザスタリカバリとバックアップを実現できます。

ベストプラクティス:

リージョン内の複数のゾーン、または複数のリージョンにまたがって CLB インスタンスとバックエンド ECS インスタンスをデプロイします。次に、Alibaba Cloud DNS を使用してアクセスリクエストをスケジューリングします。

multi-CLB

バックエンド ECS インスタンスの高可用性

CLB はヘルスチェックを使用して、バックエンド ECS インスタンスの可用性を判断します。ヘルスチェックメカニズムは、ご利用のフロントエンドサービスの全体的な可用性を向上させ、異常なバックエンド ECS インスタンスによって引き起こされるサービス中断を防ぎます。

ヘルスチェック機能が有効になっている状態でインスタンスに異常が検出された場合、CLB は自動的に新しいリクエストを他の正常な ECS インスタンスに分配します。インスタンスが回復すると、CLB はそのインスタンスへのリクエストの送信を自動的に再開します。ヘルスチェックのメカニズムの詳細については、「ヘルスチェックの概要」をご参照ください。

ベストプラクティス:

ヘルスチェックを実行するには、ヘルスチェック機能が有効化され、適切に設定されている必要があります。詳細については、「ヘルスチェックの設定と管理」をご参照ください。