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

Server Load Balancer:CLB を使用した IPv4 サービスの負荷分散

最終更新日:Dec 11, 2025

アプリケーションを単一のサーバーにデプロイすると、サーバーの故障やトラフィックがサーバーの容量を超えるなどの単一障害点 (SPOF) が発生し、システム全体の可用性とユーザーエクスペリエンスが低下します。Classic Load Balancer (CLB) は、複数のバックエンドサーバーにトラフィックを分散させることでシステムを変換し、スケーラブルで高可用性なアプリケーションシステムを実現します。

ソリューション概要

CLB を使用して IPv4 サービスの負荷を分散する方法は次のとおりです:

  1. インターネット向け CLB インスタンスの作成:インスタンスには固定パブリック IP アドレスが割り当てられ、Elastic IP アドレス (EIP) なしでインターネット経由でのサービスアクセスが可能になります。

  2. CLB インスタンスのサーバーグループとリスナーの設定:

    1. CLB サーバーグループは、CLB によって分散されたビジネスリクエストを処理するバックエンドサーバーのグループです。バックエンドサーバーの数を調整して、変化するビジネストラフィックを管理します。

    2. CLB リスナーは、特定のプロトコルとポートでクライアントからの受信リクエストをチェックし、関連するサーバーグループに転送して処理します。

  3. ドメイン名解決の設定:CLB は IP アドレスを使用してサービスを提供します。実際のシナリオでは、通常、ユーザーはカスタムドメイン名を CLB インスタンスの IP アドレスに解決して、ドメイン名ベースのサービスアクセスを可能にします。

CLB のサービスアーキテクチャは次のとおりです:

image

前提条件

  • Elastic Compute Service (ECS) インスタンス ECS01 と ECS02 が、CLB インスタンスをデプロイするリージョンと同じリージョンに作成されていること。ビジネスのゾーンレベルでの高可用性を確保するため、2 つの ECS インスタンスを異なるゾーンに作成することを推奨します。

    クリックして ECS 上にサンプルアプリケーションを作成・デプロイするスクリプトを表示

    ECS01 上:

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS01." > index.html

    ECS02 上:

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS02." > index.html
  • カスタムドメイン名が登録されていること。ECS インスタンスが中国本土内のリージョンにデプロイされている場合は、ドメイン名のインターネットコンテンツプロバイダー (ICP) 番号を取得する必要があります。

操作手順

ステップ 1:インターネット向け CLB インスタンスの作成

  1. CLB コンソールにログインし、トップメニューバーで CLB インスタンスをデプロイするリージョンを選択します。

  2. [Create CLB] をクリックします。購入ページで、次の表を参照してパラメーターを設定します:

    主要なパラメーターと推奨設定

    パラメーター

    説明

    推奨事項

    リージョン

    CLB インスタンスが配置されるリージョン。

    • [マルチゾーン] デプロイメントをサポートするリージョンを選択します。

    • ECS インスタンスがデプロイされているリージョンを選択します。

    [ゾーンタイプ]

    CLB インスタンスは、リージョン内の 1 つまたは複数のゾーンで使用できます。

    • [シングルゾーン]:このオプションが表示される場合、選択したリージョンは単一ゾーンでの CLB デプロイのみをサポートします。

    • [マルチゾーン]:このオプションが表示される場合、選択したリージョンは複数ゾーンでの CLB デプロイのみをサポートします。デフォルトでは、[プライマリゾーン] の CLB がサービスを提供します。プライマリゾーンに障害が発生した場合、システムは自動的に [セカンダリゾーン] の CLB に切り替わり、負荷分散を継続します。詳細については、「ゾーンディザスタリカバリ (マルチゾーンディザスタリカバリ) の実装」をご参照ください。

    インスタンスの課金方法

    [Pay-By-CLCU]:テスト環境やトラフィックの変動が大きいビジネスに適しています。CLB インスタンスはトラフィック量に基づいてリソースを自動的にスケーリングします。

    仕様を選択する必要がないため、[Pay-By-CLCU] を選択します。

    インスタンスタイプ

    • [インターネット]:CLB は、クライアントがインターネット経由でアクセスできるパブリック IP アドレスを使用してサービスを提供します。

    • [イントラネット]:CLB は、Virtual Private Cloud (VPC) 内でプライベート IP アドレスを使用してサービスを提供し、インターネットからのリクエストを転送することはできません。

    [インターネット] を選択します。

    IP バージョン

    CLB がサービスを提供するために使用する IP アドレスのバージョン。

    • [IPv4]:CLB は IPv4 アドレスのみを使用してサービスを提供します。

    • [IPv6]:CLB は IPv6 アドレスのみを使用してサービスを提供します。

    [IPv4] を選択します。

    [インターネットデータ転送料金]

    インターネット向け CLB インスタンスのみがデータ転送料金を請求します。

    [トラフィック課金]:トラフィックの変動が大きいビジネスに適しています。

    [トラフィック別] を選択します。

    CLB の課金の詳細については、「従量課金」をご参照ください。

  3. インスタンスの購入と作成プロセスを完了します。CLB コンソール[インスタンス] ページに移動して、インスタンスを確認します。

