転送ルールを作成します。
説明
Global Accelerator (GA) のHTTPおよびHTTPSリスナーは、ドメイン名ベースおよびパスベースの転送ルールをサポートしています。 HTTPまたはHTTPSリスナーがリクエストを受信した後、システムはリクエストを転送ルールの転送条件と照合し、対応する転送アクションを実行します。
たとえば、転送ルールでHostを転送条件としてwww.example.com
に、Forwardをepg-bp1enpdcrqhl78g6r ****
に転送アクションとして設定した場合、www.example.com
ドメイン名へのリクエストはこの転送ルールと一致し、epg-bp1enpdcrqhl78g6r ****
エンドポイントグループに転送されます。 このAPI操作を呼び出して転送ルールを作成する前に、転送ルールを理解することをお勧めします。 詳細については、「転送ルール」をご参照ください。
この操作を呼び出すときは、次の項目に注意してください。
- CreateForwardingRulesは非同期操作です。 リクエストを送信した後、システムは転送ルールのIDを返しますが、転送ルールはシステムのバックグラウンドでまだ作成されています。 ListForwardingRulesを呼び出して、転送ルールの状態を照会できます。
- 転送ルールが設定中の状態にある場合は、ルールが作成中であることを示します。 この場合、クエリ操作のみを実行できます。
- 転送ルールがアクティブ状態の場合、ルールが作成されたことを示します。
- CreateForwardingRules操作は、特定の期間内に同じGAインスタンスに対して繰り返し呼び出すことはできません。
デバッグ
リクエストパラメーター
項目 | データ型 | 必須/任意 | 例: | 説明 |
---|---|---|---|---|
操作 | String | 必須 | CreateForwardingRules |
実行する操作です。 値をCreateForwardingRulesに設定します。 |
RegionId | String | 必須 | cn-hangzhou |
GAインスタンスがデプロイされているリージョンのID。 値をcn-hangzhouに設定します。 |
ClientToken | String | 任意 | 02fb3da4 **** |
リクエストのべき等性を保証するために使用されるクライアントトークン。 クライアントを使用して値を生成できますが、異なるリクエスト間で一意であることを確認する必要があります。 ClientTokenにはASCII文字のみを含めることができます。 説明 このパラメーターを設定しない場合、ClientTokenはRequestIdの値に設定されます。 RequestIdの値は、APIリクエストごとに異なる場合があります。
|
AcceleratorId | String | 必須 | ga-bp17frjjh0udz4q **** |
GA インスタンスの ID です。 |
ListenerId | String | 必須 | lsr-bp1s0vzbi5bxlx5 **** |
リスナーの ID を示します。 |
ForwardingRules.N. 優先順位 | Integer | いいえ | 1000 |
転送ルールの優先度。 有効な値: 1〜10000。 値が小さいほど、優先度が高くなります。 |
ForwardingRules.N.RuleConditions.N.RuleConditionType | String | 任意 | ホスト |
転送条件のタイプ。 有効な値:
|
ForwardingRules.N.RuleConditions.N.RuleConditionValue | String | 任意 | ["www.example.com", "www.aliyun.com"] |
転送条件タイプの値。 RuleConditionTypeパラメーターに基づいて異なるJSON文字列を指定する必要があります。
|
ForwardingRules.N.RuleConditions.N.PathConfig | 地図 | いいえ |
パスの設定。 説明 このパラメーターは使用しないことを推奨します。 RuleConditionTypeおよびRuleConditionValueパラメーターを使用して転送条件を設定することを推奨します。
|
|
ForwardingRules.N.RuleConditions.N.HostConfig | 地図 | いいえ |
ドメイン名の設定。 説明 このパラメーターは使用しないことを推奨します。 RuleConditionTypeおよびRuleConditionValueパラメーターを使用して転送条件を設定することを推奨します。
|
|
ForwardingRules.N.RuleActions.N.Order | Integer | 〇 | 20 |
転送の優先度。 説明 このパラメータは有効になりません。 このパラメーターを無視します。
|
ForwardingRules.N.RuleActions.N.RuleActionType | String | 必須 | ForwardGroup |
転送アクションのタイプ。 有効な値:
|
ForwardingRules.N.RuleActions.N.RuleActionValue | String | 任意 | [{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r ****"}] |
転送アクションタイプの値。 RuleActionTypeパラメーターに基づいて異なるJSON文字列を指定する必要があります。 転送ルールには、タイプがForwardGroup、Redirect、またはFixResponseの転送アクションを1つだけ含めることができます。 タイプが書き換え、AddHeader、またはRemoveHeaderの転送アクションを、タイプがForwardGroupの転送アクションの前に指定する必要があります。
|
ForwardingRules.N.RuleActions.N.ForwardGroupConfig | 地図 | いいえ |
転送設定。 説明 このパラメーターは使用しないことを推奨します。 RuleActionTypeおよびRuleActionValueパラメーターを使用して転送アクションを設定することを推奨します。
|
|
ForwardingRules.N.ForwardingRuleName | String | 任意 | test |
転送ルールの名前。 名前は2 ~ 128文字で、英数字、ピリオド (.) 、アンダースコア (_) 、ハイフン (-) を使用できます。 先頭は英字とする必要があります。 |
ForwardingRules.N.RuleDirection | String | 任意 | request |
ルールが有効になる方向。 このパラメータは設定する必要がありません。 既定では、このパラメーターはrequestに設定されています。これは、ルールがリクエストに対して有効になることを示します。 |
レスポンスパラメーター
項目 | データ型 | 例: | 説明 |
---|---|---|---|
RequestId | String | 64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF |
リクエストの ID です。 |
ForwardingRules | ForwardingRulesの配列 |
転送ルールの詳細。 |
|
ForwardingRuleId | String | frule-bp1dii16gu9qdvb34 **** |
転送ルールのID。 |
例
リクエストの例
http(s)://[Endpoint]/?Action=CreateForwardingRules
&RegionId=cn-hangzhou
&ClientToken=02fb3da4 ****
&AcceleratorId=ga-bp17frjjh0udz4q ****
&ListenerId=lsr-bp1s0vzbi5bxlx5 ****
&ForwardingRules=[{"Priority":1000,"RuleConditions":"Host","RuleConditionValue":"[\" www.example.com\", \" www.aliyun.com\"]"}],"RuleActions":[{"Order":20,"RuleActionType":"\" Ruletype "," \"endpointgroup\", \"value\":\"epg-bp1enpdcrqhl78g6r ****\"}]"}]
&共通リクエストパラメータ
正常に処理された場合のレスポンス例
XML
形式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateForwardingRulesResponse>
<RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>
<ForwardingRules>
<ForwardingRuleId>frule-bp1dii16gu9qdvb34 ****</ForwardingRuleId>
</ForwardingRules>
</CreateForwardingRulesResponse>
JSON
形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF" 、
"ForwardingRules" : [ {
"ForwardingRuleId" : "frule-bp1dii16gu9qdvb34 ****"
} ]
}
エラーコード
HttpCode | エラーコード | エラーメッセージ | 説明 |
---|---|---|---|
400 | NotExist.Listener | リスナーが存在しません。 | 指定されたリスナーが存在しない場合に返されるエラーメッセージ。 |
400 | NotActive.Listener | リスナーの状態がアクティブではありません。 | 指定されたリスナーが不安定な場合に返されるエラーメッセージ。 |
400 | NotExist.Accelerator | 高速化されたインスタンスは存在しません。 | 指定されたGAインスタンスが存在しない場合に返されるエラーメッセージ。 |
400 | NotExist.BusinessRegion | ビジネスリージョンは存在しません。 | 指定されたリージョンが存在しない場合に返されるエラーメッセージ。 |
400 | NotExist.BasicBandwidthPackage | 基本帯域幅パッケージを指定する必要があります。 | 基本帯域幅プランが指定されていない場合に返されるエラーメッセージ。 |
400 | QuotaExceeded.EndPoint | エンドポイントの最大数を超えています。 | エンドポイントの数が上限に達した場合に返されるエラーメッセージ。 |
400 | 存在します。EndpointGroup | エンドポイントグループは既に存在します。 | 指定されたエンドポイントグループが既に存在する場合に返されるエラーメッセージ。 |
400 | NoPermission.VpcEndpoint | 操作を実行する権限がありません。 | サービスにリンクされたロールを作成する権限がない場合に返されるエラーメッセージ。 Alibaba Cloudアカウントの所有者または管理者に連絡して、AliyunGlobalAccelerationFullAccess権限を取得するか、カスタムポリシーを作成してください。 カスタムポリシーのサービス名をo vpcendpoint.ga.aliyuncs.comに設定し、サービスにリンクされたロールをAliyunServiceRoleForGaVpcEndpointに設定し、ram:CreateServiceLinkedRoleに付与する権限を設定します。 |
400 | QuotaExceeded.ForwardingRule | 転送ルールの数が制限を超えています。 | 転送ルールの数が上限に達した場合に返されるエラーメッセージ。 |
エラーコードリストについては、「API エラーセンター」をご参照ください。