Application Load Balancer (ALB) のサーバーグループは、クライアントリクエストを 1 台以上のバックエンドサーバーにルーティングします。ALB インスタンスを使用するには、サーバーグループを作成し、転送リクエストを受信するバックエンドサーバーを追加する必要があります。
構成の計画
サーバーグループを作成する前に、ビジネス要件に基づいて主要な構成を決定します。サーバーグループタイプは作成後に変更できません。バックエンドサービスのデプロイ方法に応じてタイプを選択してください。
サーバーグループタイプの選択
|
サーバーグループタイプ |
バックエンドサービスタイプ |
説明 |
関連ドキュメント |
|
サーバー |
Elastic Compute Service (ECS) インスタンス、Elastic Network Interface (ENI)、および Elastic Container Instance (ECI) インスタンス |
|
|
|
IP |
IP アドレス |
|
|
|
Function Compute |
Function Compute |
Function Compute サービスを有効化する必要があります。関数は ALB インスタンスと同じリージョンにある必要があります。 |
|
|
DNS |
ドメイン名 |
|
|
|
AI サービス |
大規模言語モデル (LLM) サービス |
|
|
|
MCP サービス |
MCP サーバー、Function Compute、および REST API |
これはホワイトリスト機能です。使用するには、アカウントマネージャーにお問い合わせください。 |
|
|
IP アドレス範囲 |
IP アドレス範囲とポート範囲 |
|
ALB Extensible Edition はパブリックプレビュー中です。詳細については、「パブリックプレビューに関する注意事項」をご参照ください。
ALB インスタンスのバックエンドサーバーがリリースされた場合、またはそのプライベート IP アドレスが変更された場合、ALB はバックエンドサーバーを自動的に更新しません。サービスの中断を防ぐため、リリースまたはプライベート IP アドレスの変更を行う前に、まず ALB サーバーグループからバックエンドサーバーを削除することを推奨します。
バックエンドプロトコルとスケジューリングアルゴリズム
|
バックエンドプロトコル |
ユースケース |
|
HTTP (デフォルト) |
ほとんどの Web アプリケーションシナリオ。HTTP、HTTPS、および QUIC リスナーに適しています。 |
|
HTTPS |
ALB インスタンスとバックエンドサーバー間で暗号化通信が必要なシナリオ。HTTPS および HTTP リスナーに適しています。 |
|
gRPC |
gRPC プロトコルを使用するバックエンドサービス。HTTP/2 が有効になっている HTTPS リスナーが必要です。 |
ALB Extensible Edition インスタンスは gRPC バックエンドプロトコルをサポートしていません。
AI サービスまたは MCP サービスのサーバーグループでは、バックエンドプロトコルを選択する必要はありません。IP アドレス範囲のサーバーグループは、現在 HTTP バックエンドプロトコルのみをサポートしています。
|
スケジューリングアルゴリズム |
ユースケース |
|
重み付きラウンドロビン |
汎用シナリオ。重み比率に基づいてリクエストを均等に分散します。ラウンドロビンスケジューリングは、ユーザー単位ではなくリクエスト単位で実行されます。 |
|
重み付き最小接続 |
長時間接続またはリクエスト処理時間に大きなばらつきがあるシナリオ。重みとアクティブな接続数の両方を考慮し、負荷の低いサーバーを優先します。 |
|
コンシステントハッシュ |
キャッシュヒット率の最適化など、リクエストアフィニティが必要なシナリオ。ソース IP または URL パラメータのハッシュに基づいて、同じ特性を持つリクエストを同じバックエンドサーバーにルーティングします。 |
アルゴリズムロジックの詳細については、「負荷分散スケジューリングアルゴリズム」をご参照ください。
次の表は、リスナープロトコル、バックエンドプロトコル、およびヘルスチェックプロトコルの互換性について説明しています。
|
リスナープロトコル |
バックエンドプロトコル |
サーバーグループタイプ |
ヘルスチェックプロトコル |
|
HTTP |
HTTP および HTTPS |
サーバー、IP、Function Compute、DNS、AI サービス、MCP サービス、および IP アドレス範囲 |
HTTP、HTTPS、TCP、および gRPC |
|
HTTPS |
HTTP、HTTPS、および gRPC |
サーバー、IP、Function Compute、DNS、AI サービス、MCP サービス、および IP アドレス範囲 |
|
|
QUIC |
HTTP |
サーバー、IP、および Function Compute |
Function Compute、AI サービス、または MCP サービスタイプでは、バックエンドプロトコルまたはヘルスチェックプロトコルを構成する必要はありません。DNS または IP アドレス範囲タイプでは、ヘルスチェックプロトコルを構成する必要はありません。
Basic ALB インスタンスの HTTPS リスナーは、HTTPS バックエンドプロトコルをサポートしていません。Basic ALB インスタンスは、HTTPS ヘルスチェックプロトコルをサポートしていません。
ALB Extensible Edition インスタンスは、QUIC リスナーまたは gRPC バックエンドプロトコルをサポートしていません。
gRPC バックエンドプロトコルを使用するには、リスナーで HTTP/2 を有効にする必要があります。
バックエンドプロトコルは、バックエンドサーバーが実際に提供するプロトコルと一致する必要があります。たとえば、バックエンド ECS インスタンスが HTTP サービスを提供する場合は、バックエンドプロトコルとして HTTP を選択します。バックエンドプロトコルが HTTPS に設定されているが、バックエンドサーバーが HTTP サービスのみを提供している場合、ALB インスタンスとバックエンドサーバー間の TLS ハンドシェイクが失敗し、リクエストに対して 502 Bad Gateway が返されます。この問題を解決するには、バックエンドプロトコルを HTTP に変更してください。
サーバーグループの作成と削除
サーバーグループの作成
-
ALB コンソールの [サーバーグループ] ページに移動します。
-
上部メニューでリージョンを選択し、サーバーグループの作成 をクリックします。 次のパラメーターを設定し、作成 をクリックします。
-
[サーバーグループタイプ]:バックエンドサービスのデプロイ方法に基づいてタイプを選択します。
-
[サーバタイプ]:ECS インスタンス、ENI、または ECI インスタンスをバックエンドサーバーとして使用します。 バックエンドサーバーは、サーバーグループと同じ VPC 内にある必要があります。
-
[IP タイプ]:IP アドレスをバックエンドサーバーとして使用します。 VPC 内の IP アドレスをサポートします。 リモート IP を有効にした場合、他の VPC やオンプレミスデータセンターからの IP アドレスも追加できます。
-
[Function Compute タイプ]:Function Compute をバックエンドサービスとして使用します。 Function Compute サービスを有効化する必要があり、関数は ALB インスタンスと同じリージョン内にある必要があります。
-
[FQDN]:ドメイン名をバックエンドサービスとして使用します。 ALB はドメイン名を解決し、リクエストを転送します。 ALB Extensible Edition インスタンスでのみサポートされます。
-
[AI サービス]:LLM サービスをバックエンドサービスとして使用します。 ALB Extensible Edition インスタンスでのみサポートされます。
-
[MCP サービスタイプ]:MCP サーバー、Function Compute、または REST API をバックエンドサービスとして使用して、エージェントに統一された MCP サービスエンドポイントを提供します。 ALB Extensible Edition インスタンスでのみサポートされており、MCP プロキシコンポーネントを含むサービス拡張が必要です。
これはホワイトリスト機能です。 この機能を使用するには、アカウントマネージャーにお問い合わせください。
-
[IP アドレス範囲]:特定のバックエンドサーバーを登録しません。 許可する宛先 IP アドレス範囲とポート範囲を設定するだけです。 ALB はリクエストコンテンツから宛先アドレスを動的に抽出し、リクエストを転送します。 ALB Extensible Edition インスタンスでのみサポートされており、動的転送コンポーネントを含むサービス拡張が必要です。
-
-
[Extensible インスタンス用]:オプション。 サーバー、IP、または Function Compute タイプのサーバーグループを作成するときに、ALB Extensible Edition インスタンスのリスナーまたは転送ルールにアタッチする場合は、このオプションを選択します。
-
[サーバーグループ名]:サーバーグループのカスタム名を入力します。
-
[VPC]:サーバーグループが属する VPC です。 この VPC 内のバックエンドサーバーのみがこのサーバーグループに追加できます。
IP タイプのサーバーグループの場合、リモート IP を有効にすると、バックエンドサーバーはこの VPC に限定されませんが、VPC ネットワークから到達できる必要があります。
このパラメーターは、サーバータイプおよび IP タイプのサーバーグループでのみ設定が必要です。
-
[バックエンドサーバープロトコル]:ALB インスタンスとバックエンドサーバー間の通信に使用するプロトコルを選択します。
-
[HTTP] (デフォルト):HTTP、HTTPS、および QUIC リスナーに適しています。 ALB インスタンスは HTTP を使用してバックエンドサーバーと通信します。
-
HTTPS:HTTPS および HTTP リスナーに適しています。 ALB インスタンスは HTTPS を使用してバックエンドサーバーと暗号化通信を行います。
-
[gRPC]:HTTPS リスナーに適しています。 HTTP/2 を有効にする必要があります。 ALB インスタンスは gRPC プロトコルを使用してバックエンドサーバーと通信します。
Function Compute、AI サービス、または MCP サービスのサーバーグループでは、このパラメーターを設定する必要はありません。 IP アドレス範囲のサーバーグループは、HTTP バックエンドプロトコルのみをサポートしています。
Basic ALB インスタンスの HTTPS リスナーは、HTTPS バックエンドプロトコルをサポートしていません。
ALB Extensible Edition インスタンスは、gRPC バックエンドプロトコルをサポートしていません。
-
-
[DNS サーバ設定]:FQDN および AI サービスサーバーグループでのみ必要です。 バックエンドのドメイン名を解決するために使用する DNS サーバーを指定します。内部 DNS アドレスを自動入力 をクリックすると、Alibaba Cloud 内部 DNS アドレスが自動的に入力されます。
DNS サーバーアドレスは、
100.100.2.136:53のように、IPv4 アドレスとポートで指定します。22.0.0.0/8および33.0.0.0/8の CIDR ブロックはサポートされていません。デフォルトでは、サーバーグループは最大 5 つの DNS サーバーアドレスをサポートしています。
-
[サービス拡張の関連付け]:
-
[IP アドレス範囲]サーバーグループ:サービス拡張を関連付ける必要があります。 デフォルトで有効になっており、無効にすることはできません。 このタイプのサーバーグループは、動的転送コンポーネントに依存してリクエストコンテンツから宛先アドレスを抽出します。 このコンポーネントを含むサービス拡張を関連付けなければ、サーバーグループを作成できません。
-
[サーバタイプ]および [IP タイプ]サーバーグループ:Extensible インスタンス用 を選択した場合にのみ設定可能です。 有効にすると、負荷認識ルーティングコンポーネントを含むサービス拡張のみを関連付けることができます。これにより、バックエンドサーバーのリアルタイムの負荷を検知し、インテリジェントなトラフィックスケジューリングを可能にします。
サービス拡張は、次の 2 つの方法のいずれかで関連付けることができます:
-
[テンプレートからクイック作成]:該当するコンポーネントのテンプレートを選択してサービス拡張を作成し、現在のサーバーグループに関連付けます。 作成前にコンポーネント設定を変更できます。
-
[既存のサービス拡張を使用する]:該当するコンポーネントを含む既存のサービス拡張を選択します。
-
-
[スケジューリングアルゴリズム]:リクエストの分散戦略を選択します。
-
[重み付けラウンドロビン]:重み比に基づいてリクエストを分散します。 重みが大きいバックエンドサーバーほど、より多くのリクエストを受信します。
-
[重み付け最小接続]:重みとアクティブな接続数の両方に基づいてリクエストを分散します。 同じ重みのサーバー間では、現在の接続数が最も少ないサーバーが次のリクエストを受信します。
-
[コンシステントハッシュ]:ハッシュキーに基づいて、同じ特性を持つリクエストを同じバックエンドサーバーにルーティングします。
[ハッシュ要素の選択]:
-
[送信元 IP]:クライアントの送信元 IP アドレスに基づいてハッシュ化します。
-
[URL 設定]:指定された URL パラメーターの値に基づいてハッシュ化します。 指定された URL を入力する必要があります。
指定された URL には、リクエスト URL からクエリパラメーターの名前 (
useridやsessionidなど) を入力します。 ALB はこのパラメーターの値をハッシュ化して、同じパラメーター値を持つリクエストを同じバックエンドサーバーにルーティングします。たとえば、指定された URL を
useridに設定した場合、?userid=123を含むリクエストは常に同じバックエンドサーバーにルーティングされます。 この方法は、ショッピングカートセッションのバインドやキャッシュヒット率の最適化など、セッション維持を必要とするシナリオで役立ちます。ハッシュベースの分散の効果を最大化するために、サーバーグループに 2 つ以上のバックエンドサーバーを追加することを推奨します。
-
このパラメーターは、サーバータイプおよび IP タイプのサーバーグループでのみ設定が必要です。
-
-
[タグとリソースグループ]:オプション。 サーバーグループを分類および管理するために使用します。
-
[タグキー]および[タグ値]:キーと値のペアでサーバーグループにタグを付けます。
-
[リソースグループ]:サーバーグループが属するリソースグループです。 デフォルトでは、デフォルトのリソースグループが使用されます。
-
-
[バックエンドの持続的接続]:デフォルトで有効です。 有効にすると、ALB はバックエンドサーバーとの永続的な TCP 接続を維持します。 新しいリクエストは可能な限り既存の接続を再利用するため、レイテンシーを短縮し、バックエンドサーバーの負荷を軽減します。
このパラメーターは、サーバータイプおよび IP タイプのサーバーグループでのみ設定が必要です。
-
[ヘルスチェック]:デフォルトで有効です。 バックエンドサーバーの可用性を検出します。
このパラメーターは、サーバー、IP、および Function Compute タイプのサーバーグループでのみ設定が必要です。 ヘルスチェックは、Function Compute サーバーグループではデフォルトで無効になっています。 有効にした場合、ヘルスチェックプローブは Function Compute リクエストとしてカウントされて、料金が発生します。
ALB Extensible Edition インスタンスは、現在 HTTP および TCP ヘルスチェックプロトコルのみをサポートしています。
-
[高度なヘルスチェック設定]:クリックして設定を展開します。 パラメーターの説明については、「ALB のヘルスチェック」をご参照ください。
-
[ヘルスチェックの選択と読み込み]:既存のヘルスチェックテンプレートを選択し、その設定を読み込みます。
サーバーグループやリスナーに関連付けられていないヘルスチェックテンプレートを、将来使用するために作成できます。
サーバーグループは、1 つのヘルスチェックのみをサポートしています。
-
-
サーバーグループの削除
サーバーグループは、リスナーの転送ルールに関連付けられていない場合にのみ削除できます。 サーバーグループを削除しても、そのバックエンドサーバーには影響しません。
ALB コンソールの [サーバーグループ] ページに移動します。 削除するサーバーグループを見つけます。 操作 列で
アイコンを選択し、削除 を選択してから OK をクリックします。
API
-
CreateServerGroup API を呼び出してサーバーグループを作成します。
-
DeleteServerGroup API を呼び出して、サーバーグループを削除します。
バックエンドサーバーの追加と削除
バックエンドサーバーを追加する前に、アプリケーションがサーバーにデプロイされていることを確認してください。
-
バックエンドサーバーが、セキュリティグループルール、iptables、またはその他のセキュリティソフトウェアによって以下のアドレスがブロックされていないことを確認してください:
-
アップグレードされた ALB インスタンスは、vSwitch CIDR ブロックのプライベート IP アドレス (ローカル IP) を通信に使用します。 これらの IP アドレスは、インスタンス詳細ページで確認できます。
-
アップグレードされていない ALB インスタンスは、100.64.0.0/10 CIDR ブロックを使用してバックエンドサーバーと通信します。
-
-
バックエンドサーバーの設定で、ループを引き起こす転送パスが作成されないようにしてください。
バックエンドサーバーの追加
サーバータイプ
-
霊駿 ENI を追加できます。
-
Extensible インスタンス用 を選択すると、負荷感知ルーティングコンポーネントを含むサービス拡張を関連付けて、バックエンドサーバーのリアルタイムの負荷を感知してインテリジェントなトラフィックスケジューリングを有効にできます。
-
ALB コンソールの [サーバーグループ] ページに移動します。 対象のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。
-
バックエンドサーバー タブで、バックエンドサーバーの追加 をクリックします。 バックエンドサーバーの追加 パネルで、サーバータイプ を ECS、Elastic Network Interface (ENI)、または ECI に設定し、対象のバックエンドサーバーを選択して、次へ をクリックします。
-
利用可能なバックエンドサーバーがない場合は、サーバーリストの右上隅にあるボタンをクリックして購入または作成します。
-
ENI を追加するには、ECS インスタンスにバインドされていることを確認してください。 詳細については、「セカンダリ ENI のバインド」をご参照ください。
-
-
ポート/重み ページで、追加したサーバーのポートと重みを設定し、OK をクリックします。
-
[ポート]:バックエンドサーバーのサービスポート。
-
[重み]:サーバーに分散されるトラフィックの割合。 有効な値:0~100。 デフォルト値:100。
たとえば、サーバーグループに重みが 100、50、50 の 3 つのサーバーが含まれている場合、リクエストは 2:1:1 の比率で分散されます。 重みが 100 のサーバーはリクエストの 50% を受信し、他の 2 つのサーバーはそれぞれリクエストの 25% を受信します。
説明-
セッション維持が有効になっている場合、バックエンドサーバー間のリクエスト分散が不均一になることがあります。
-
サーバーの重みが 0 に設定されている場合、そのサーバーは新しいリクエストを受信しなくなります。
-
ヘルスチェックに失敗したサーバーはトラフィックを受信しません。 リクエストは、残りの正常なサーバーに重みの比率に基づいて分散されます。
-
サーバーグループ内のすべてのサーバーが異常な場合でも、ALB はサービスの停止を最小限に抑えるために、サーバーの重みに基づいてトラフィックを分散しようとします。
-
一括操作
-
複数のサーバーを選択し、リストの下部にある 同じポートを設定、同じ重みを設定、または バッチ削除 を使用します。
-
ポートまたは重みの入力ボックスの右側にカーソルを合わせ、下方向へコピー、上方向へコピー、または すべてコピー を選択して、現在の値を他のサーバーにすばやく適用できます。
-
ポート または 重み の列見出しの右側にある リセット をクリックして、すべてのサーバーポートをクリアするか、すべての重みをデフォルト値に戻します。
-
Function Compute タイプ
Function Compute 2.0 と 3.0 の両方に対応しています。 ALB は Alibaba Cloud 内部ネットワーク経由で Function Compute と安全に通信します。
ALB Extensible Edition インスタンスは Function Compute 3.0 のみに対応しています。
使用する前に Function Compute サービスをアクティブ化する必要があります。 2024 年 8 月 27 日以降に登録し、本人確認を完了した Alibaba Cloud アカウントは、アクティブ化なしで直接サービスを使用できます。
制限事項
-
ALB インスタンスと関数は同じリージョンにある必要があります。
-
Function Compute タイプのサーバーグループには、1 つの関数しか含めることができません。
-
Function Compute 2.0 の場合、[ハンドラタイプ] が [イベントハンドラー] に設定されている場合は、HTTP トリガーを設定して関数を ALB インスタンスに関連付けてください。
-
ALB コンソールの [サーバーグループ] ページに移動します。 対象のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。
-
バックエンドサーバー タブで、関数の追加 をクリックします。 バックエンドサーバーの追加 パネルで、次のいずれかの方法で関数を設定し、OK をクリックします。
-
[{value, select, service {サービス} arn {ARN}} other { {value}]
-
[関数名]:既存の関数を選択します。 利用可能な関数がない場合は、関数を作成 をクリックします。 詳細については、「関数の作成」をご参照ください。
-
[バージョン / エイリアス]:バージョンを指定 または エイリアスを設定 を選択します。 デフォルトでは、新しく作成された関数には LATEST バージョンしかありません。
-
-
ARN で設定
-
[ARN]:対象の関数の Alibaba Cloud リソースネーム (ARN) を入力します。 Function Compute コンソールの関数詳細ページから関数 ARN を取得できます。
-
-
IP タイプ
-
リモート IP が無効な場合、現在の VPC CIDR ブロックの IP アドレスのみを追加できます。 リモート IP が有効な場合、他の VPC またはオンプレミスデータセンターの IP アドレスも追加できます。
-
Extensible インスタンス用 を選択すると、負荷感知ルーティングコンポーネントを含むサービス拡張を関連付けて、バックエンドサーバーのリアルタイムの負荷を感知してインテリジェントなトラフィックスケジューリングを有効にできます。
2025 年 2 月 25 日 00:00:00 (UTC+8) 以降、新規作成されるインスタンスはデフォルトでアップグレード版の ALB を使用します。既存の ALB インスタンスは、セルフサービスアプリケーションを通じて作成されたインスタンスを除き、影響を受けません。詳細については、「Application Load Balancer (ALB) インスタンスのアップグレードに関するお知らせ」をご参照ください。
制限
アップグレードされていない ALB インスタンスは、同じ VPC からの ALB、Network Load Balancer (NLB)、または Classic Load Balancer (CLB) インスタンスの IP タイプのサーバーグループへの追加に対応していません。 同じ VPC からこれらのリソースを追加する必要がある場合は、潜在的なサービスの問題を回避するために、アップグレードされた ALB インスタンスを使用していることを確認してください。
アップグレード済み
バックエンドサーバーの制限事項
-
プライベート IP アドレスのみに対応しています。 パブリック IP アドレスには対応していません。
-
[IP プロトコルバージョン] を [IPv4/IPv6 デュアルスタック] に設定した場合、サーバーグループの VPC CIDR ブロックから IPv6 アドレスのみを追加できます。 リモート IP を有効にすることはできません。
ALB とバックエンドサーバー間の転送設定の制限事項
-
Enterprise Edition のトランジットルーターを使用する場合、指定されたアベイラビリティゾーンの vSwitch 上に Elastic Network Interface (ENI) が作成されます。 この ENI は、VPC からトランジットルーターへのトラフィックの入口として機能します。 VPC を作成する際は、VPC をトランジットルーターに接続するために、指定されたアベイラビリティゾーンに少なくとも 1 つの vSwitch を作成してください。 詳細については、「トランジットルーターの仕組み」をご参照ください。
-
ALB インスタンスとそのバックエンドサーバー間のトラフィックは、システムルートテーブルを介してのみ転送できます。 VPC のカスタムルートテーブルには対応していません。
未アップグレード
バックエンドサーバーの制限事項
-
クロスリージョンのバックエンドサーバーは、IP タイプのサーバーグループでのみサポートされます。
-
プライベート IP アドレスのみに対応しています。 パブリック IP アドレスには対応していません。
-
同じ VPC からの ALB、NLB、または CLB インスタンスを追加することはできません。
ALB とバックエンドサーバー間の転送設定の制限事項
-
リモート IP 転送には、Enterprise Edition のトランジットルーターまたは Express Connect を使用できます。 Basic Edition のトランジットルーターには対応していません。
Enterprise Edition のトランジットルーターを使用する場合、指定されたアベイラビリティゾーンの vSwitch 上に Elastic Network Interface (ENI) が作成されます。 この ENI は、VPC からトランジットルーターへのトラフィックの入口として機能します。 VPC を作成する際は、VPC をトランジットルーターに接続するために、サポートされているアベイラビリティゾーンに少なくとも 1 つの vSwitch を作成してください。 詳細については、「Enterprise Edition のトランジットルーターをサポートするリージョンとゾーン」をご参照ください。
-
-
ALB インスタンスとそのバックエンドサーバー間のトラフィックは、システムルートテーブルを介してのみ転送できます。 VPC のカスタムルートテーブルには対応していません。
-
ALB コンソールの [サーバーグループ] ページに移動します。 対象のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。
-
バックエンドサーバー タブで、IP アドレスの追加 をクリックします。 バックエンドサーバーの追加 パネルで、バックエンドサーバーの IP アドレスを入力し、次へ をクリックします。
-
リモート IP アドレス を有効にすると、10.0.0.0/8、100.64.0.0/10、172.16.0.0/12、および 192.168.0.0/16 のプライベート CIDR ブロックから IP アドレスを入力できます。
-
リモート IP アドレス を有効にしない場合、現在の VPC の CIDR ブロックからのみ IP アドレスを入力できます。
-
複数のバックエンドサーバーを追加するには、IP アドレスの追加 をクリックします。
-
-
ポート/重み ページで、ポートと重みを設定し、OK をクリックします。
-
[ポート]:バックエンドサーバーがサービスを提供するポート。
-
[重み]:サーバーに分散されるトラフィックの割合。 有効な値:0~100。 デフォルト値:100。
たとえば、サーバーグループに重みが 100、50、50 の 3 つのサーバーが含まれている場合、リクエストは 2:1:1 の比率で分散されます。 重みが 100 のサーバーはリクエストの 50% を受信し、他の 2 つのサーバーはそれぞれリクエストの 25% を受信します。
説明-
セッション維持が有効になっている場合、バックエンドサーバー間のリクエスト分散が不均一になることがあります。
-
サーバーの重みが 0 に設定されている場合、そのサーバーは新しいリクエストを受信しなくなります。
-
ヘルスチェックに失敗したサーバーはトラフィックを受信しません。 リクエストは、残りの正常なサーバーにその重み比に基づいて分散されます。
-
サーバーグループ内のすべてのサーバーが異常な場合でも、ALB はサービスの停止を最小限に抑えるために、サーバーの重みに基づいてトラフィックを分散しようとします。
-
一括操作
-
複数のサーバーを選択し、リストの下部にある 同じポートを設定、同じ重みを設定、または バッチ削除 を使用します。
-
ポートまたは重みの入力ボックスの右側にカーソルを合わせ、下方向へコピー、上方向へコピー、または すべてコピー を選択して、現在の値を他のサーバーにすばやく適用できます。
-
ポート または 重み の列見出しの右側にある リセット をクリックして、すべてのサーバーポートをクリアするか、すべての重みをデフォルト値に戻します。
-
DNS
ドメイン名をバックエンドサービスとして追加します。 ALB はドメイン名を解決し、解決されたアドレスにリクエストを転送します。 詳細なチュートリアルについては、「ALB Extensible Edition を使用して OSS で静的 Web サイトをホストする」をご参照ください。
DNS タイプのサーバーグループは、ALB Extensible Edition インスタンスでのみサポートされます。
制限事項
-
デフォルトでは、DNS タイプのサーバーグループは最大 10 個のドメイン名をサポートします。 この制限を増やすには、アカウントマネージャーにお問い合わせください。
-
ALB とバックエンドドメイン名の解決済みアドレスとの間のネットワーク接続を確保する必要があります。
-
Alibaba Cloud 内部 DNS、カスタム DNS サーバー、および PrivateZone 解決に対応しています。 DNS サーバーは、サーバーグループの DNS サーバ設定 で指定します。
-
DNS タイプのバックエンドサービスは重み設定に対応していません。 重みは 100 に固定されます。
-
ALB コンソールの [サーバーグループ] ページに移動します。 対象のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。
-
バックエンドサーバー タブで、DNS 名の追加 をクリックします。 次のパラメーターを設定し、OK をクリックします。
-
[DNS 名]:バックエンドサービスのドメイン名 (例:
static.example.com) を入力します。 -
[ポート]:バックエンドサービスがサービスを提供するポート。
-
AI サービス
LLM サービスをバックエンドサービスとして追加します。 ALB がリクエストを転送する際、ID 資格情報から API キーを自動的に含めて認証を完了します。 詳細なチュートリアルについては、「ALB Extensible Edition を使用して複数の LLM サービスを統一的に呼び出す」をご参照ください。
AI サービスタイプのサーバーグループは、ALB Extensible Edition インスタンスでのみサポートされます。
制限事項
-
AI サービスタイプのサーバーグループは、1 つの AI サービスにのみ対応しています。
-
サービスを追加する前に、LLM サービスの API キーのID 資格情報を作成する必要があります。
-
デフォルトでは、AI サービスは最大 10 個の ID 資格情報に関連付けることができます。
-
AI サービスタイプのバックエンドサービスでは、ポートまたは重みの設定は不要です。
-
ALB コンソールの [サーバーグループ] ページに移動します。 対象のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。
-
バックエンドサーバー タブで、AI サービスの追加 をクリックします。 次のパラメーターを設定し、OK をクリックします。
-
[モデルプロバイダ]:LLM サービスのプロバイダーを選択します。
-
[エンドポイント]:LLM プロバイダーを選択すると自動的に入力されます。 手動で変更することもできます。
-
[認証情報]:1 つ以上の既存の ID 資格情報を選択します。 ALB は、選択された ID 資格情報から API キーを選択して LLM サービスと通信します。 複数の資格情報を設定することで、単一の API キーの呼び出しクォータを分散し、サービスの可用性を向上させます。
-
[API キーヘルスチェック]:このオプションを有効にすることを推奨します。 有効にすると、バックエンドが
401または429のステータスコードを返した場合、ALB は対応する API キーを自動的に削除し、リクエストは他の利用可能な API キーによって処理されます。
API キーの資格情報の場所は HTTP ヘッダー に固定されています。 パラメーター名とプレフィックスは事前設定された値であり、変更できません。
-
MCP サービス
MCP サーバー、Function Compute、または REST API をバックエンドサービスとして追加します。 ALB は MCP ダイレクトプロキシまたは MCP から OpenAPI へのプロトコル変換を実行し、エージェントに統一されたサービスエンドポイントを提供します。 詳細なチュートリアルについては、「ALB Extensible Edition を使用して MCP サービスを管理する」をご参照ください。
MCP サービスタイプのサーバーグループは、ALB Extensible Edition インスタンスでのみサポートされ、MCP プロキシコンポーネントを含むサービス拡張が必要です。 これはホワイトリスト機能です。 ご利用については、アカウントマネージャーにお問い合わせください。
制限事項
-
単一の MCP サービスタイプのサーバーグループは、MCP サーバー、Function Compute、および REST API の混在に対応しています。
-
同じサーバーグループ内では、サービス名、MCP サーバーと REST API から解決されるアクセスエンドポイント、および Function Compute の ARN は、それぞれ一意である必要があります。
MCP サービスノードは、
http://またはhttps://で始まるドメイン名アドレスである必要があります。IP アドレス、localhost、および127.0.0.1はサポートされていません。-
ストリーマブル HTTP と SSE のアクセス方法の混在には対応していますが、それらの間のプロトコル変換には対応していません。 ALB とバックエンドは同じアクセス方法を使用する必要があります。
-
OpenAPI 設定は OpenAPI 3.0 および Alibaba Cloud OpenAPI に対応し、スキーマは 1 つのアクセスエンドポイントのみに対応しています。 スキーマをエディターに直接入力するか、ローカルの OpenAPI ファイルをインポートできます。 最大ファイルサイズは 1 MB です。
-
転送ルールの [転送先] アクションでは、MCP サービスタイプのサーバーグループを 1 つのみ選択でき、他のタイプのサーバーグループと一緒に選択することはできません。 リスナーのデフォルト転送ルールは、MCP サービスタイプのサーバーグループへの転送に対応していません。
-
ALB コンソールの [サーバーグループ] ページに移動します。 対象のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。
-
バックエンドサーバー タブで、MCP サービスを追加 をクリックします。 次のパラメーターを設定し、OK をクリックします。
-
[サービス名]:MCP サービスの名前を入力します。 サーバーグループ内で一意である必要があります。
-
[サービスタイプ]:バックエンドサービスの形式を選択します。
-
[MCP サーバ]:ALB はバックエンドの MCP サービスを直接プロキシします。 MCP サービスエンドポイント を入力し、アクセス方式 (ストリーマブル HTTP または SSE) を選択する必要があります。
-
[Function Compute]:ALB は MCP プロトコルを OpenAPI に変換して Function Compute と通信します。 Function Compute ARN を入力し、OpenAPI 設定 を完了する必要があります。
-
[REST API]:ALB は MCP プロトコルを OpenAPI に変換してバックエンドの REST API と通信します。 OpenAPI 設定 を完了する必要があります。
-
-
[送信認証]:ALB がバックエンドサービスにアクセスするために使用する認証方法を設定します。 MCP サーバ は 認証なし に対応しています。 Function Compute は追加設定なしで RAM ロール に対応しています。 REST API は API Key に対応しており、認証情報の場所 を指定できます。 API キーを使用する場合は、まず API キーのID 資格情報を作成する必要があります。
バックエンド MCP サービスのアクセスエンドポイントは変更されないが、そのツールリストが変更された場合は、バックエンドサーバーリストで対象のサービスを見つけ、[操作] 列の [同期] をクリックして、ALB に最新のツールリストを取得させます。
-
IP アドレス範囲
このタイプのサーバーグループでは、特定のバックエンドサーバーを登録する必要はありません。 許可された宛先 IP アドレス範囲とポート範囲を設定するだけです。 ALB はリクエストコンテンツから宛先アドレスを抽出し、許可された範囲内にあるかどうかを検証してからリクエストを転送します。 詳細なチュートリアルについては、「ALB Extensible Edition を使用して動的転送を実装する」をご参照ください。
IP アドレス範囲のサーバーグループは、ALB Extensible Edition インスタンスでのみサポートされ、動的転送コンポーネントを含むサービス拡張が必要です。
制限事項
-
デフォルト拒否ポリシーが使用されます。 リクエストは、その宛先アドレスがエントリの IP アドレス範囲とポート範囲の両方に一致する場合にのみ転送されます。 一致しないリクエストは
403を返します。 -
IP アドレス範囲は、IPv4 と IPv6 の両方で CIDR 形式に対応しています。 単一のアドレスを指定するには、IPv4 の場合は
/32マスク、IPv6 の場合は/128マスクを使用します。 -
22.0.0.0/8、33.0.0.0/8、100.0.0.0/8、127.0.0.0/8などの予約済み CIDR ブロックには対応していません。 -
ポート範囲は、単一のポートまたは連続した範囲 (例:
80または8080-8090) に対応しています。 有効な値:1~65535。 開始ポートは終了ポートより大きくすることはできません。 -
デフォルトでは、IP アドレス範囲のサーバーグループは最大 200 個の IP アドレス範囲エントリをサポートします。
-
IP アドレス範囲エントリは重み設定に対応していません。
-
ALB コンソールの [サーバーグループ] ページに移動します。 対象のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。
-
バックエンドサーバー タブで、IP アドレス範囲の追加 をクリックします。 次のパラメーターを設定し、OK をクリックします。
-
[IP アドレス範囲]:許可する宛先 IP アドレス範囲 (例:
192.168.1.0/24) を入力します。 -
[ポート範囲]:このアドレス範囲に許可する宛先ポート範囲 (例:
6000-6010) を入力します。
-
バックエンドサーバーの削除
削除されたサーバーは、転送されたリクエストを処理しなくなります。
サーバーを直接削除すると、サービスが中断される可能性があります。 サーバーを削除する前に、その重みを 0 に設定することを推奨します。
-
ALB コンソールの [サーバーグループ] ページに移動します。 対象のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。
-
バックエンドサーバー タブで、削除するバックエンドサーバーを見つけます。 操作 列で 削除 をクリックし、OK をクリックします。
API
-
AddServersToServerGroup API を呼び出して、サーバーグループにバックエンドサーバーを追加します。
-
RemoveServersFromServerGroup API を呼び出して、サーバーグループからバックエンドサーバーを削除します。
セッション維持
同一クライアントからの複数のリクエストを同じバックエンドサーバーで処理する必要がある場合 (ショッピングカートやログイン状態など) 、セッション維持を有効にします。
[セッション維持]:デフォルトでは無効です。有効にすると、ALB は同じクライアントからのリクエストを同じバックエンドサーバーにルーティングします。
Function Compute のサーバーグループでは、このパラメーターを設定する必要はありません。
サーバータイプおよびIP タイプのサーバーグループでのみサポートされます。ALB Extensible Edition インスタンスはサポートされません。
クロスゾーン負荷分散が無効な場合、セッション維持はサポートされません。
コンソール
サーバーグループの作成または編集時に、セッション維持を有効にし、クッキー処理方式を選択します。
-
[Cookie の持続性]:
-
[Cookie の挿入]:ALB は SERVERID という名前のクッキーを生成し、レスポンスに追加します。このクッキーを含むリクエストは、同じバックエンドサーバーに転送されます。[セッション持続性のタイムアウト期間]は 1~86,400 秒です。
-
[Cookie の上書き]:ALB はユーザー定義クッキーの値を書き換えます。[Cookie] 名を指定する必要があります。
-
API
CreateServerGroup または UpdateServerGroupAttribute を呼び出す際に、StickySessionConfig を使用してセッション維持を設定します。
詳細については、「Configure session persistence」をご参照ください。
サーバーのグレースフル起動とシャットダウン
スロースタート
新しく追加されたバックエンドサーバーは、キャッシュのウォームアップやコネクションプールの確立などの要因により、すぐにすべてのトラフィック負荷を処理できない場合があります。スロースタートを有効にすると、ALB インスタンスは指定された期間にわたって新しいサーバーに送信されるリクエスト数を徐々に増加させます。これにより、完全に準備が整っていないサーバーがトラフィックの急増で過負荷になることを防ぎます。
この機能は、スケジューリングアルゴリズムが 重み付きラウンドロビン に設定されている場合にのみサポートされます。
Standard Edition および WAF 対応の ALB インスタンスのみでサポートされます。Basic Edition および Extensible Edition の ALB インスタンスはサポートされていません。
Function Compute タイプのサーバーグループでは、このパラメータを構成する必要はありません。
コンソール
サーバーグループを作成または編集する場合、スロースタート を有効にします。 スロースタートの持続時間 を 30~900 秒の値に設定します。 デフォルトは 30 秒です。 期間が終了すると、通常のトラフィック分散が再開されます。
API
CreateServerGroup または UpdateServerGroupAttribute を呼び出す際、SlowStartConfig パラメータを使用してスロースタートを構成します。
スロースタートの動作:
-
サーバーグループ内の既存の正常なバックエンドサーバーは、自動的にスロースタートモードに入りません。空のサーバーグループに追加された最初のバックエンドサーバーも、スロースタートモードに入りません。新しいバックエンドサーバーがスロースタートモードに入るのは、スロースタートモードでない正常なバックエンドサーバーが少なくとも 1 つあるサーバーグループに追加された場合のみです。
-
スロースタートモード中のバックエンドサーバーが削除されると、スロースタートモードを終了します。同じバックエンドサーバーが再度追加された場合、ヘルスチェックに合格した後、再びスロースタートモードに入ります。
-
スロースタートモード中のバックエンドサーバーは、ヘルスチェックに失敗するとスロースタートモードを終了します。ヘルスチェックのステータスが正常に戻った後、再びスロースタートモードに入ります。
-
ヘルスチェックが有効になっている場合、スロースタートはバックエンドサーバーがヘルスチェックに合格した後に有効になります。ヘルスチェックが無効になっている場合、スロースタートは直ちに有効になります。
詳細については、「スロースタートの構成」をご参照ください。
コネクションドレイニング
バックエンドサーバーが削除されるか、ヘルスチェックに失敗した場合、デフォルトでは、既存の接続は、クライアントが能動的に切断するか、セッションが期限切れになったときにのみ終了されます。コネクションドレイニングを使用すると、これらの接続は終了される前に、指定されたタイムアウト時間内に処理を完了できるため、グレースフルシャットダウンを保証します。
この機能は、Standard Edition および WAF 対応の ALB インスタンスのみでサポートされます。Basic Edition および Extensible Edition の ALB インスタンスは、この機能をサポートしていません。
Function Compute サーバーグループでは、このパラメータを構成する必要はありません。
コンソール
サーバーグループを作成または編集するときは、グレースフル・シャットダウン を有効にし、グレースフル・シャットダウンのタイムアウト を設定します。 タイムアウト期間は 0~900 秒の範囲で設定できます。 値を 0 に設定すると、接続はすぐに中断されます。 デフォルトは 300 秒です。
API
CreateServerGroup または UpdateServerGroupAttribute を呼び出す際、ConnectionDrainConfig を使用してコネクションドレイニングを構成します。
詳細については、「コネクションドレイニングの構成」をご参照ください。
ゾーン間の遅延の削減
デフォルトでは、ALB インスタンスは同じリージョン内の異なるアベイラビリティーゾーンのバックエンドサーバー間でトラフィックを分散します。レイテンシーの影響を受けやすく、各アベイラビリティーゾーンに十分なバックエンドサーバーリソースがある場合は、クロスゾーン負荷分散を無効にできます。これにより、トラフィックは同じアベイラビリティーゾーン内のバックエンドサーバー間でのみ分散され、ゾーン間のネットワーク遅延が削減されます。
この機能を無効にできるのは、Standard および WAF 対応の ALB インスタンスのみです。Basic Edition および Extensible Edition の ALB インスタンスは、この機能をサポートしていません。
リモート IP が有効になっている IP タイプ のサーバーグループでは、クロスゾーン負荷分散を無効にできません。
クロスゾーン負荷分散が無効になっている場合、セッション維持はサポートされません。
Function Compute タイプのサーバーグループでは、このパラメータを構成する必要はありません。
コンソール
サーバーグループを作成または編集する際、クロスゾーン負荷分散 を無効にします。
API
CreateServerGroup または UpdateServerGroupAttribute を呼び出す際、CrossZoneEnabled を false に設定してクロスゾーン負荷分散を無効にします (デフォルトは true)。
詳細については、「クロスゾーン負荷分散の無効化」をご参照ください。
IPv6 バックエンドサーバーの追加
サーバーグループに IPv6 バックエンドサーバーを追加する場合は、[IP プロトコルバージョン] を [IPv4/IPv6 デュアルスタック] に設定します。
-
この機能は、サーバタイプ および IP タイプ タイプのサーバーグループでのみ利用できます。 ALB Extensible Edition インスタンスはサポートされていません。
-
サーバーグループが属する VPC では、 IPv6 が有効になっている 必要があります。
-
[IP プロトコルバージョン] が [IPv4/IPv6 デュアルスタック] のサーバーグループは、デュアルスタックの ALB インスタンスの転送ルールにのみ追加できます。
-
[IP] タイプのサーバーグループの場合、ALB インスタンスは アップグレードされたインスタンス である必要があります。 この設定では、現在の VPC の IPv6 アドレスのみが利用でき、リモート IP を有効にすることはできません。
コンソール
サーバーグループを作成するときに、 [IP プロトコルバージョン] を [IPv4/IPv6 デュアルスタック] に設定します。
API
CreateServerGroup API を呼び出すときに、 Ipv6Enabled を true に設定します。 これは、[IP プロトコルバージョン] を [IPv4/IPv6 デュアルスタック] に設定することと同じです。
ヘルスチェック設定の編集
サーバーグループのヘルスチェック設定を変更します。
-
ヘルスチェックを無効にすると、ALB はバックエンドサーバーの障害を検出できなくなり、サーバーのヘルスステータスにかかわらず、登録されているすべてのサーバーにトラフィックをルーティングします。
-
ヘルスチェック間隔を長くすると、ALB が異常なサーバーを検出するまでの時間が長くなります。
コンソール
-
ALB コンソールでサーバーグループページに移動します。対象のサーバーグループを探し、操作 列のヘルスチェックの変更 をクリックします。
-
ヘルスチェックの変更 ダイアログボックスで、必要に応じてヘルスチェックを有効化または無効化し、有効にした場合は ヘルスチェック の右側にある 編集 をクリックしてパラメータを変更します。
API
UpdateServerGroupAttribute API を呼び出して、サーバーグループのヘルスチェック設定を更新します。
課金
サーバーグループ自体は無料です。ただし、ALB インスタンス およびサーバーグループに追加されたバックエンドサーバーは、それぞれの課金ルールに基づいて料金が発生します。
クォータ
|
クォータ名 |
説明 |
デフォルト値 |
最大値 |
調整可能 |
|
alb_quota_loadbalancer_servers_num_basic_edition |
Basic Edition の ALB インスタンスに追加できるバックエンドサーバーの数 |
200 |
400 |
|
|
alb_quota_loadbalancer_servers_num_standard_edition |
Standard Edition の ALB インスタンスに追加できるバックエンドサーバーの数 |
1,000 |
1,500 |
|
|
alb_quota_loadbalancer_servers_num_standardwithwaf_edition |
WAF 有効化 ALB インスタンスに追加できるバックエンドサーバーの数 |
1,000 |
1,500 |
|
|
alb_quota_server_added_num |
バックエンドサーバー (IP アドレス別) を追加できるサーバーグループの数 |
200 |
300 |
|
|
alb_quota_servergroup_attached_num |
サーバーグループを関連付けることができる転送ルールの数 |
50 |
100 |
|
|
alb_quota_server_groups_weight |
転送ルールにおける単一サーバーグループの最大重み |
100 |
10,000 |
アカウントマネージャーにお問い合わせください |
|
alb_quota_loadbalancer_servers_num_extensible_edition |
ALB Extensible Edition インスタンスに追加できるバックエンドサーバーの数 |
1,000 |
- |
- |
|
alb_quota_fqdn_servergroup_servers_num |
DNS タイプのサーバーグループに追加できるバックエンドサーバーの数 |
10 |
- |
- |
|
alb_quota_dns_servers_num |
サーバーグループに設定できる DNS サーバーアドレスの数 |
5 |
- |
- |