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

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

最終更新日:Jul 01, 2025

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

ソリューション概要

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

  1. インターネット向け CLB インスタンスを作成する: インスタンスには静的パブリック IP アドレスが割り当てられ、エラスティック 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. [CLB の作成] をクリックします。 購入ページで、次の表を参照してパラメーターを設定します。

    主要なパラメーターと推奨構成

    パラメーター

    説明

    推奨事項

    リージョン

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

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

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

    ゾーンタイプ

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

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

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

    インスタンスの課金方法

    CLCU 単位課金: テスト環境またはトラフィックの変動が大きいビジネスに適しています。 CLB インスタンスは、トラフィック量に基づいてリソースを自動的にスケーリングします。

    CLCU 単位課金 を選択します。これは、スペックを選択する必要がないためです。

    インスタンスタイプ

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

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

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

    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 はリクエストをそれに分散します。

    ヘルスチェック機能は、異常なバックエンドサーバーによって引き起こされる SPOF を防ぎ、サービスの可用性を向上させます。

    重要

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

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

    ビジネスの継続性を確保するために、ヘルスチェック機能を有効にすることをお勧めします。

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

    image

  5. 構成を確認して送信します。image

ステップ 3: ドメイン名解決を構成する

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

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

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

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

      • レコードタイプ: カスタムドメイン名を IPv4 アドレスにポイントする A レコードを指定します。

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

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

ステップ 4: 負荷分散効果をテストする

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

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

説明

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

image

image

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

後続の操作

リソースを削除する

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

  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

インターネットアクセス可能性

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

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

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

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

サービスを提供するための IP アドレス

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

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

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

ネットワーキング

ローカル VPC と他の VPC の両方にある ECS インスタンスとエラスティックネットワークインターフェイス(ENI)を、バックエンドサーバーとして CLB に関連付けることができます。

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

説明

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

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

次の表を参照してください。

課金方法

測定方法

インスタンスタイプ

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

シナリオ

スペック課金 (EoS)

LCU 単位課金

インターネット向け

データ転送単位課金

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

  • 一時的なトラフィックの急増。

内部向け

該当なし

スペック課金

インターネット向け

データ転送単位課金

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

  • 一時的なトラフィックの急増。

帯域幅課金

内部向け

該当なし

インターネット測定方法が帯域幅課金である CLB インスタンスのスペックの違いは何ですか?

説明

スペック課金 CLB インスタンスは、2025 年 6 月 1 日 00:00:00 (UTC + 08:00) から廃止されました。 詳細については、「スペック課金 CLB インスタンスの販売終了」をご参照ください。

CLB インスタンスのスペックが異なると、トラフィック処理のパフォーマンスも異なります。 主要なパフォーマンス指標には、最大接続数、1 秒あたりの接続数 (CPS)、1 秒あたりのクエリ数 (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 ゲートウェイの両方に同時に関連付けることはできますか?

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

参照資料