カスタムルーティングポリシー、セッション維持、モニタリング構成、およびその他の高度な特徴をサポートするロードバランサーインスタンスを作成します。
操作説明
ビジネス要件に基づいて負荷分散サービスを作成します。アダプティブルーティング、重み付きポーリング、ルールマッチング、ヘルスチェックなどの設定を行い、トラフィックを効果的に管理および最適化できます。
負荷分散サービスは Enterprise プランでのみサポートされています。この特徴を使用するには、Alibaba Cloud の営業担当者に連絡して Enterprise プランを申請してください。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
esa:CreateLoadBalancer |
create |
*サイト。
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| Name |
string |
必須 |
ロードバランサーの名前。名前は有効なドメイン名フォーマットである必要があり、サイトのサブドメインである必要があります。 |
lb.example.com |
| Enabled |
boolean |
任意 |
ロードバランサーが有効かどうかを指定します。有効な値:
列挙値:
|
true |
| SiteId |
integer |
必須 |
サイト ID。 ListSites 操作を呼び出してサイト ID を取得できます。 |
123456789**** |
| AdaptiveRouting |
object |
任意 |
クロスオリジンアドレスプールのバックツーオリジン構成。 |
true |
| FailoverAcrossPools |
boolean |
任意 |
クロスオリジンアドレスプールのフェールオーバーを有効にするかどうかを指定します。有効な値:
|
true |
| OriginLevelRetry |
boolean |
任意 |
バックツーオリジンが失敗し、かつオリジンサーバーが複数の IP アドレスに解決されるドメイン名の場合に、次の IP アドレスへのリトライを行うかどうかを指定します。 |
false |
| DefaultPools |
array |
必須 |
デフォルトアドレスプール ID のリスト。 |
123 |
|
integer |
任意 |
デフォルトアドレスプール ID。値は整数です。 |
95223818027**** |
|
| FallbackPool |
integer |
必須 |
フォールバックアドレスプール ID。他のすべてのプールが利用できない場合、トラフィックはこのプールに転送されます。 |
123 |
| RandomSteering |
object |
任意 |
異なるアドレスプール間のトラフィックディストリビューションの重みを制御する重み付きラウンドロビン構成。 |
123 |
| DefaultWeight |
integer |
任意 |
個別に重みが指定されていないすべてのアドレスプールに適用されるデフォルトのラウンドロビンの重み。有効な値: 0 から 100 までの整数。 |
50 |
| PoolWeights |
object |
任意 |
各バックエンドサーバープールの重み構成。キーはプール ID、値は重み係数です。重み係数はトラフィックディストリビューションの相対的な割合を表します。 |
|
|
integer |
任意 |
単一のオリジンアドレスプールの重み。有効な値: 0 から 100。値が 0 の場合、このオリジンアドレスプールにはトラフィックがルーティングされないことを示します。 |
50 |
|
| Rules |
array<object> |
任意 |
ルール情報。 |
{ "ENAM": [ 12345678**** ], "WNAM": [ 23456789****, 23456789**** ] } |
|
array<object> |
任意 |
ルールの構造体。 |
||
| RuleName |
string |
任意 |
ルール名。グローバル構成を追加する場合、このパラメーターは必須ではありません。 |
rule_1 |
| Rule |
string |
任意 |
条件付きの式を使用してユーザーリクエストに一致させるルール内容。グローバル構成を追加する場合、このパラメーターは必須ではありません。以下の 2 つのシナリオがサポートされています。
|
(http.request.method eq "GET" and http.request.version eq "HTTP/1.0") or (ip.geoip.country eq "CN") or (http.host eq "www.example.com") |
| RuleEnable |
string |
任意 |
ルールのスイッチ。グローバル構成を追加する場合、このパラメーターは必須ではありません。有効な値:
|
on |
| FixedResponse |
object |
任意 |
ルール一致後に返される固定応答の内容。 |
{"content_type": "application/json", "location": "www.example.com", "message_body": "Testing Hello", "status_code": 0} |
| ContentType |
string |
任意 |
HTTP ヘッダー内の Content-Type フィールド。 |
application/octet-stream |
| Location |
string |
任意 |
HTTP 応答内の location フィールド。 |
http://www.example.com/index.html |
| MessageBody |
string |
任意 |
レスポンスボディの値。 |
Hello World! |
| StatusCode |
integer |
任意 |
応答の状態コード。 |
200 |
| Overrides |
any |
任意 |
ルール一致時にロードバランサー構成内の対応するフィールドを上書きする負荷分散構成。指定されたフィールドはロードバランサー構成内の対応するフィールドを上書きします。 |
{ "adaptive_routing": { "failover_across_pools": true }, "sub_region_pools": { "AL,AT": [ 92298024898****, 92304347804**** ], "BG,BY": [ 92298024898**** ] }, "default_pools": [ 92298024898****, 92304347804**** ], "fallback_pool": 92298024898****, "location_strategy": { "mode": "resolver_ip", "prefer_ecs": "always" }, "random_steering": { "default_weight": 0.3, "pool_weights": { "92298024898****": 0.7, "92304347804****": 0.8 } }, "region_pools": { "CN,SEAS": [ 92298024898****, 92304347804**** ], "SAF,SAS": [ 92304347804**** ] }, "session_affinity": "ip", "steering_policy": "geo", "ttl": 30 } |
| Sequence |
integer |
任意 |
ルールの実行順序。このパラメーターは任意です。指定しない場合、ルールはリスト順に実行されます。指定する場合、値は正の整数である必要があります。値が大きいほど優先度が高くなります。 |
1 |
| Terminates |
boolean |
任意 |
後続のルールの実行を停止するかどうかを指定します。有効な値:
|
true |
| SessionAffinity |
string |
任意 |
セッション維持モード。有効な値:
|
ip |
| SteeringPolicy |
string |
必須 |
負荷分散ポリシー。有効な値:
|
order |
| Description |
string |
任意 |
管理および識別を目的としたロードバランサーの説明。 |
Load Balancer Description |
| Ttl |
integer |
任意 |
TTL 値。DNS レコードの生存時間を指定します。デフォルト値: 30 秒。有効な値: 10 から 600。 |
300 |
| Monitor |
object |
必須 |
ヘルスチェックのモニター構成。 |
order |
| Type |
string |
任意 |
ヘルスチェックに使用されるモニターのプロトコルの種類。値が off の場合、ヘルスチェックが無効であることを示します。有効な値:
|
HTTP |
| Method |
string |
任意 |
モニターのメソッド (例: |
GET |
| Port |
integer |
任意 |
オリジンサーバーのポート。 |
1921 |
| Path |
string |
任意 |
モニターのチェックパス (例: |
/health |
| Interval |
integer |
任意 |
モニタリングの間隔 (秒単位、例: |
60 |
| Timeout |
integer |
任意 |
ヘルスチェックのタイムアウト期間。単位: 秒。有効な値: 1 から 10。 |
5 |
| ExpectedCodes |
string |
任意 |
期待される状態コード (例: |
200 |
| FollowRedirects |
boolean |
任意 |
リダイレクトをフォローするかどうかを指定します。有効な値:
|
true |
| ConsecutiveUp |
integer |
任意 |
チェックが成功したとみなすために必要な連続成功プローブの数 (例: |
3 |
| ConsecutiveDown |
integer |
任意 |
チェックが失敗したとみなすために必要な連続失敗プローブの数 (例: |
5 |
| Header |
any |
任意 |
プローブリクエストに含まれるヘッダー情報。HTTP ヘッダーフォーマットです。 |
{ "host": [ "example1.com", "example2.com" ] } |
| MonitoringRegion |
string |
任意 |
プローブノードが配置されているリージョン。デフォルト値: Global。有効な値:
列挙値:
|
Global |
| SubRegionPools |
any |
任意 |
セカンダリリージョンにマッピングされたアドレスプール。複数のセカンダリリージョンが同じアドレスプールセットを共有する場合、セカンダリリージョン名をカンマで連結してキーとして使用できます。 |
{"AL,MO": [92298024898****],"CN-SH,CN-SX,CN-SC":[92304347804****,92843536908****]} |
| RegionPools |
any |
任意 |
プライマリリージョンにマッピングされたアドレスプール。 |
{ "ENAM": [ 12345678**** ], "WNAM": [ 23456789****, 23456789**** ] } |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
レスポンスのスキーマ。 |
||
| RequestId |
string |
リクエスト ID。 |
EEEBE525-F576-1196-8DAF-2D70CA3F4D2F |
| Id |
integer |
ロードバランサーの ID。 |
99867648760**** |
例
成功レスポンス
JSONJSON
{
"RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\n",
"Id": 0
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is invalid. | 入力パラメーターのフォーマット検証が失敗しました。有効な値を指定してください。 |
| 400 | LoadBalancerQuotaCheckFailed | Load balancer enable quota check failed. | 現在のプランでは、ロードバランサーの特徴はサポートされていません。これらの特徴を使用するには、プランをスペックアップしてください。 |
| 400 | LoadBalancerNumberExceedQuotaLimit | The number of load balancers you have added has reached the limit of the plan quota. Please delete the unused load balancers or upgrade the plan and try again. | 追加したロードバランサーインスタンスの数が、プランのクォータ制限に達しました。未使用のロードバランサーインスタンスを削除するか、プランをスペックアップしてからリトライしてください。 |
| 400 | LoadBalancerRuleQuotaCheckFailed | Your current plan does not support configuring load balancer custom rules, or the load balancer rules you have added exceed the plan quota limit. Please upgrade the plan or delete the rules that are no longer in use and try again. | 現在のプランではカスタムロードバランサールールがサポートされていないか、追加したロードバランサルールの数がプランのクォータ制限を超えています。プランをスペックアップするか、未使用のルールを削除してリトライしてください。 |
| 400 | LoadBalancerPolicyCheckFailed | Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again. | 現在のプランでは、このロードバランサースケジューリングポリシーはサポートされていません。プランをスペックアップしてリトライしてください。 |
| 400 | LoadBalancerHealthDetectionQuotaCheckFailed | Your current plan does not allow you to configure the load balancer's health detection. Upgrade the plan and try again. | 現在のご契約プランでは、負荷分散のヘルスチェックを設定できません。プランをスペックアップして、リトライしてください。 |
| 400 | LoadBalancerHealthDetectionIntervalCheckFailed | The configured load balancer health detection interval exceeds the quota range allowed by the plan. Please revise the interval within the range or upgrade the plan and try again. | 負荷分散用に設定されたヘルスチェックの検出時間間隔が、ご契約プランで許可されているクォータを超えています。間隔を許可された有効値内の値に調整するか、プランをスペックアップしてから、リトライしてください。 |
| 400 | InternalException | Failed to call the service. Try again later or contact technical support. | サービスの呼び出しに失敗しました。後でもう一度お試しいただくか、詳細についてはカスタマーサポートにお問い合わせください。 |
| 400 | Instance.NotOnline | Your plan is unavailable due to an overdue payment. Complete the payment first. | 支払い遅延のため、プランインスタンスは現在アクティブな状態ではありません。サービスの使用を継続するには、更新を完了してください。 |
| 400 | MonitorExpectedBodyInvalid | Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule. | モニターの期待される応答値が無効です。長さは 102400 文字を超えることはできません。応答値を確認して再試行してください。 |
| 400 | MonitorExpectedCodesInvalid | Invalid expected status code for the probe.Make sure that you specify no more than 10 status codes in the probe settings, and each status code must be 3 to 4 characters in length.Examples: 200, 301, 3xx, 8000, and 88xx. | モニターの期待される応答コードが無効です。応答コードの数は 10 個を超えることができず、各応答コードの長さは 3 ~ 4 文字である必要があります。例: 200、301、3xx、8000、88xx。 |
| 400 | MonitorHeaderInvalid | Invalid request header for the probe. You can add up to 10 request headers, each with 1 to 9 values. The combined length of all headers and values cannot exceed 6,000 characters. You cannot configure the User-Agent header. | モニターに含まれるリクエストヘッダーが無効です。リクエストヘッダーの数が 10 個以下であり、各リクエストヘッダーの値の長さが 1 ~ 10 文字であり、User-Agent リクエストヘッダーが使用されていないこと (内部シナリオ用に予約されています) を確認してください。さらに、すべてのリクエストヘッダーとその値の合計長さは 6000 文字を超えることはできません。リクエストヘッダーの構成を確認して修正し、再試行してください。 |
| 400 | MonitorMethodNotSupport | Invalid HTTP method for the probe request. Valid values are GET and HEAD. | モニターのリクエストメソッドはサポートされていません。フォローされているメソッドは GET および HEAD のみです。 |
| 400 | MonitorPathNotSupport | Invalid probe URL path.If you set the probe protocol to HTTP or HTTPS, make sure you specify a probe URL path that does not exceed 1,024 characters in length. | ヘルスチェックパスはサポートされていません。モニタリングタイプが HTTP または HTTPS の場合、ヘルスチェックパスを空にすることはできず、パスの長さは 1024 文字を超えることはできません。パスを確認して再試行してください。 |
| 400 | MonitorPortNotSupport | Invalid probe port. Specify a valid port from 1 to 65535 for the probe request. Then, try again. | モニターのモニタリングポートはサポートされていません。ポート範囲は 1 ~ 65535 です。ポートがポート範囲内であることを確認して再試行してください。 |
| 400 | MonitorRetriesInvalid | Invalid number of probe retries. Specify an integer from 0 to 5. Then, try again. | モニターのリトライカウントパラメーターはサポートされていません。リトライカウントの有効値は 0 ~ 5 です。リトライカウントがこの範囲内であることを確認してください。 |
| 400 | MonitorTimeoutInvalid | Invalid timeout for the probe. Valid values are 1 to 10. | モニターのタイムアウト値が有効値を超えています。サポートされている時間は 1 ~ 10 です。 |
| 400 | MonitorTypeNotSupport | Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP. | モニタータイプはサポートされていません。フォローされているタイプは off、HTTP、HTTPS、TCP、UDP、ICMP Ping、および SMTP のみです。 |
| 400 | OriginPoolNotExist | The specified origin pool does not exist or does not belong to your account or website. Check and try again. | 指定されたオリジンアドレスプールが存在しないか、アドレスプールが現在のユーザーおよびサイトに属していません。情報を確認して、もう一度お試しください。 |
| 400 | LoadBalancerNameConflict | The load balancer name or the hostname for the origin pool already exists. Try again with a unique name. | 指定された負荷分散名またはオリジン IPAM プールの Record 名は既に存在します。一意の名前を使用して、リトライしてください。 |
| 400 | LockFailed | The system is handling requests you previously submitted. Try again later. | 別のリクエストがプロセス中です。後でもう一度お試しください。 |
| 400 | SourceCircleExist | The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry. | 操作対象のリソースのホスト Record が他のリソースのオリジンサーバーとして既に設定されているか、または現在のリソースのオリジンサーバーがホスト Record として既に追加されています。ルーティングループを回避するため、ホスト Record またはオリジンサーバーを変更して再試行してください。 |
| 400 | LoadBalancer.NameInvalid | The name of the Server Load Balancer instance is a valid domain name or belongs to the site. Check that it is correct and try again. | 負荷分散インスタンスの名前は、有効なドメイン名であるか、またはサイトに属している必要があります。名前を確認して、再試行してください。 |
| 400 | CompileRuleError | Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document. | ルールのコンパイルに失敗しました。指定したルール構成を確認してください。API リファレンスに記載されているルール構成フォーマットをご参照ください。 |
| 400 | InstanceNotExist | The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account. | インスタンスが存在しません。指定されたインスタンス ID が正しいか、またはインスタンスがお使いのアカウントに属しているかを確認してください。 |
| 403 | QuotaExceeded | The quota is exceeded. | 日次クォータ制限を超えました。本日の提出クォータはすべて使用されています。クォータ API を通じて、本日の残りの利用可能数をクエリできます。 |
| 404 | SiteNotFound | The website does not exist or does not belong to you. | サイトが存在しないか、またはサイトにアクセスする権限がありません。 |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。