edit-icon download-icon

CreateLoadBalancerHTTPListener

最終更新日: Apr 17, 2018

説明

HTTP プロトコルリスナーを作成します。

:リスナーが作成されると、リスナーのステータスは停止します。StartLoadBalancerListener API を呼び出して、トラフィックを配信するリスナーを開始します。

リクエストパラメータ

名前必須かどうか説明
ActionStringはい

実行するアクション。有効な値:

CreateLoadBalancerHTTPListener

RegionId Stringはい SLB インスタンスが配置されているリージョンの ID 。
LoadBalancerId Integerはい HTTP リスナーが作成される SLB インスタンスの ID 。
BandwidthIntegerはい

リスナーのピーク帯域幅。有効な値:[1,1000] Mbps

注意:インターネット SLB インスタンスがトラフィックによって課金されている場合は、それを -1 に設定します。

ListenerPort Integerはい

着信トラフィックを受信し、トラフィックをバックエンドサーバーに配信するために使用されるリスナーのフロントエンドポート。

有効な値: [1, 65535]

BackendServerPort Integerいいえ

リクエストを受け取るためにバックエンドサーバー上で開かれたポート。

有効な値:[1, 65535]

注意 VServerGroupId パラメータが指定されていない場合、このパラメータは必須です。

VServerGroupId Stringいいえリスナーに追加する VServer グループの ID 。
SchedulerStringいいえ

トラフィックを分散するために使用されるアルゴリズム。有効な値:

  • wrr (デフォルト)

    より大きい重みを持つバックエンドサーバーは、より小さい重みを持つものより多くのリクエストを受け取ります。

  • wlc

    重みの大きいサーバーは、一度にライブ接続の割合が高くなります。重みが同じ場合、システムは確立された接続が最も少ないサーバーにネットワーク接続を指示します。

  • rr

    リクエストは、バックエンドサーバに均等かつ逐次配信されます。

XForwardedFor Stringいいえ

XForwardedFor ヘッダを使ってクライアントの実際の IP アドレスを取得するかどうか。

有効な値: on (デフォルト)| off

XForwardedFor_SLBIP Stringいいえ

XForwardedFor_SLBIP ヘッダを使用して SLB インスタンスのパブリック IP アドレスを取得するかどうか。

有効な値: on | off (デフォルト)

XForwardedFor_SLBID Stringいいえ

XForwardedFor ヘッダを使用して SLB インスタンスの ID を取得するかどうか。

有効な値: on | off(デフォルト)

XForwardedFor_proto Stringいいえ

XForwardedFor_proto ヘッダを使用してリスナーが使用するプロトコルを取得するかどうか。

有効な値: on | off(デフォルト)

StickySessionStringはい

セッションの持続性を有効にするかどうか。有効にすると、同じクライアントからのすべてのセッション要求が同じバックエンドサーバーに送信されます。

有効な値: on | off

StickySessionType Stringいいえ

Cookie を処理するために使用されるメソッド。有効な値:

  • insert

    Server Load Balancerは、バックエンドサーバーからの最初の応答にセッションクッキーを追加し、応答を送信したサーバーを識別します。次のリクエストはクッキーが含まれ、リスナーはリクエストを同じバックエンドサーバーに配布します。

  • server

    レスポンスにクッキー名を設定できます。新しい Cookie が設定されていることが検出されると、 Server Load Balancer は元の Cookie を上書きします。次回クライアントが Server Load Balancer にアクセスするために新しい Cookie を保持すると、リクエストは以前に記録されたバックエンドサーバーにリクエストを配布します。

:このパラメータは、 StickySession パラメータの値が on の場合に必要です。

CookieTimeout Integerいいえ

Cookie のタイムアウト(秒単位)。

有効な値:[1,86400]

注意 StickySessionType パラメータの値が insert の場合、このパラメータは必須です。

CookieStringいいえ

バックエンドサーバーで設定された Cookie 。

:このパラメータは、 StickySessionType パラメータの値が server の場合に必須です。

Gzip Stringいいえ

Gzip 圧縮を有効にするかどうか。

有効な値: on (デフォルト)| off

HealthCheckStringはい

ヘルスチェックを有効にするかどうか。

有効な値: on | off

HealthCheckDomain Stringいいえ

ヘルスチェックに使用されるドメイン名。

デフォルトでは、ヘルスチェックを行うために Server Load Balancer HTTP ヘッドリクエストをバックエンド ECS インスタンスのイントラネット IP アドレスを介してアプリケーションサーバー上で構成されたデフォルトのホームページに送ります。

バックエンドサーバがホストのフィールドを確認した場合はリクエストには、必ずヘルスチェックを作るためにドメイン名を設定する必要があります。

ヘルスチェックを行うホストの IP アドレスは $_ip 形式で指定できます。

HealthCheckURI Stringいいえヘルスチェックに使用される URI 。
HealthyThreshold Integerいいえ

同じ ECS インスタンス上で同じ LVS モード・サーバーによって実行されたヘルスチェックの連続成功回数(失敗から成功まで)。

有効な値:[2,10]

UnhealthyThresholdIntegerいいえ

同一の ECS インスタンス上で同じ LVS ノードサーバーによって実行されたヘルスチェックの連続失敗の回数(成功から失敗)

HealthCheck がオンの場合、パラメータは必須です。 HealthCheck がオフの場合、パラメータは無視されます。

有効な値:[2,10]

HealthCheckConnectPort Integerいいえ

ヘルスチェックに使用されるポート。

有効な値:[1,65535]

HealthCheckTimeout Integerいいえ

ヘルスチェックからの応答を待機する時間(秒単位)。 ECS インスタンスが指定されたタイムアウト時間内にリクエストを送信しない場合、ヘルスチェックは失敗します。

有効な値:[1,300]

注意 HealthCheckInterval の値が HealthCHeckTimeout パラメーターの値より大きい場合、タイムアウトは HealthCheckInterval パラメーターの値に設定されます。

HealthCheckInterval Integerいいえ

連続した 2 回の健康診断の時間間隔。

有効な値:[1,50]

HealthCheckHttpCode Stringいいえ

ヘルスチェックが正常であることを示す HTTP ステータスコード。カンマ(,)で複数の HTTP ステータスコードを区切ります。

有効な値: http_2xx(デフォルト)| http_3xx | http_4xx | http_5xx

レスポンスパラメータ

名前説明
RequestId String リクエストのID。

リクエストの例

  1. https://slb.aliyuncs.com/?Action=CreateLoadBalancerHTTPListener
  2. &LoadBalancerId=139a00604ad-cn-east-hangzhou-01
  3. &ListenerPort=80
  4. &BackendServerPort=80
  5. &Bandwidth=-1
  6. &HealthCheck=on
  7. &HealthCheckDomain=$_ip
  8. &HealthCheckURI=/test/index.html
  9. &HealthCheckConnectPort=8080
  10. &HealthyThreshold=4
  11. &UnhealthyThreshold=4
  12. &HealthCheckTimeout=3
  13. &HealthCheckInterval=5
  14. &VServerGroupId=rsp-cige6j5e7p
  15. &<CommonParameters>

レスポンスの例

  • XML 形式

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <CreateLoadBalancerHTTPListenerResponse>
    3. <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>
    4. </CreateLoadBalancerHTTPListenerResponse>
  • JSON 形式

    1. {
    2. "RequestId":" CEF72CEB-54B6-4AE8-B225-F876FF7BA984"
    3. }