ステップ 2:リスナーとサーバーグループの設定

  1. [インスタンス] ページで、CLB インスタンスの ID をクリックします。インスタンスの詳細ページで、[リスナー] タブをクリックし、[リスナーの追加] をクリックします。

  2. 次の表を参照して、リスナープロトコルとポートを設定します:

    主要なパラメーターと推奨設定

    パラメーター

    説明

    推奨事項

    [リスナープロトコルの選択]

    CLB がサービスを提供するために使用するプロトコル。

    • [TCP][UDP]:一般にレイヤー 4 リスナープロトコルと呼ばれます。

    • [HTTP][HTTPS]:一般にレイヤー 7 リスナープロトコルと呼ばれます。

    説明
    • レイヤー 4 リスナー:リクエストをバックエンドサーバーに直接転送します。たとえば、クライアントリクエストが CLB に到達すると、TCP リスナーはリスナーで設定されたバックエンドポートに基づいてパケットの宛先 IP アドレスと宛先ポートを変更し、トラフィックを指定されたバックエンドサーバーに転送します。

    • レイヤー 7 リスナー:本質的にリバースプロキシです。クライアントリクエストが CLB に到達すると、CLB はバックエンドサーバーとの間に新しい TCP 接続を確立し、パケットを直接バックエンドサーバーに転送するのではなく、TCP 接続を介して HTTP プロトコルを使用してバックエンドサーバーにアクセスします。

    詳細については、「サービスアーキテクチャ」をご参照ください。

    [HTTP] を選択します。

    説明

    基盤となる実装の観点から、レイヤー 7 リスナーはレイヤー 4 リスナーと比較して追加のレイヤー 7 処理ステップを含みます。さらに、クライアントポートの枯渇やバックエンドサーバーへの過剰な接続などのシナリオでは、レイヤー 7 サービスのパフォーマンスが最適でなくなる可能性があります。したがって、高いパフォーマンス要件がある場合は、レイヤー 4 リスナーを選択することを推奨します。

    リスナーポート

    CLB がサービスを提供するために使用するポート。

    [80] を指定します。

    他のパラメーターの詳細な設定については、「CLB リスナー」をご参照ください。

    image

  3. サーバーグループを設定し、バックエンドサーバーを追加します。image

    バックエンドサーバーとして追加するサーバーを選択します。

    image

    バックエンドサーバー上のアプリケーションがサービスを提供するためのポートを設定し、[追加] をクリックします。

    image

  4. (推奨) ヘルスチェックはデフォルト設定のままにします。

    CLB ヘルスチェックの推奨設定

    CLB はヘルスチェックを実行して、バックエンドサーバーの可用性を確認します。

    この機能を有効にすると、バックエンドサーバーが異常と判断された場合、CLB はそのバックエンドサーバーへのリクエスト転送を停止し、後続のリクエストを正常なサーバーに分散します。異常なバックエンドサーバーが回復すると、CLB は再びリクエストを分散します。

    ヘルスチェック機能は、異常なバックエンドサーバーによる単一障害点を防ぎ、サービスの可用性を向上させます。

    重要

    ビジネストラフィックの変動に敏感な場合、頻繁なヘルスチェックがビジネスの可用性に影響を与える可能性があります。

    ヘルスチェックがビジネスに与える影響を軽減するには、ヘルスチェックの頻度を減らす、ヘルスチェックの間隔を長くする、またはレイヤー 7 のヘルスチェックをレイヤー 4 のものに変更します。

    業務継続性を確保するため、ヘルスチェック機能を有効にすることを推奨します。

    詳細については、「CLB ヘルスチェック」をご参照ください。

    image

  5. 設定を確認して送信します。image

