すべてのプロダクト
Search
ドキュメントセンター

Global Accelerator:CreateForwardingRules

最終更新日:Jul 13, 2026

リスナーの転送ルールを作成します。ドメイン名やパスなどのリクエスト属性、または HTTP ヘッダーや Cookie などのリクエストに含まれるデータに基づいてトラフィックを配信および処理する必要がある場合、リスナーのカスタム転送ルールを設定できます。リスナーは、転送ルールに基づいてアクセスリクエストに対して異なる転送操作を実行します。

操作説明

この操作を呼び出して転送ルールを作成する前に、転送ルールの原理とマッチングルールを理解しておくことを推奨します。詳細については、「転送ルール」をご参照ください。

この操作を呼び出す際は、以下の点にご注意ください。

  • CreateForwardingRules は非同期操作です。リクエストを送信すると、システムは転送ルール ID を返しますが、転送ルールはまだ作成されていません。作成タスクはバックグラウンドで引き続き実行されます。 ListForwardingRules を呼び出して、転送ルールのステータスをクエリできます。

    • 転送ルールのステータスが configuring の場合、転送ルールは作成中です。この状態では、クエリ操作のみを実行できます。

    • 転送ルールのステータスが active な場合、転送ルールは作成済みです。

  • CreateForwardingRules は、同じ Alibaba Cloud Global Accelerator (GA) インスタンス内での転送ルールの同時作成をサポートしていません。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

ga:CreateForwardingRules

create

*Listener

acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}

*Accelerator

acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}

なし なし

リクエストパラメーター

パラメーター

必須 / 任意

説明

RegionId

string

必須

Alibaba Cloud Global Accelerator (GA) インスタンスのリージョン ID。値を ap-southeast-1 に設定します。

cn-hangzhou

ClientToken

string

任意

リクエストのべき等性を確保するために使用されるクライアントトークン。

クライアントを使用してトークンを生成できますが、異なるリクエスト間でトークンが一意であることを確認する必要があります。トークンには ASCII 文字のみを使用できます。

説明

このパラメーターを指定しない場合、システムは自動的に RequestId の値を ClientToken の値として使用します。RequestId の値は、各 API リクエストごとに異なります。

02fb3da4****

AcceleratorId

string

必須

Alibaba Cloud Global Accelerator (GA) のインスタンス ID。

ga-bp17frjjh0udz4q****

ListenerId

string

必須

リスナーのインスタンス ID。

lsr-bp1s0vzbi5bxlx5****

ForwardingRules

array<object>

必須

転送ルールの構成。

test

array<object>

任意

転送ルールの構成。

Priority

integer

任意

転送ルールの優先度。 有効な値: 110000。値が小さいほど優先度が高くなります。

1

RuleConditions

array<object>

必須

転送条件のリスト。

array<object>

任意

転送条件のリスト。

RuleConditionType

string

任意

転送条件のタイプ。有効な値:

  • Host: ドメイン名。

  • Path: パス。

  • RequestHeader: HTTP ヘッダー。

  • Query: クエリ文字列。

  • Method: HTTP リクエストメソッド。

  • Cookie: Cookie。

  • SourceIP: ソース IP アドレス。

Host

RuleConditionValue

string

任意

