指定されたリスナーの転送ルールを作成します。
操作説明
この操作を呼び出して転送ルールを作成する際は、次の点にご注意ください。
-
リダイレクト操作を設定する場合、HttpCode 以外のパラメーターを少なくとも 1 つ、デフォルト以外の値に設定する必要があります。
-
同じ転送ルールに複数の操作を設定する場合、Rewrite 操作には ForwardGroup 操作を付随させる必要があります。
-
CreateRule は非同期操作です。リクエストが送信されると、システムはリクエスト ID を返します。システムはバックグラウンドで転送ルールを作成するため、転送ルールはすぐには作成されません。ListRules を呼び出して転送ルールのステータスをクエリできます。
転送ルールが Provisioning 状態の場合、作成中です。
転送ルールが 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 Balancer (ALB) リスナーの ID。 |
lsn-l16uo9y****** |
| ClientToken |
string |
任意 |
リクエストのべき等性を保証するために使用されるクライアントトークンです。 クライアントがトークンを生成しますが、異なるリクエスト間でトークンが一意であることを確認する必要があります。トークンには ASCII 文字のみを含めることができます。 説明
このパラメーターを指定しない場合、システムは自動的にリクエストの RequestId を ClientToken として使用します。各 API リクエストの RequestId は異なります。 |
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 |
任意 |
リクエストが転送される vServer グループ。最大 5 つの vServer グループを指定できます。 |
|
| ServerGroupTuples |
array |
任意 |
リクエストが転送される vServer グループ。最大 5 つの vServer グループを指定できます。 |
|
|
object |
任意 |
宛先 vServer グループ。 |
||
| ServerGroupId |
string |
任意 |
宛先 vServer グループ。 |
sgp-k86c1ov501id6p**** |
| Weight |
integer |
任意 |
重み。値が大きいほど、重みが高くなります。重みが大きい vServer グループには、より多くのリクエストが転送されます。有効な値: 0~100。
|
100 |
| ServerGroupStickySession |
object |
任意 |
vServer グループのセッション維持。 |
|
| Enabled |
boolean |
任意 |
セッション維持を有効にするかどうかを指定します。有効な値:
|
false |
| Timeout |
integer |
任意 |
タイムアウト期間。単位: 秒。有効な値: 1~86400。デフォルト値: 1000。 |
100 |
| InsertHeaderConfig |
object |
任意 |
挿入するヘッダーの設定。 |
|
| Key |
string |
任意 |
挿入するヘッダーのキー。キーの長さは 1~40 文字で、文字、数字、アンダースコア (_)、ハイフン (-) を含めることができます。InsertHeaderConfig のキーは、別の InsertHeaderConfig のキーと同じにすることはできません。 説明
次のヘッダーキーはサポートされていません (大文字と小文字は区別されません): |
key |
| Value |
string |
任意 |
挿入するヘッダーの値。
|
UserDefined |
| ValueType |
string |
任意 |
ヘッダー値のタイプ。有効な値:
|
UserDefined |
| Order |
integer |
必須 |
操作の順序。有効な値: 1~50000。値が小さいほど、優先度が高くなります。値は空にすることも、異なる操作で同じにすることもできません。 |
1 |
| RedirectConfig |
object |
任意 |
リダイレクトの設定。 説明
httpCode を除く RedirectConfig のすべてのパラメーターをデフォルト値に設定することはできません。 |
|
| Host |
string |
任意 |
リクエストがリダイレクトされる宛先ホスト。有効な値:
|
${host} |
| HttpCode |
string |
任意 |
リダイレクトメソッド。有効な値: 301、302、303、307、および 308。 |
301 |
| Path |
string |
任意 |
リクエストがリダイレクトされる宛先パス。有効な値:
|
/test |
| Port |
string |
任意 |
リクエストがリダイレクトされる宛先ポート。
|
10 |
| Protocol |
string |
任意 |
リクエストがリダイレクトされる宛先プロトコル。有効な値:
説明
|
HTTP |
| Query |
string |
任意 |
リクエストがリダイレクトされる宛先 URL のクエリ文字列。
|
${query} |
| RewriteConfig |
object |
任意 |
再書き込みの設定。 説明
同じ転送ルールに複数の操作を設定する場合、RewriteConfig 操作の ForwardGroup 操作タイプを設定する必要があります。 |
|
| Host |
string |
任意 |
リクエストが再書き込みされる宛先ホスト。有効な値:
|
www.example.com |
| Path |
string |
任意 |
リクエストが再書き込みされる宛先パス。有効な値:
|
/tsdf |
| Query |
string |
任意 |
リクエストが再書き込みされる宛先 URL のクエリ文字列。
|
${query} |
| Type |
string |
必須 |
操作タイプ。有効な値:
説明
転送ルールには、ForwardGroup (転送)、Redirect (リダイレクト)、または FixedResponse (固定応答) 操作を含める必要があります。これらの操作を他のタイプの操作と併用する場合は、これらの操作が最後に実行されるようにする必要があります。 |
ForwardGroup |
| TrafficLimitConfig |
object |
任意 |
トラフィックの速度制限の設定。 |
|
| QPS |
integer |
任意 |
クエリ/秒 (QPS)。有効な値: 1~1000000。 |
100 |
| PerIpQps |
integer |
任意 |
単一 IP アドレスの QPS。有効な値: 1~1000000。 説明
QPS と PerIpQps パラメーターの両方を指定する場合、PerIpQps の値は QPS の値より小さくする必要があります。 |
80 |
| TrafficMirrorConfig |
object |
任意 |
トラフィックミラーリングの設定。 |
|
| TargetType |
string |
任意 |
トラフィックがミラーリングされる宛先。有効な値:
|
ForwardGroupMirror |
| MirrorGroupConfig |
object |
任意 |
トラフィックがミラーリングされる vServer グループ。 |
|
| ServerGroupTuples |
array |
任意 |
トラフィックがミラーリングされる vServer グループ。 |
|
|
object |
任意 |
トラフィックがミラーリングされる vServer グループ。 |
||
| ServerGroupId |
string |
任意 |
vServer グループの ID。 |
sgp-00mkgijak0w4qgz9**** |
| RemoveHeaderConfig |
object |
任意 |
削除する HTTP ヘッダーの設定。 |
|
| Key |
string |
任意 |
削除するヘッダーのキー。キーの長さは 1~40 文字で、文字、数字、アンダースコア (_)、ハイフン (-) を含めることができます。キーは別の RemoveHeaderConfig で使用することはできません。
|
test |
| CorsConfig |
object |
任意 |
CORS の設定。 |
|
| AllowOrigin |
array |
任意 |
許可されたオリジン。アスタリスク (
|
|
|
string |
任意 |
許可されたオリジン。 |
http://example.com |
|
| AllowMethods |
array |
任意 |
クロスオリジンリクエストで許可される HTTP メソッド。 |
|
|
string |
任意 |
クロスオリジンリクエストで許可される HTTP メソッド。有効な値:
|
GET |
|
| AllowHeaders |
array |
任意 |
クロスオリジンリクエストで許可されるヘッダー。 |
|
|
string |
任意 |
許可されるヘッダー。アスタリスク ( |
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 |
任意 |
Cookie。 |
|
|
object |
任意 |
クッキー。 |
||
| Key |
string |
任意 |
Cookie のキー。
|
test |
| Value |
string |
任意 |
Cookie の値。
|
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 |
任意 |
クエリ文字列。 |
||
| Key |
string |
任意 |
クエリ文字列のキー。
|
test |
| Value |
string |
任意 |
クエリ文字列の値。
|
test |
| ResponseStatusCodeConfig |
object |
任意 |
応答ステータスコードの設定。 |
|
| 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 |
返されたデータ。 |
||
| 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. |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。