Auto Scalingは、Server Load Balancer (SLB) インスタンスのスケーリンググループへのアタッチをサポートしています。 これにより、インバウンドトラフィックをスケーリンググループ内のインスタンスに均等に分散でき、スケーリンググループのサービスパフォーマンスが効果的に向上します。 次のツールを使用して、SLBインスタンスをアタッチまたはデタッチできます。Auto ScalingコンソールおよびAPI操作 (AttachLoadBalancersおよびDetachLoadBalancers) 。
背景情報
このトピックでは、Classic Load Balancer (CLB、旧称Server Load BalancerまたはSLB) を使用して、アタッチとデタッチを実行する方法について説明します。 CLBインスタンスをスケーリンググループにアタッチすると、インスタンスがAuto scalingによって自動的に作成されるか、手動でスケーリンググループに追加されるかに関係なく、スケーリンググループ内のすべてのインスタンスが自動的にCLBインスタンスのバックエンドサーバーとして機能します。 CLBインスタンスがスケーリンググループ内のインスタンスにインバウンドトラフィックを分散するとき、スケーリンググループ内のリソース使用率を柔軟に最大化するために、トラフィック分散ポリシーおよびヘルスチェック結果として要因を考慮します。 詳細については、「SLBの概要」をご参照ください。
SLBの概要
SLBは、ネットワークトラフィックをバックエンドサーバーのグループに分散して、アプリケーションのスループットを向上させるサービスです。 SLBを使用すると、単一障害点 (SPOF) によって引き起こされるサービスの中断を防ぎ、アプリケーションの可用性を向上させることができます。 詳細については、「SLBの概要」をご参照ください。
Alibaba Cloudは、Application load Balancer (ALB) 、Network Load Balancer (NLB) 、Classic Load Balancer (CLB) のタイプを提供しています。
データ型 | 説明 | 関連ドキュメント |
ALB | ALBは、超高処理能力を提供し、高度なコンテンツベースのルーティング機能をサポートするレイヤ7負荷分散サービスです。 | |
NLB | NLBは、超高性能を提供し、すべてのものをインターネットに接続するレイヤー4負荷分散サービスです。 また、オンデマンドで自動的にスケーリングすることもできます。 NLBインスタンスは最大100万の同時接続をサポートします。これは、高い同時実行性を必要とするサービスに最適です。 | |
CLB | CLBは、TCP、UDP、HTTP、およびHTTPSをサポートし、レイヤ4で高い処理能力を提供し、レイヤ7で基本的な処理能力を提供します。 同じリージョンにデプロイされているサーバーをCLBインスタンスにアタッチすると、CLBは仮想IPアドレス (VIP) を使用して、これらのサーバーを高性能で可用性の高いサーバープールに結合します。 |
次の表では、例としてCLBを使用して、ロードバランサーがトラフィックを分散および管理する方法を示します。 CLBインスタンス、リスナー、およびバックエンドサーバーを設定する必要があります。
ALBを使用する場合は、ALBインスタンス、リスナー (最小のビジネスユニット) 、およびサーバーグループ (1つ以上のバックエンドサーバーのロジックグループ) を設定する必要があります。 詳細については、「サーバーグループ」をご参照ください。
コンポーネント | 説明 | 関連ドキュメント |
CLBインスタンス | CLBインスタンスは、ネットワークトラフィックをバックエンドサーバーに分散することによって負荷分散サービスを提供するエンティティです。 説明 バックエンドサーバーとしてのインスタンスのデフォルトの重みは50です。 ビジネス要件に基づいて重量を調整できます。 詳細については、「デフォルトサーバーの追加」をご参照ください。 | |
リスナー | リスナーはクライアント要求をチェックし、要求をバックエンドサーバーに転送します。 リスナーはバックエンドサーバーでもヘルスチェックを実行します。 | |
バックエンドサーバー | クライアント要求を処理するインスタンスの論理グループ。 CLBバックエンドサーバーグループに複数のインスタンスを追加できます。 管理目的で、複数のvServerグループまたはプライマリ /セカンダリサーバーグループをCLBインスタンスにアタッチすることもできます。 |
注意事項
このトピックで使用されるロードバランサーはすべてCLBを参照します。
CLBインスタンスまたはCLBサーバーグループをスケーリンググループにアタッチした後、次の項目に注意する必要があります。
CLBインスタンスまたはCLBサーバーグループが削除された場合、スケーリンググループ内のスケーリングアクティビティは必ず失敗します。
Auto Scalingは、スケーリンググループにアタッチされているCLBインスタンスまたはCLBサーバーグループを定期的にスキャンします。 Auto ScalingがCLBインスタンスまたはCLBサーバーグループを検出しない場合、スケーリンググループからのCLBインスタンスまたはCLBサーバーグループの自動デタッチがトリガーされます。
重要CLBインスタンスまたはCLBサーバーグループのデタッチ後、CLBインスタンスまたはCLBサーバーグループによるスケーリングの失敗はスケーリンググループで防止されます。
CLBインスタンスをスケーリンググループにアタッチまたはデタッチする場合は、いくつかの要因を考慮する必要があります。
CLBインスタンスのアタッチ
CLBインスタンスをスケーリンググループにアタッチする前に、次の項目に注意してください。
AttachLoadBalancers操作を呼び出してCLBインスタンスをスケーリンググループにアタッチし、ForceAttachリクエストパラメーターをfalseに設定した場合、スケーリンググループ内の既存のインスタンスは、アタッチ後にCLBインスタンスのバックエンドサーバーとして自動的に機能しません。
AttachLoadBalancers操作を呼び出してCLBインスタンスをスケーリンググループにアタッチし、ForceAttachリクエストパラメーターをtrueに設定すると、スケーリンググループ内の既存のインスタンスは、アタッチ後のCLBインスタンスのバックエンドサーバーとして自動的に機能します。
AttachLoadBalancers操作を呼び出して、各呼び出しで最大5つのCLBインスタンスをスケーリンググループにアタッチできます。
CLBインスタンスがすでにスケーリンググループにアタッチされていて、スケーリンググループ内のすべてのインスタンスをCLBインスタンスのバックエンドサーバーとして機能させる場合は、この操作を呼び出して、CLBインスタンスをスケーリンググループに再度アタッチできます。 再添付リクエストでは、ForceAttachリクエストパラメーターをtrueに設定する必要があります。
CLBインスタンスをスケーリンググループにアタッチする前に、CLBインスタンスが次の要件を満たしていることを確認してください。
CLBインスタンスのステータスは [実行中] である必要があります。 詳細については、「SLB インスタンスの作成」をご参照ください。
CLBインスタンスは、スケーリンググループと同じリージョンに存在する必要があります。
CLBインスタンスには、少なくとも1つのリスナーがサービスにあり、ヘルスチェックが有効になっている必要があります。 詳細については、「リスナーの概要」および「ヘルスチェックの設定」をご参照ください。
CLBインスタンスとスケーリンググループのネットワークタイプが仮想プライベートクラウド (VPC) の場合、CLBインスタンスはスケーリンググループと同じVPCに存在する必要があります。
スケーリンググループのネットワークタイプがVPCであり、CLBインスタンスのネットワークタイプがクラシックネットワークである場合、CLBインスタンスにVPCに存在するバックエンドサーバーがある場合、バックエンドサーバーのVPCはスケーリンググループのVPCと一致している必要があります。
説明それ以外の場合は、CLBインスタンスをスケーリンググループにアタッチするときに、ネットワークタイプの上記の制限に従う必要はありません。
スケーリンググループにアタッチできるCLBインスタンスのクォータには上限があります。
CLBインスタンスのデタッチ
スケーリンググループからCLBインスタンスをデタッチする前に、次の項目に注意してください。
DetachLoadBalancersを呼び出してスケーリンググループからCLBインスタンスをデタッチし、ForceAttachリクエストパラメーターをfalseに設定した場合、デタッチ後もスケーリンググループ内のインスタンスはCLBインスタンスのバックエンドサーバーとして機能します。
DetachLoadBalancersを呼び出してスケーリンググループからCLBインスタンスをデタッチし、ForceAttachリクエストパラメーターをtrueに設定すると、デタッチ後にスケーリンググループ内のインスタンスがCLBインスタンスのバックエンドサーバーとして機能しなくなります。
DetachLoadBalancers操作を呼び出して、各呼び出しでスケーリンググループから最大5つのCLBインスタンスをデタッチできます。
スケーリンググループからCLBインスタンスをデタッチする前に、CLBインスタンスがスケーリンググループ内のインスタンスにインバウンドトラフィックを配信しないようにしてください。 CLBインスタンスがデタッチ中にインバウンドトラフィックをインスタンスに配信している場合、サービスのリクエストは簡単に失われます。
手順
Auto Scalingコンソールを使用するか、API操作を呼び出して、CLBインスタンスをスケーリンググループにアタッチまたはデタッチできます。 API操作を呼び出す場合、ビジネス要件と必要なロードバランサーの数を事前に考慮する必要はありません。 これにより、CLBインスタンスとスケーリンググループ間の結合が失われます。 API操作により、スケーリンググループのサービスパフォーマンスが柔軟に向上します。
API 操作
1つ以上のCLBインスタンスをスケーリンググループにアタッチするには、AttachLoadBalancers操作を呼び出します。 詳細については、「AttachLoadBalancers」をご参照ください。 1つ以上のCLBサーバーグループをスケーリンググループにアタッチするには、AttachVServerGroups操作を呼び出します。 詳細については、「AttachVServerGroups」をご参照ください。
スケーリンググループから1つ以上のCLBインスタンスをデタッチするには、DetachLoadBalancers操作を呼び出します。 スケーリンググループから1つ以上のCLBサーバーグループをデタッチするには、DetachVServerGroups操作を呼び出します。 詳細については、「DetachVServerGroups」をご参照ください。
ALBサーバーグループをスケーリンググループにアタッチするには、AttachAlbServerGroups操作を呼び出します。 ALBサーバーグループをスケーリンググループからデタッチするには、DetachAlbServerGroups操作を呼び出します。
Auto Scalingコンソール
Auto Scalingコンソールにログインします。
左側のナビゲーションウィンドウで、スケーリンググループをクリックします。
上部のナビゲーションバーで、リージョンを選択します。
CLBインスタンスをスケーリンググループにアタッチできるページに移動します。
スケーリンググループを作成するとき
この手順では、スケーリンググループを作成するときに、CLBインスタンスをスケーリンググループにアタッチすることに焦点を当てます。 その他の設定については、「スケーリンググループの管理」をご参照ください。
[作成] をクリックします。
[スケーリンググループの作成] ダイアログボックスで、[ネットワークタイプ] パラメーターを [VPC] または [クラシックネットワーク] に設定します。
[CLBインスタンスの関連付け] パラメーターを設定します。
説明[スケーリンググループの作成] ダイアログボックスで [ネットワークタイプ] パラメーターを [VPC] に設定した場合、[ALBサーバーグループの関連付け] パラメーターを設定する前に、[VPC] パラメーターを設定する必要があります。
1つ以上のCLBインスタンスを選択します。
スケーリンググループにアタッチできるCLBインスタンスまたはサーバーグループのクォータには上限があります。 クォータを表示したり、クォータの増加をリクエストしたりするには、クォータセンターにアクセスしてください。 [CLBインスタンスの関連付け] ドロップダウンリストで使用可能なCLBインスタンスがない場合は、[注意事項] セクションの要件が満たされているかどうかを確認します。
1つ以上のCLBバックエンドサーバーグループを選択します。
CLBバックエンドサーバーグループは、デフォルトサーバーグループまたはvServerグループにすることができます。 詳細については、「バックエンドサーバーの概要」をご参照ください。
サーバーグループ
説明
デフォルトサーバーグループ
フロントエンドリクエストを受信するインスタンスのグループ。 リスナーにvServerグループまたはプライマリ /セカンダリサーバーグループを指定しない場合、リスナーはリクエストを既定のサーバーグループに転送します。
vServer グループ
フロントエンド要求を受信するvServerのグループ。 既定のサーバーグループに属していないサーバーにリクエストを転送する場合、またはドメイン名ベースまたはURLベースのリクエストを転送する場合は、1つ以上のvServerグループを指定する必要があります。
スケーリンググループを作成するときに、ビジネス要件に基づいて各バックエンドサーバーの重みを指定できます。 スケーリング設定の作成時にSLB weightパラメーターを使用して、各バックエンドサーバーの重みを指定することもできます。
シナリオ1: 次の図に示すように、スケーリンググループを作成するときにSLBの重みを指定します。
重要スケーリンググループの作成時に [インスタンス設定ソース] パラメーターを [起動テンプレート] に設定した場合、[重み] パラメーターを設定して、各インスタンスの重みをバックエンドサーバーとして指定する必要があります。 起動テンプレートではスケーリング構成を作成できないため、スケーリング構成でSLBの重みを指定することはできません。
シナリオ2: 次の図に示すように、スケーリング設定を作成するときにSLBの重みを指定します。
異なるシナリオ (シナリオ1およびシナリオ2) でSLBの重みを指定した場合、スケーリングがトリガーされると次のルールが適用されます。
WeightパラメーターとSLB Weightパラメーターを同時に設定した場合、Weightパラメーターの値がSLB Weightパラメーターの値よりも優先されます。
SLB Weightパラメーターのみを設定した場合、SLB Weightパラメーターの値が使用されます。
WeightパラメーターとSLB Weightパラメーターを空のままにした場合、デフォルトの重み50が使用されます。
ビジネス要件に基づいて他のパラメーターを設定します。
[OK] をクリックします。
スケーリンググループのCLBインスタンスの変更
この手順では、スケーリンググループにアタッチされているCLBインスタンスを変更する方法について説明します。 その他の設定については、「スケーリンググループの変更」をご参照ください。
目的のスケーリンググループを見つけて、[操作] 列の [編集] をクリックします。
ビジネス要件に基づいてSLBインスタンスをスケーリンググループに関連付けるか、またはスケーリンググループからSLBインスタンスの関連付けを解除すると、スケーリンググループ内の既存のECSインスタンスがSLBインスタンスのサーバーグループに追加または削除されます。 を選択します。
説明スケーリンググループにアタッチされているALBサーバーグループも変更する場合は、[スケーリンググループの編集]ダイアログボックスのビジネス要件に基づいて [サーバーグループをスケーリンググループに関連付けると、スケーリンググループ内のインスタンスがこれらのサーバーグループに追加されます。 スケーリンググループからサーバーグループの関連付けを解除すると、Auto scalingはスケーリンググループ内のインスタンスをこれらのサーバーグループから削除します。 を選択します。このチェックボックスをオンにすると、スケーリンググループ内の既存のインスタンスは、アタッチ後にALBサーバーグループのバックエンドサーバーとして自動的に機能し、デタッチ後にALBサーバーグループのバックエンドサーバーとしての機能を自動的に停止します。
このチェックボックスをオンにすると、スケーリンググループ内の既存のインスタンスは、アタッチ後に自動的にCLBインスタンスのバックエンドサーバーとして機能し、デタッチ後に自動的にCLBインスタンスのバックエンドサーバーとして機能しなくなります。
このチェックボックスをオンにしない場合、CLBインスタンスのバックエンドサーバーは、アタッチ後またはデタッチ後に関係なく変更されません。
ビジネス要件に基づいてデフォルトのサーバーグループを非同期的にアンマウントまたはマウントします。 を選択します。
このチェックボックスをオンにすると、デフォルトのサーバーグループをアタッチまたはデタッチするたびにスケーリングアクティビティが発生します。 この設定は、デフォルトサーバーグループを個別にアタッチおよびデタッチした場合にのみ有効になります。
このチェックボックスをオンにしない場合、デフォルトのサーバーグループをアタッチまたはデタッチするたびにスケーリングアクティビティは発生しません。
(オプション) ビジネス要件に基づいてWeightパラメーターを変更します。
スケーリンググループの作成時にCLBインスタンスをアタッチし、Weightパラメーターを設定した場合、ビジネス要件に基づいて各バックエンドサーバーの重みを変更できます。
ビジネス要件に基づいて他のパラメーターを変更します。
[OK] をクリックします。
関連ドキュメント
ApsaraDB RDSインスタンスをスケーリンググループにアタッチすると、スケーリンググループ内のElastic Compute Service (ECS) インスタンスのプライベートIPアドレスが、アタッチ後にApsaraDB RDSインスタンスのIPアドレスホワイトリストに自動的に追加されます。 これにより、ECSインスタンスとApsaraDB RDSインスタンス間の内部通信が可能になります。 詳細については、「ApsaraDB RDSインスタンスのスケーリンググループへのアタッチまたはデタッチ」をご参照ください。