転送条件タイプに対応する値。 RuleConditionType の値に基づいて、異なる JSON 文字列値を渡します。

  • RuleConditionTypeHost にセットされている場合、このパラメーターはドメイン名条件の構成を指定します。1 つの転送ポリシーで作成できるドメイン名タイプの転送ルールは 1 つだけです。転送ルールは複数のドメイン名をサポートし、複数のドメイン名の関係は OR です。ドメイン名の長さは 3 ~ 128 文字で、英数字、ハイフン (-)、ピリオド (.) を含めることができます。ワイルドカード文字としてアスタリスク (*) と疑問符 (?) がサポートされています。例: ["www.example.com", "www.aliyun.com"]

  • RuleConditionTypePath にセットされている場合、このパラメーターはパス条件の構成を指定します。1 つの転送ポリシーで複数のパスタイプの転送ルールを作成でき、複数のパスタイプの転送ルールの関係は OR です。パスタイプの転送ルールは複数のパスをサポートし、複数のパスの関係は OR です。パスの長さは 1 ~ 128 文字で、スラッシュ (/) で始まる必要があります。パスに含めることができるのは、英数字、ドル記号 ($)、ハイフン (-)、アンダースコア (_)、ピリオド (.)、プラス記号 (+)、スラッシュ (/)、アンパサンド (&)、チルダ (~)、アットマーク (@)、コロン (:)、アポストロフィ (') のみです。ワイルドカード文字としてアスタリスク (*) と疑問符 (?) がサポートされています。例: ["/a", "/b/"]

  • RuleConditionTypeRequestHeader にセットされている場合、このパラメーターは HTTP ヘッダーフィールド条件の構成を指定します。これはキーと値で構成されます。同じ転送ルール条件内でヘッダーフィールドの値を重複させることはできません。例: [{"header1":["value1","value2"]}]

    • Key: HTTP ヘッダーのキーの長さは 1 ~ 40 文字で、英数字、ハイフン (-)、アンダースコア (_) を含めることができます。

    • Value: HTTP ヘッダーの値の長さは 1 ~ 128 文字で、ch >= 32 && ch < 127 の範囲の印刷可能な ASCII 文字を含めることができます。値の先頭または末尾にスペースを使用することはできません。

  • RuleConditionTypeQuery にセットされている場合、このパラメーターはクエリ文字列条件の構成を指定します。これはキーと値で構成されます。例: [{"query1":["value1"]}, {"query2":["value2"]}]

    • Key: キーの長さは 1 ~ 100 文字で、ch >= 32 && ch < 127 の範囲の印刷可能な ASCII 文字を含めることができます。アルファベットは小文字である必要があります。スペースおよび次の文字はサポートされていません: []{}<>\;/?:@&=+,$%"^~

    • Value: 値の長さは 1 ~ 128 文字で、ch >= 32 && ch < 127 の範囲の印刷可能な ASCII 文字を含めることができます。アルファベットは小文字である必要があります。スペースおよび次の文字はサポートされていません: []{}<>\;/?:@&=+,$%"^~

  • RuleConditionTypeMethod にセットされている場合、このパラメーターはリクエストメソッドの構成を指定します。有効な値: HEADGETPOSTOPTIONSPUTPATCHDELETE。例: ["GET", "OPTIONS", "POST"]

  • RuleConditionTypeCookie にセットされている場合、このパラメーターは Cookie の構成を指定します。これはキーと値で構成されます。例: [{"cookie1":["value1"]}, {"cookie2":["value2"]}]

    • Key: Cookie のキーの長さは 1 ~ 100 文字で、ch >= 32 && ch < 127 の範囲の印刷可能な ASCII 文字を含めることができます。アルファベットは小文字である必要があります。スペースおよび次の文字はサポートされていません: #[]{}\<>&

    • Value: Cookie の値の長さは 1 ~ 128 文字で、ch >= 32 && ch < 127 の範囲の印刷可能な ASCII 文字を含めることができます。アルファベットは小文字である必要があります。スペースおよび次の文字はサポートされていません: #[]{}\<>&

  • RuleConditionTypeSourceIP にセットされている場合、このパラメーターはソース IP アドレスの構成を指定します。1.1.XX.XX/32 などの IP アドレスや 2.2.XX.XX/24 などの CIDR ブロックがサポートされています。1 つの転送ルールで作成できるソース IP ルールは 1 つだけです。転送ルールは複数のソース IP アドレスをサポートし、複数の IP アドレスの関係は OR です。例: ["1.1.XX.XX/32", "2.2.XX.XX/24"]

["www.example.com", "www.aliyun.com"]

PathConfig

object

任意

パスの構成。

説明

このパラメーターは推奨されません。転送条件の設定には RuleConditionTypeRuleConditionValue を使用してください。

Values

array

任意

パス構成。

パスは 1 ~ 128 文字で、先頭にスラッシュ (/) が必要です。英字、数字、ドル記号 ($ )、ハイフン (-)、アンダースコア (_ )、ピリオド (.)、プラス記号 (+)、スラッシュ (/)、アンパサンド (&)、チルダ (~)、アットマーク (@)、コロン (:)、アポストロフィ (') を含めることができます。ワイルドカードとしてアスタリスク (*) および疑問符 (?) を使用できます。

説明

このパラメーターは非推奨です。ルール条件の構成には、RuleConditionType および RuleConditionValue を使用することを推奨します。

string

任意

パス構成。

パスは 1 ~ 128 文字で、先頭にスラッシュ (/) が必要です。英字、数字、ドル記号 ($ )、ハイフン (-)、アンダースコア (_ )、ピリオド (.)、プラス記号 (+)、スラッシュ (/)、アンパサンド (&)、チルダ (~)、アットマーク (@)、コロン (:)、アポストロフィ (') を含めることができます。ワイルドカードとしてアスタリスク (*) および疑問符 (?) を使用できます。

説明

このパラメーターは非推奨です。ルール条件の構成には、RuleConditionType および RuleConditionValue を使用することを推奨します。

/test

HostConfig

object

任意

ドメイン名の構成。

説明

このパラメーターは推奨されません。転送条件の設定には RuleConditionTypeRuleConditionValue を使用してください。

Values

array

任意

ドメイン名構成。

説明

このパラメーターは非推奨です。ルール条件の構成には、RuleConditionType および RuleConditionValue を使用することを推奨します。

string

任意

ドメイン名。ドメイン名は 3 ~ 128 文字で、英字、数字、ハイフン (-)、ピリオド (.) を含めることができます。ワイルドカードとしてアスタリスク (*) および疑問符 (?) を使用できます。

説明

このパラメーターは非推奨です。ルール条件の構成には、RuleConditionType および RuleConditionValue を使用することを推奨します。

example.com

RuleActions

array<object>

必須

転送操作。

array<object>

任意

転送操作。

Order

integer

必須

転送の優先度。

説明

このパラメーターは使用されません。設定する必要はありません。

20

RuleActionType

string

必須

転送操作のタイプ。有効な値:

  • ForwardGroup: リクエストを転送します。

  • Redirect: リクエストをリダイレクトします。

  • FixResponse: 固定応答を返します。

  • Rewrite: リクエストを再書き込みします。

  • AddHeader: ヘッダーフィールドを追加します。

  • RemoveHeader: ヘッダーフィールドを削除します。

  • Drop: リクエストをドロップします。

ForwardGroup

RuleActionValue

string

任意

転送操作タイプに対応する値。

RuleActionType の値に基づいて、異なる JSON 文字列値を渡します。

1 つの転送ルールには、ForwardGroupRedirect、または FixResponse タイプの転送操作を最大 1 つ含めることができます。RewriteAddHeaderRemoveHeader タイプの転送操作は、ForwardGroup タイプの転送操作の前に配置する必要があります。

  • RuleActionTypeForwardGroup にセットされている場合、このパラメーターは仮想エンドポイントグループ情報を指定します。サポートされる仮想エンドポイントグループは 1 つだけです。例: {"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}。ここで:

    • type: 値を endpointgroup にセットします。

    • value: 送信先の仮想エンドポイントグループの ID。

  • RuleActionTypeRedirect にセットされている場合、このパラメーターはリダイレクト構成を指定します。Redirect 転送操作では、protocoldomainportpathquery のすべてを空にしたり、デフォルト値にセットしたりすることはできません。例: {"protocol":"HTTP", "domain":"www.example.com", "port":"80", "path":"/a","query":"value1", "code":"301" }。ここで:

    • protocol: リダイレクトプロトコル。有効な値: HTTPHTTPS。デフォルト値: HTTP

    • domain: リダイレクト先のドメイン名。このパラメーターが空の場合、元のドメイン名が保持されます。ドメイン名の長さは 3 ~ 128 文字で、小文字の英数字と次の特殊文字のみを含めることができます: .-?=~_-+/^*!$&()[]

    • port: リダイレクト先のポート。このパラメーターが空の場合、デフォルトのポートが使用されます。デフォルトのポートは、HTTP リスナーの場合は 80HTTPS リスナーの場合は 443 です。有効な値: 163335

    • path: リダイレクト先のパス。このパラメーターが空の場合、元のパスが保持されます。パスの長さは 1 ~ 128 文字である必要があります。正規表現パスはチルダ (~) で始まり、大文字・小文字の英数字と次の特殊文字を含めることができます: .-_/=?~^*$:()[]+。正規表現以外のパスはスラッシュ (/) で始まり、大文字・小文字の英数字と次の特殊文字を含めることができます: .-_/=?:

    • query: リダイレクト先のクエリパラメーター。このパラメーターが空の場合、元のクエリ文字列が保持されます。クエリ文字列の長さは 1 ~ 128 文字で、ch >= 32 && ch < 127 の範囲の印刷可能な ASCII 文字を含めることができます。アルファベットは小文字である必要があります。スペースおよび次の特殊文字はサポートされていません: []{}<>\#&

    • code: HTTP リダイレクトコード。有効な値: 301302303307308

  • RuleActionTypeFixResponse にセットされている場合、このパラメーターは固定応答の構成を指定します。例: {"code":"200", "type":"text/plain", "content":"dssacav" }。ここで:

    • code: 応答の状態コード。2xx4xx5xx のフォーマットの数値文字列のみがサポートされています (x は任意の数字)。

    • type: レスポンスボディのコンテンツタイプ。有効な値: text/plaintext/csstext/htmlapplication/javascriptapplication/json

    • content: 本文。本文の長さは 1,000 文字以内で、中国語文字はサポートされていません。

  • RuleActionTypeAddHeader にセットされている場合、このパラメーターは HTTP ヘッダーフィールドの挿入構成を指定します。転送ルールに AddHeader 転送操作が含まれている場合は、ForwardGroup 転送操作も設定する必要があります。例: [{"name":"header1","type":"user-defined", "value":"value"}]。ここで:

    • name: HTTP ヘッダーフィールドの名前。名前の長さは 1 ~ 40 文字で、大文字・小文字の英数字、ハイフン (-)、アンダースコア (_) を含めることができます。AddHeader の HTTP ヘッダーフィールド名を重複させたり、RemoveHeader の HTTP ヘッダーフィールド名と同じにしたりすることはできません。

    • type: HTTP ヘッダーフィールドのコンテンツタイプ。有効な値: user-definedrefsystem-defined

    • value: HTTP ヘッダーフィールドの内容。内容を空にすることはできません。typeuser-defined にセットされている場合、値の長さは 1 ~ 128 文字で、ch >= 32 && ch < 127 の範囲の印刷可能な ASCII 文字、大文字・小文字の英数字、ハイフン (-)、アンダースコア (_) を含めることができます。値の先頭または末尾にスペースを使用することはできません。typeref にセットされている場合、値の長さは 1 ~ 128 文字で、大文字・小文字の英数字、ハイフン (-)、アンダースコア (_) を含めることができます。値の先頭または末尾にスペースを使用することはできません。typesystem-defined にセットされている場合、ClientSrcIp のみがサポートされています。

  • RuleActionTypeRemoveHeader にセットされている場合、このパラメーターは削除する HTTP ヘッダーフィールドを指定します。転送ルールに RemoveHeader 転送操作が含まれている場合は、ForwardGroup 転送操作も設定する必要があります。値の長さは 1 ~ 40 文字で、大文字・小文字の英数字、ハイフン (-)、アンダースコア (_) を含めることができます。例: ["header1"]

  • RuleActionTypeRewrite にセットされている場合、このパラメーターは再書き込み構成を指定します。転送ルールに Rewrite 転送操作が含まれている場合は、ForwardGroup 転送操作も設定する必要があります。例: {"domain":"value1", "path":"value2", "query":"value3"}。ここで:

    • domain: 再書き込み先のドメイン名。このパラメーターが空の場合、元のドメイン名が保持されます。ドメイン名の長さは 3 ~ 128 文字で、小文字の英数字と次の特殊文字のみを含めることができます: .-?=~_-+/^*!$&()[]

    • path: 再書き込み先のパス。このパラメーターが空の場合、元のパスが保持されます。パスの長さは 1 ~ 128 文字である必要があります。正規表現パスはチルダ (~) で始まり、大文字・小文字の英数字と次の特殊文字を含めることができます: .-_/=?~^*$:()[]+。正規表現以外のパスはスラッシュ (/) で始まり、大文字・小文字の英数字と次の特殊文字を含めることができます: .-_/=?:

    • query: 再書き込み先のクエリパラメーター。このパラメーターが空の場合、元のクエリ文字列が保持されます。クエリ文字列の長さは 1 ~ 128 文字で、ch >= 32 && ch < 127 の範囲の印刷可能な ASCII 文字を含めることができます。アルファベットは小文字である必要があります。スペースおよび次の特殊文字はサポートされていません: []{}<>\#&

  • RuleActionTypeDrop にセットされている場合、このパラメーターを指定する必要はありません。

[{"type":"endpointgroup","value":"epg-bp1l49ltx6iengvf2ks5z****"}]

ForwardGroupConfig

object

任意

転送操作の構成。

説明

このパラメーターは推奨されません。転送操作の設定には RuleActionTypeRuleActionValue を使用してください。

ServerGroupTuples

array<object>

必須

エンドポイントグループ構成。

説明

このパラメーターは非推奨です。ルール操作の構成には、RuleActionType および RuleActionValue を使用することを推奨します。

object

必須

エンドポイントグループ構成。

説明

このパラメーターは非推奨です。ルール操作の構成には、RuleActionType および RuleActionValue を使用することを推奨します。

EndpointGroupId

string

必須

エンドポイントグループの ID。

説明

このパラメーターは非推奨です。ルール操作の構成には、RuleActionType および RuleActionValue を使用することを推奨します。

epg-bp1nktp3qgbcq9ih6****

ForwardingRuleName

string

任意

転送ルールのポリシー名。ポリシー名の長さは 2 ~ 128 文字で、英数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) を含めることができます。ポリシー名の先頭は英字または漢字である必要があります。

test

RuleDirection

string

任意

ルールが効果を持つ方向。このパラメーターを設定する必要はありません。

デフォルト値は request で、ルールがリクエストに対して効果を持つことを示します。

request

レスポンスフィールド

フィールド

説明

object

レスポンスパラメーター。

RequestId

string

リクエスト ID。

64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF

ForwardingRules

array<object>

転送ルールに関する情報。

object

転送ルールに関する情報。

ForwardingRuleId

string

転送ルールの ID。

frule-bp1dii16gu9qdvb34****

成功レスポンス

JSONJSON

{
  "RequestId": "64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF",
  "ForwardingRules": [
    {
      "ForwardingRuleId": "frule-bp1dii16gu9qdvb34****"
    }
  ]
}

エラーコード

HTTP ステータスコード

エラーコード

エラーメッセージ

説明

400 NotExist.Listener The listener does not exist. The listener does not exist.
400 NotActive.Listener The state of the listener is not active. The state of the listener is not active.
400 NotExist.Accelerator The accelerated instance does not exist. The accelerated instance does not exist.
400 StateError.Accelerator The state of the accelerated instance is invalid.
400 NotExist.BusinessRegion The business region does not exist. The business region does not exist.
400 NotExist.BasicBandwidthPackage You must specify the basic bandwidth package. You must specify the basic bandwidth package.
400 QuotaExceeded.EndPoint The maximum number of endpoints is exceeded. The maximum number of endpoints is exceeded.
400 Exist.EndpointGroup The endpoint group already exists.
400 NoPermission.VpcEndpoint You are not authorized to perform the operation.
400 QuotaExceeded.ForwardingRule The number of forwarding rule exceeds the limit.
400 SystemBusy System busy, please try again later.
400 RepeatPathAndHost.ForwardingRule The path and host %s are duplicated.
400 QuotaExceeded.RuleConditionConfig The number of paths and hosts exceeds the limit.

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。