指定されたリスナーの転送ルールを作成します。
操作説明
この操作を呼び出して転送ルールを作成する際は、以下の点にご注意ください。
-
Redirect 操作を設定する場合、HttpCode 以外のパラメーターをすべてデフォルト値に設定することはできません。
-
転送ルールに複数の操作を設定する場合、Rewrite 操作は ForwardGroup 操作タイプと併用する必要があります。
-
CreateRule 操作は非同期です。リクエスト送信後、システムはインスタンス ID を返しますが、転送ルールはまだ作成されていない可能性があります。システムはバックグラウンドで転送ルールを作成します。 ListRules を呼び出して、転送ルールの作成ステータスをクエリできます。
転送ルールのステータスが プロビジョニング の場合、転送ルールは作成中です。
転送ルールのステータスが Available の場合、転送ルールは作成済みです。
-
転送ルールに追加できる条件 (RuleConditions) および操作 (RuleActions) の最大数は以下のとおりです。
条件: Basic Edition は 5、Standard Edition は 10、WAF 有効化エディションは 10。
操作: Basic Edition は 3、Standard Edition は 5、WAF 有効化エディションは 5。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
alb:CreateRule |
create |
*LoadBalancer
*ServerGroup
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| ListenerId |
string |
必須 |
Application Load Balancing (ALB) インスタンスリスナーの ID。 |
lsn-l16uo9y****** |
| ClientToken |
string |
任意 |
リクエストのべき等性を確保するために使用されるクライアントトークン。 クライアントを使用してトークンを生成できますが、異なるリクエスト間でトークンが一意であることを確認する必要があります。トークンには ASCII 文字のみを含めることができます。 説明
このパラメーターを指定しない場合、システムは自動的に RequestId の値を ClientToken の値として使用します。RequestId の値は各 API 呼び出しごとに異なります。 |
5A2CFF0E-5718-45B5-9D4D-70B****** |
| DryRun |
boolean |
任意 |
実際のリクエストを実行せずに、ドライランのみを実行するかどうかを指定します。有効な値:
|
false |
| Priority |
integer |
必須 |
転送ルールの優先度。有効な値: 1~10000。値が小さいほど優先度が高くなります。 説明
リスナー内の各ルールの優先度は一意である必要があります。 |
10 |
| Direction |
string |
任意 |
転送ルールの方向。有効な値:
説明
Basic Edition の ALB インスタンスは Response タイプをサポートしていません。 |
Request |
| RuleActions |
array<object> |
必須 |
転送ルールの操作のリスト。 |
|
|
array<object> |
必須 |
ルールの操作のリスト。 |
||
| FixedResponseConfig |
object |
任意 |
固定応答の構成。 |
|
| Content |
string |
任意 |
返す固定コンテンツ。コンテンツのサイズは最大 1 KB で、ASCII 文字のみを含めることができます。 |
dssacav |
| ContentType |
string |
任意 |
固定コンテンツのフォーマット。 有効な値: text/plain、text/css、text/html、application/javascript、application/json。 |
text/plain |
| HttpCode |
string |
任意 |
返す HTTP 応答コード。2xx、4xx、5xx の数値文字列のみがサポートされています。ここで x は任意の数字です。 |
200 |
| ForwardGroupConfig |
object |
任意 |
リクエストの転送先となる送信先サーバーグループのリスト。転送ルールには最大 5 つの送信先サーバーグループを追加できます。 |
|
| ServerGroupTuples |
array<object> |
任意 |
リクエストの転送先となる送信先サーバーグループのリスト。転送ルールには最大 5 つの送信先サーバーグループを追加できます。 |
|
|
object |
任意 |
送信先サーバーグループの構造体。 |
||
| ServerGroupId |
string |
任意 |
サーバーグループの ID。 |
sgp-k86c1ov501id6p**** |
| Weight |
integer |
任意 |
サーバーグループの重み。重みが大きいサーバーグループほど、より多くのリクエストを受け取ります。有効値:0~100。
|
100 |
| ServerGroupStickySession |
object |
任意 |
サーバーグループ間のセッション維持構成。 |
|
| Enabled |
boolean |
任意 |
セッション維持を有効にするかどうかを指定します。有効値:
|
false |
| Timeout |
integer |
任意 |
タイムアウト期間 (秒)。有効値:1~86400。デフォルト:1000。 |
100 |
| InsertHeaderConfig |
object |
任意 |
ヘッダーフィールドを挿入するための構成。 |
|
| Key |
string |
任意 |
挿入するヘッダーフィールドの名前。名前の長さは 1~40 文字で、大文字・小文字のアルファベット a~z、数字、アンダースコア (_)、ハイフン (-) を含めることができます。InsertHeaderConfig で指定するヘッダーフィールド名は一意である必要があります。 説明
ヘッダー名に以下のフィールドを設定することはできません (大文字・小文字の区別なし): |
key |
| Value |
string |
任意 |
挿入するヘッダーフィールドの値。
|
UserDefined |
| ValueType |
string |
任意 |
ヘッダーフィールド値のコンテンツタイプ。有効な値:
|
UserDefined |
| Order |
integer |
必須 |
転送ルールの操作が実行される順序。有効な値: 1~50000。操作は値の昇順で実行されます。このパラメーターは空にできず、値を重複させることはできません。 |
1 |
| RedirectConfig |
object |
任意 |
リダイレクトの構成。 説明
RedirectConfig のパラメーターのうち、httpCode 以外のパラメーターはすべてデフォルト値を使用することはできません。 |
|
| Host |
string |
任意 |
リクエストのリダイレクト先のホスト。有効な値:
|
${host} |
| HttpCode |
string |
任意 |
リダイレクトタイプ。有効な値: 301、302、303、307、308。 |
301 |
| Path |
string |
任意 |
リクエストのリダイレクト先のパス。有効な値:
|
/test |
| Port |
string |
任意 |
リクエストのリダイレクト先のポート。
|
10 |
| Protocol |
string |
任意 |
リクエストのリダイレクト先のプロトコル。有効な値:
説明
|
HTTP |
| Query |
string |
任意 |
リクエストのリダイレクト先のクエリ文字列。
|
${query} |
| RewriteConfig |
object |
任意 |
再書き込みの構成。 説明
転送ルールに複数の操作を設定する場合、RewriteConfig 操作は ForwardGroup 操作タイプと併用する必要があります。 |
|
| Host |
string |
任意 |
内部リダイレクトの送信先ホスト名。有効な値:
|
www.example.com |
| Path |
string |
任意 |
リクエストのリダイレクト先のパス。有効な値:
|
/tsdf |
| Query |
string |
任意 |
内部リダイレクトのクエリ文字列。
|
${query} |
| Type |
string |
必須 |
操作タイプ。有効な値:
説明
転送ルールには、ForwardGroup (転送)、Redirect (リダイレクト)、または FixedResponse (固定応答の返却) のいずれかの操作を含める必要があります。この操作が他の操作タイプと共存する場合、最後に実行する必要があります。 |
ForwardGroup |
| TrafficLimitConfig |
object |
任意 |
トラフィックの速度制限構成。 |
|
| QPS |
integer |
任意 |
1 秒あたりのリクエスト数。有効な値: 1~1000000。 |
100 |
| PerIpQps |
integer |
任意 |
IP アドレスごとの 1 秒あたりのリクエスト数。有効な値: 1~1000000。 説明
QPS パラメーターと PerIpQps パラメーターの両方を設定する場合、PerIpQps の値は QPS の値より小さくする必要があります。 |
80 |
| TrafficMirrorConfig |
object |
任意 |
トラフィックミラーリングの構成。 |
|
| TargetType |
string |
任意 |
ミラーターゲットのタイプ。有効な値:
|
ForwardGroupMirror |
| MirrorGroupConfig |
object |
任意 |
サーバーグループへのトラフィックミラーリングの構成。 |
|
| ServerGroupTuples |
array<object> |
任意 |
トラフィックがミラーリングされるサーバーグループ。 |
|
|
object |
任意 |
トラフィックがミラーリングされるサーバーグループ。 |
||
| ServerGroupId |
string |
任意 |
サーバーグループの ID。 |
sgp-00mkgijak0w4qgz9**** |
| RemoveHeaderConfig |
object |
任意 |
HTTP ヘッダーフィールドを削除するための構成。 |
|
| Key |
string |
任意 |
削除するヘッダーフィールドの名前。名前の長さは 1~40 文字で、大文字・小文字のアルファベット a~z、数字、アンダースコア (_)、ハイフン (-) を含めることができます。RemoveHeader 内でヘッダーフィールド名を重複させることはできません。
|
test |
| CorsConfig |
object |
任意 |
CORS の構成。 |
|
| AllowOrigin |
array |
任意 |
許可されたオリジンのリスト。単一の要素
|
|
|
string |
任意 |
許可されたオリジン。 |
http://example.com |
|
| AllowMethods |
array |
任意 |
CORS リクエストで許可される HTTP メソッド。 |
|
|
string |
任意 |
CORS リクエストで許可される HTTP メソッド。有効な値:
|
GET |
|
| AllowHeaders |
array |
任意 |
CORS リクエストで許可されるヘッダーのリスト。 |
|
|
string |
任意 |
CORS リクエストで許可されるヘッダー。これを |
test_123 |
|
| ExposeHeaders |
array |
任意 |
公開できるヘッダーのリスト。 |
|
|
string |
任意 |
公開できるヘッダー。これを |
test_123 |
|
| AllowCredentials |
string |
任意 |
クレデンシャルを許可するかどうかを指定します。有効な値:
|
on |
| MaxAge |
integer |
任意 |
ブラウザにおけるプリフライトリクエストの最大キャッシュ時間。単位: 秒。 有効な値: -1~172800。 |
1000 |
| RuleConditions |
array<object> |
必須 |
転送ルールの条件のリスト。 |
|
|
array<object> |
必須 |
転送ルールの条件。 |
||
| CookieConfig |
object |
任意 |
Cookie の構成。 |
|
| Values |
array<object> |
任意 |
Cookie 値のリスト。 |
|
|
object |
任意 |
Cookie 値の構造体。 |
||
| Key |
string |
任意 |
クッキーのキー。
|
test |
| Value |
string |
任意 |
クッキーの値。
|
test |
| HeaderConfig |
object |
任意 |
ヘッダーフィールド設定の構成。 |
|
| Key |
string |
任意 |
ヘッダーフィールドキー。
|
Port |
| Values |
array |
任意 |
ヘッダーフィールド値のリスト。 |
|
|
string |
任意 |
HTTP ヘッダー値の有効値。同じ転送ルール条件内のヘッダーフィールド値を重複させることはできません。
|
5006 |
|
| HostConfig |
object |
任意 |
ホスト名の構成。 |
|
| Values |
array |
任意 |
ホスト名のリスト。 |
|
|
string |
任意 |
ホスト名。転送ルール条件には 1 つのホスト名のみを指定でき、値を重複させることはできません。
|
www.example.edu |
|
| MethodConfig |
object |
任意 |
リクエストメソッドの構成。 |
|
| Values |
array |
任意 |
リクエストメソッドのリスト。 |
|
|
string |
任意 |
リクエストメソッド。 有効な値: HEAD、GET、POST、OPTIONS、PUT、PATCH、DELETE。 |
PUT |
|
| PathConfig |
object |
任意 |
転送パスの構成。 |
|
| Values |
array |
任意 |
転送パスのリスト。 |
|
|
string |
任意 |
転送パス。有効な値:
|
/test |
|
| QueryStringConfig |
object |
任意 |
クエリ文字列の構成。 |
|
| Values |
array<object> |
任意 |
クエリ文字列のリスト。 |
|
|
object |
任意 |
クエリ文字列。 |
||
| Key |
string |
任意 |
クエリ文字列のキー。
|
test |
| Value |
string |
任意 |
クエリ文字列の値。
|
test |
| ResponseStatusCodeConfig |
object |
任意 |
応答状態コード設定の構成。 [_single.params.RuleConditions.items.ResponseStatusCodeConfig.Values. |
|
| Values |
array |
任意 |
応答状態コードのリスト。 |
|
|
string |
任意 |
応答状態コード。 |
test |
|
| ResponseHeaderConfig |
object |
任意 |
レスポンスヘッダーの構成。 |
|
| Key |
string |
任意 |
ヘッダーフィールドキー。
|
test |
| Values |
array |
任意 |
ヘッダーフィールド値のリスト。 |
|
|
string |
任意 |
ヘッダーフィールドの値。
|
50006 |
|
| Type |
string |
必須 |
転送ルールのタイプ。有効な値:
|
Host |
| SourceIpConfig |
object |
任意 |
ソース IP ベースのサービストラフィック一致の構成。このパラメーターは必須であり、Type が SourceIP に設定されている場合にのみ有効になります。 |
|
| Values |
array |
任意 |
サービストラフィック一致のためのソース IP アドレスのリスト。 |
|
|
string |
任意 |
1 つ以上の IP アドレスまたは CIDR ブロック。 |
192.168.0.0/32 |
|
| RuleName |
string |
必須 |
転送ルールの |
rule-doc |
| Tag |
array<object> |
任意 |
タグのリスト。 |
|
|
object |
任意 |
タグの構造体。 |
||
| Key |
string |
任意 |
タグキー。タグキーの長さは最大 128 文字で、aliyun または acs: で始めることはできません。http:// または https:// を含めることはできません。 |
env |
| Value |
string |
任意 |
タグ値。タグ値の長さは最大 128 文字で、aliyun または acs: で始めることはできません。http:// または https:// を含めることはできません。 |
product |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
The response struct. |
||
| JobId |
string |
非同期タスクの ID。 |
72dcd26b-f12d-4c27-b3af-18f6aed5**** |
| RequestId |
string |
リクエストの ID。 |
365F4154-92F6-4AE4-92F8-7FF34B540750 |
| RuleId |
string |
転送ルールの ID。 |
rule-a3x3pg1yohq3lq**** |
例
成功レスポンス
JSONJSON
{
"JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
"RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540750",
"RuleId": "rule-a3x3pg1yohq3lq****"
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 400 | IncorrectStatus.Listener | The status of %s [%s] is incorrect. | |
| 400 | OperationDenied.SameGroupForForwardAndMirrorAction | The operation is not allowed because of %s. | |
| 400 | OperationDenied.IpGroupCanNotUsedForMirrorAction | The operation is not allowed because of %s. | |
| 400 | OperationDenied.GRPCServerGroup | The operation is not allowed because of %s. | |
| 400 | Conflict.Priority | There is already %s having the same configuration with %s. | |
| 400 | ResourceQuotaExceeded.LoadBalancerRulesNum | The quota of %s is exceeded for resource %s, usage %s/%s. | |
| 400 | ResourceQuotaExceeded.ServerGroupAttachedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | |
| 400 | ResourceQuotaExceeded.LoadBalancerServersNum | The quota of %s is exceeded for resource %s, usage %s/%s. | |
| 400 | ResourceQuotaExceeded.ServerAddedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | |
| 400 | QuotaExceeded.RuleWildcardsNum | The quota of %s is exceeded, usage %s/%s. | |
| 400 | QuotaExceeded.RuleMatchEvaluationsNum | The quota of %s is exceeded, usage %s/%s. | |
| 400 | QuotaExceeded.RuleActionsNum | The quota of %s is exceeded, usage %s/%s. | |
| 400 | Mismatch.Protocol | The %s is mismatched for %s and %s. | |
| 400 | Mismatch.VpcId | The %s is mismatched for %s and %s. | |
| 400 | OperationDenied.RewriteMissingForwardGroup | The operation is not allowed because of RewriteMissingForwardGroup. | |
| 400 | ResourceInConfiguring.Listener | The specified listener is being configured, please try again later. | |
| 400 | OperationDenied.MirrorActionSupportHttpGroupOnly | The operation is not allowed because of MirrorActionSupportHttpGroupOnly. | |
| 400 | OperationDenied.ProtocolMustSameForForwardGroupAction | The operation is not allowed because of ProtocolMustSameForForwardGroupAction. | |
| 404 | ResourceNotFound.Listener | The specified resource %s is not found. | |
| 404 | ResourceNotFound.ServerGroup | The specified resource %s is not found. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。