ステップ 3:ドメイン名解決の設定

  1. [インスタンス] ページで、作成した CLB インスタンスを見つけ、[IP アドレス] 列の IP アドレスをコピーします。

  2. A レコードを追加して、カスタムドメイン名を CLB の IP アドレスに解決します。

    1. Alibaba Cloud DNS コンソールにログインし、対象のドメイン名を見つけて、[操作] 列の [DNS 設定] をクリックします。

    2. [DNS レコードの追加] をクリックし、[レコードタイプ][ホスト名][レコード値] を設定し、他のパラメーターはデフォルト値のままにします。

      • [レコードタイプ][A] レコードを指定します。これは、カスタムドメイン名を IPv4 アドレスに対応付けます。

      • [ホストレコード]:ドメイン名のプレフィックスを指定します。

      • [レコード値]:CLB の IP アドレスを入力します。

ステップ 4:負荷分散効果のテスト

任意のローカル PC をクライアントとして使用し、インターネット経由でサービスにアクセスします。

ブラウザでカスタムドメイン名に数回アクセスします。次の図に示すように、アクセスされるサーバーは ECS01 と ECS02 の間で交互に切り替わります。

説明

サービスを提供するために設定したバックエンドサーバーのプロトコルとポートがリスナーのものと異なる場合、ブラウザのアドレスバーにサービスの URL を入力します。例:http://www.example.com:9000

image

image

どちらかの ECS インスタンスを無効にしても、クライアントリクエストが正常に処理され続ければ、CLB がバックエンドサーバーの 1 つに障害が発生した場合でもビジネスの可用性を維持していることがわかります。

次のステップ

リソースの削除

このトピックで説明したソリューションのテスト後、リソースが不要になった場合は、意図しないコストを避けるためにすぐに削除してください。

  1. DNS レコードAlibaba Cloud DNS コンソールにログインします。ドメイン名をクリックし、レコードを見つけて、[操作] 列の [削除] をクリックして削除します。

  2. CLB インスタンスCLB コンソールにログインします。CLB インスタンスの [操作] 列で、2 > [リリース設定] を選択し、[今すぐリリース] を選択して操作を確定します。

  3. ECS インスタンスとセキュリティグループ:

    1. ECS コンソールにログインします。トップメニューバーで ECS インスタンスが配置されているリージョンを選択し、インスタンスを選択し、[操作] 列で image.png > [解放] をクリックし、ダイアログボックスで [今すぐ解放] を選択して、操作を確定します。

    2. ECS コンソールのセキュリティグループページにログインし、トップメニューバーでセキュリティグループがデプロイされているリージョンを選択し、セキュリティグループを見つけて、[操作] 列の [削除] をクリックして操作を確定します。

  4. VPC と関連ネットワークリソースVPC コンソールにログインし、トップメニューバーで VPC が配置されているリージョンを選択します。[操作] 列の [削除] をクリックし、プロセスを完了します。

よくある質問

新規作成されたインターネット向け CLB インスタンスとイントラネット向け CLB インスタンスの主な違いは何ですか?

