スケーリンググループをロードバランサーインスタンスに関連付けることで、スケーリンググループ内の複数のインスタンスにインバウンドトラフィックを分散させることができます。これにより、スケーリンググループのサービス機能が向上します。ロードバランサーインスタンスの追加と削除は、Auto Scaling コンソールまたは AttachLoadBalancers や DetachLoadBalancers などの API を呼び出すことで実行できます。
背景情報
このトピックでは、Classic Load Balancer (CLB) を例として使用します。スケーリンググループをロードバランサーインスタンスに関連付けると、インスタンスが Auto Scaling によって自動的に作成されたか、手動でスケーリンググループに追加されたかに関わらず、インスタンスは自動的にロードバランサーのバックエンドサーバーとして追加されます。ロードバランサーは、トラフィック分散やヘルスチェックなどの設定されたポリシーに従って、スケーリンググループ内のインスタンスにトラフィックをルーティングします。これにより、リソースの可用性と弾力性が向上します。詳細については、「ロードバランシングの概要」をご参照ください。
ロードバランシングの概要
Server Load Balancer (SLB) は、複数のバックエンドサーバーに受信トラフィックを分散させるサービスです。この分散により、アプリケーションのスループットが向上し、単一障害点 (SPOF) が排除され、アプリケーションの可用性が向上します。詳細については、「SLB 製品ファミリーの概要」をご参照ください。
Alibaba Cloud Server Load Balancer (SLB) は、Application Load Balancer (ALB)、Network Load Balancer (NLB)、Classic Load Balancer (CLB) の 3 種類のロードバランサーを提供します。
|
タイプ |
説明 |
関連ドキュメント |
|
ALB |
レイヤー 7 向けに設計された ALB は、強力な処理能力と高度なコンテンツベースのルーティング機能を提供します。 |
|
|
NLB |
NLB は、Internet of Everything (IoE) 時代に向けて設計された新世代のレイヤー 4 ロードバランサーです。超高性能と自動弾力性をサポートしています。単一のインスタンスで最大 1 億の同時接続を処理でき、高同時実行サービスを容易に管理できます。 |
|
|
CLB |
CLB は TCP、UDP、HTTP、HTTPS をサポートしています。堅牢なレイヤー 4 と基本的なレイヤー 7 の処理能力を提供します。仮想サービスアドレスを使用して、リージョン内の複数のインスタンスを高性能で可用性の高いアプリケーションサービスプールにグループ化します。 |
このセクションでは、Classic Load Balancer (CLB) を例として使用します。このロードバランシングサービスは、CLB インスタンス、リスナー、バックエンドサーバーを組み合わせて、トラフィックの分散と制御を行います。次の 3 つのコンポーネントで構成されています。
Application Load Balancer (ALB) は主に、ALB インスタンス、リスナー (ロードバランサーの最小サービス単位)、サーバーグループ (複数のバックエンドサーバーを含む論理グループ) の 3 つのコンポーネントで構成されています。詳細については、「」および「ALB サーバーグループ」をご参照ください。
|
コンポーネント |
説明 |
関連ドキュメント |
|
Classic Load Balancer (CLB) インスタンス |
CLB サービスの実行中のインスタンスであり、トラフィックを受信し、バックエンドサーバーに分散します。 説明
Classic Load Balancer (CLB) に追加されたインスタンスのデフォルトの重みは 50 です。対応するロードバランサーインスタンスで重みを変更できます。詳細については、「デフォルトサーバーグループの管理」をご参照ください。 |
|
|
リスナー |
クライアントリクエストをチェックし、バックエンドサーバーに転送し、バックエンドサーバーのヘルスチェックを実行します。 |
|
|
バックエンドサーバー |
フロントエンドリクエストを受信するインスタンスのグループです。このプールには、インスタンスを個別に、または VServer グループやプライマリ/スタンバイサーバーグループを使用して一括で追加できます。 |
制限事項と前提条件
このトピックでは、Classic Load Balancer (CLB) を例として使用します。特に指定がない限り、このトピックでの「ロードバランサー」は CLB インスタンスを指します。
-
スケーリンググループをロードバランサーインスタンスまたはサーバーグループに関連付けた後、次の点にご注意ください:
-
関連付けられたロードバランサーインスタンスまたはサーバーグループが削除されると、その後のスケーリンググループのスケーリングアクティビティは失敗します。
-
Auto Scaling は、スケーリンググループに関連付けられているロードバランサーインスタンスまたはサーバーグループを定期的にスキャンします。ロードバランサーインスタンスまたはサーバーグループが削除された場合、Auto Scaling は自動的にスケーリンググループを削除されたリソースから関連付け解除します。
重要システムが削除されたロードバランサーインスタンスまたはサーバーグループを自動的に関連付け解除した後、その後のスケーリングアクティビティは、リソースが見つからないことによる失敗は発生しなくなります。
-
-
スケーリンググループのロードバランサーインスタンスを追加または削除する際は、次の点にご注意ください:
ロードバランサーインスタンスの追加
スケーリンググループにロードバランサーインスタンスを追加する際は、次の点にご注意ください:
-
AttachLoadBalancersリクエストの ForceAttach パラメーターが false の場合、システムはスケーリンググループ内の既存のインスタンスをロードバランサーのバックエンドサーバーとして追加しません。 -
AttachLoadBalancersリクエストで ForceAttach パラメーターが true に設定されている場合、スケーリンググループ内のすべての既存のインスタンスが、指定されたロードバランサーのバックエンドサーバーとして追加されます。 -
1 回の
AttachLoadBalancersAPI 呼び出しで、スケーリンググループに最大 5 つのロードバランサーインスタンスを追加できます。 -
ロードバランサーインスタンスがすでにスケーリンググループに追加されており、スケーリンググループ内のすべてのインスタンスをロードバランサーのバックエンドサーバーとして追加する必要がある場合は、ロードバランサーインスタンスを再度スケーリンググループに追加し、ForceAttach を true に設定できます。
-
ロードバランサーインスタンスをスケーリンググループに追加する場合、ロードバランサーインスタンスは次の要件を満たす必要があります:
-
1 つ以上のロードバランサーインスタンスが 実行中 状態である必要があります。詳細については、「CLB インスタンスの作成と管理」をご参照ください。
-
ロードバランサーインスタンスとスケーリンググループは、同じリージョンにある必要があります。
-
ロードバランサーインスタンスには、少なくとも 1 つのリスナーが設定され、ヘルスチェック機能が有効になっている必要があります。詳細については、「CLB リスナー」および「CLB ヘルスチェックの設定と管理」をご参照ください。
-
ロードバランサーインスタンスとスケーリンググループの両方が VPC ネットワークタイプである場合、それらは同じ VPC 内にある必要があります。
-
VPC タイプのスケーリンググループがクラシックネットワークタイプのロードバランサーにアタッチされている場合、そのロードバランサーのバックエンドサーバーとしてすでに機能している VPC タイプのインスタンスは、スケーリンググループと同じ VPC に属している必要があります。
説明他のすべてのシナリオでは、関連付けにネットワークタイプの制限はありません。
-
スケーリンググループにアタッチされているロードバランサーインスタンスの数は、スケーリンググループのクォータを超えることはできません。
-
ロードバランサーインスタンスの削除
スケーリンググループからロードバランサーインスタンスを削除する際は、次の点にご注意ください:
-
DetachLoadBalancersAPI 呼び出しの ForceDetach リクエストパラメーターが false の場合、ロードバランサーがスケーリンググループからデタッチされる際に、システムはスケーリンググループに関連付けられているインスタンスをロードバランサーのバックエンドサーバーから削除しません。 -
DetachLoadBalancersAPI リクエストで ForceDetach パラメーターが true に設定されている場合、システムはスケーリンググループに関連付けられているインスタンスをロードバランサーのバックエンドサーバーから削除します。 -
1 回の
DetachLoadBalancersAPI 呼び出しで、スケーリンググループから最大 5 つのロードバランサーインスタンスを削除できます。 -
スケーリンググループからロードバランサーを削除する前に、サービスの中断を防ぐために、そのロードバランサーがグループのインスタンスへのリクエストをルーティングしていないことを確認してください。
-
操作手順
スケーリンググループのロードバランサーの関連付けは、Auto Scaling コンソールまたは API を使用して管理できます。API を使用する方法では、ロードバランサーをスケーリンググループから分離できるため、より高い柔軟性が得られます。これにより、事前にロードバランサーの正確な数を計画する必要なく、関連付けを変更できます。
API の使用
-
AttachLoadBalancers API を呼び出して、1 つ以上のロードバランサーインスタンスを追加します。また、AttachVServerGroups API を呼び出して、1 つ以上の VServer グループを追加することもできます。
-
DetachLoadBalancers API を呼び出して、1 つ以上のロードバランサーインスタンスを削除します。また、DetachVServerGroups API を呼び出して、1 つ以上の VServer グループを削除することもできます。
API を呼び出して、スケーリンググループに Application Load Balancer (ALB) サーバーグループを追加または削除することもできます。詳細については、「AttachAlbServerGroups」および「DetachAlbServerGroups」をご参照ください。
コンソールの使用
Auto Scaling コンソールにログインします。
左側メニューで、スケーリンググループ をクリックします。
上部メニューで、リージョンを選択します。
-
ロードバランサーをスケーリンググループに関連付けます。
-
スケーリンググループ作成時にロードバランサーを関連付ける
このセクションでは、Classic Load Balancer (CLB) インスタンスの関連付け方法について説明します。その他のパラメーターについては、「スケーリンググループの作成」をご参照ください。
-
作成 をクリックします。
-
ネットワークタイプ を [VPC] または [クラシックネットワーク] に設定します。
-
関連付けられた CLB インスタンス (旧称 SLB インスタンス) 設定を構成します。
説明ネットワークタイプ を [VPC] に設定した場合、作成 ページでまず VPC パラメーターの VPC を選択し、次に [ALB/NLB サーバーグループの関連付け] 設定を構成します。
-
1 つ以上の Classic Load Balancer (CLB) インスタンスを選択します。
スケーリンググループに関連付けられる CLB インスタンスおよび VServer グループの数には制限があります。Quota Center に移動してクォータを表示するか、クォータの引き上げをリクエストできます。利用可能な CLB インスタンスがない場合は、CLB インスタンスが「制限事項と前提条件」で説明されている要件を満たしているか確認してください。
-
CLB インスタンスのバックエンドサーバーグループを選択します。
デフォルトサーバーグループまたは VServer グループを選択できます。詳細については、「CLB サーバーグループ」をご参照ください。
サーバーグループ
説明
デフォルトサーバーグループ
フロントエンドリクエストを受信するインスタンスが含まれます。リスナーが VServer グループまたはプライマリ/スタンバイサーバーグループで構成されていない場合、リクエストはデフォルトサーバーグループのインスタンスに転送されます。
VServer グループ
異なるリクエストを異なるバックエンドサーバーに転送したり、ドメイン名や URL に基づいてリクエストをルーティングしたりするために使用されます。
CLB インスタンスをスケーリンググループに関連付ける際に、新しいインスタンスの重みを指定できます。この重みは、スケーリンググループの作成時、またはスケーリング設定の ロードバランサの負荷 パラメーターで設定できます。
-
シナリオ 1:スケーリンググループを作成する際に、インスタンスがバックエンドサーバーグループに追加されるときの重みを指定できます。
重要インスタンス設定ソース を 起動テンプレート に設定した場合、スケーリング設定を作成する必要はありません。この場合、インスタンスの重みはスケーリンググループの作成時にのみ指定できます。
-
シナリオ 2:スケーリング設定を作成する際に、ロードバランサの負荷 パラメーターを設定して、インスタンスがバックエンドサーバーグループに追加されるときの重みを指定できます。

異なるシナリオ ([シナリオ 1] と [シナリオ 2]) では、インスタンスがロードバランサーのバックエンドサーバーグループに追加されるときに割り当てられる重みは、Auto Scaling の動作に次のように影響します。
-
シナリオ 1 と シナリオ 2 の両方で、ロードバランサーのバックエンドサーバーグループに追加されるインスタンスの重みを指定した場合、Auto Scaling は シナリオ 1 の重みを使用し、シナリオ 2 の重みを無視します。
-
シナリオ 2 でのみロードバランサーの重みを指定した場合、Auto Scaling は シナリオ 2 で設定された重みを使用します。
-
シナリオ 1 と シナリオ 2 のいずれにおいても、インスタンスがロードバランサーのバックエンドサーバーグループに追加されるときの重みを指定しなかった場合、Auto Scaling はデフォルトの重み 50 を使用します。
-
-
-
必要に応じて他のパラメーターを設定します。
-
設定が完了したら、OK をクリックします。
-
-
スケーリンググループに関連付けられたロードバランサーの変更
このセクションでは、関連付けられている Classic Load Balancer (CLB) インスタンスの変更方法について説明します。他の設定の変更方法については、「スケーリンググループの変更」をご参照ください。
-
管理したいスケーリンググループを見つけ、操作 列の 編集 をクリックします。
-
必要に応じて、[ロードバランサーインスタンスをアタッチまたはデタッチする際に、スケーリンググループ内の既存のインスタンスを、影響を受けるロードバランサーインスタンスのサーバーグループに追加または削除します。] チェックボックスを選択または選択解除します。
説明スケーリンググループの作成時に ALB サーバーグループを関連付けた場合、要件に応じて スケーリンググループの編集 ページで [サーバーグループをアタッチまたはデタッチする際に、スケーリンググループ内の既存のインスタンスを、影響を受けるサーバーグループに追加または削除します。] を選択または選択解除することもできます。サーバーグループがスケーリンググループにアタッチされると、スケーリンググループ内の既存のインスタンスが指定されたサーバーグループに追加されます。サーバーグループがスケーリンググループからデタッチされると、スケーリンググループ内の既存のインスタンスは指定されたサーバーグループから削除されます。
-
このチェックボックスを選択すると、スケーリンググループ内の既存のインスタンスは、アタッチするロードバランサーインスタンスのサーバーグループに自動的に追加されるか、デタッチするロードバランサーインスタンスのサーバーグループから削除されます。
-
このチェックボックスを選択解除すると、アタッチまたはデタッチするロードバランサーインスタンスのサーバーグループは変更されません。
-
-
必要に応じて、[デフォルトサーバーグループを非同期でデタッチまたはアタッチ] チェックボックスを選択または選択解除します。
-
このチェックボックスを選択すると、デフォルトサーバーグループが個別にアタッチまたはデタッチされるたびにスケーリングアクティビティが生成されます。このオプションは、デフォルトサーバーグループを個別にアタッチまたはデタッチする場合にのみ適用され、同じ操作で両方のアクションを実行する場合には適用されません。
-
このチェックボックスを選択解除すると、デフォルトサーバーグループが個別にアタッチまたはデタッチされてもスケーリングアクティビティは生成されません。
-
-
オプション: 必要に応じて、インスタンスがバックエンドサーバーグループに追加されるときの重みを変更します。
スケーリンググループの作成時に CLB インスタンスを関連付けて重みを設定した場合、必要に応じて重みを変更できます。
-
必要に応じて他の設定オプションを変更します。
-
設定が完了したら、OK をクリックします。
-
-
関連トピック
スケーリンググループを ApsaraDB RDS インスタンスに関連付けると、スケーリンググループ内の ECS インスタンスの内部 IP アドレスが ApsaraDB RDS インスタンスの IP アドレスホワイトリストに自動的に追加されます。これにより、ECS インスタンスは内部ネットワークを介して ApsaraDB RDS インスタンスと通信できるようになります。詳細については、「スケーリンググループの ApsaraDB RDS インスタンスの追加と削除」をご参照ください。