新規作成されたイントラネット向け CLB インスタンスのネットワークタイプは VPC です (クラシックネットワークではありません)。

比較項目

インターネット向け CLB

イントラネット向け CLB

インターネットアクセシビリティ

インターネット向け CLB インスタンスには固定パブリック IP アドレスが本質的に関連付けられており、インターネット経由でアクセスできます。

インスタンスがリリースされる際、パブリック IP アドレスの関連付けを解除し、他の用途のために EIP として保持することができます。

デフォルトでは、イントラネット向け CLB はインターネット経由でアクセスできません。

ただし、EIP に関連付けることでインターネット経由でアクセス可能になります。EIP は必要に応じて CLB との関連付けや解除ができます。

サービス提供用の IP アドレス

パブリック IP アドレスのみを使用します。

VPC 内のプライベート IP アドレスを使用します。

EIP を CLB に関連付けた後は、EIP も使用します。

ネットワーク

ローカル VPC と他の VPC の両方にある ECS インスタンスと Elastic Network Interface (ENI) をバックエンドサーバーとして CLB に関連付けることができます。

ローカル VPC 内の ECS インスタンスと ENI のみをバックエンドサーバーとして CLB に関連付けることができます。

説明

作成後、インターネット向け CLB インスタンスとイントラネット向け CLB インスタンスは相互に変換できません。

課金方法とデータ転送料金に基づいて CLB インスタンスタイプを選択するにはどうすればよいですか?

次の表をご参照ください:

課金方法

測定方法

インスタンスタイプ

インターネットデータ転送の課金方法

シナリオ

仕様単位の支払い (EoS)

LCU 単位の支払い

インターネット向け

データ転送量課金

  • ゲームやビデオストリーミングなど、周期的または大きな変動があるワークロード。

  • 一時的なトラフィックスパイク。

イントラネット向け

N/A

仕様単位の支払い

インターネット向け

データ転送量課金

  • 安定したトラフィック量。

  • 一時的なトラフィックスパイク。

帯域幅課金

イントラネット向け

N/A

インターネットの測定方法が「仕様単位」である CLB インスタンスの仕様の違いは何ですか?

説明

仕様単位の支払い CLB インスタンスは、2025 年 6 月 1 日 00:00:00 (UTC+8) をもって販売終了となりました。詳細については、「仕様単位の支払い CLB インスタンスの販売終了」をご参照ください。

CLB インスタンスの仕様が異なると、トラフィック処理性能も異なります。主要なパフォーマンスメトリックには、最大接続数、毎秒接続数 (CPS)、毎秒クエリ数 (QPS) があります。詳細については、「CLB インスタンス」をご参照ください。

インターネットの測定方法が「帯域幅単位」である CLB インスタンスの場合、アップストリームとダウンストリームの最大帯域幅は同じですか?

はい、そうです。

たとえば、最大帯域幅が 20 Mbit/s の CLB インスタンスがある場合、アップストリームとダウンストリームの両方の最大帯域幅は 20 Mbit/s です。

CLB は VPC 間の移行をサポートしていますか?

いいえ、サポートしていません。

別の VPC で CLB サービスが必要な場合は、その VPC に CLB インスタンスを作成してください。

CLB は Alibaba Cloud 以外のインターネット向けサーバーへのトラフィック転送をサポートしていますか?

いいえ、現在 CLB はバックエンドサーバーとして Alibaba Cloud の ECS インスタンス、ENI、および Elastic Container Instance のみをサポートしています。

別のアカウントで作成した ECS インスタンスをバックエンドサーバーとして CLB に関連付けることはできますか?

いいえ、CLB は同じアカウントで作成されたバックエンドサーバーの追加のみをサポートしています。

EIP をイントラネット向け CLB と NAT Gateway の両方に同時に関連付けることはできますか?

いいえ、EIP は一度に 1 つのクラウドリソースにしか関連付けることができません。

関連ドキュメント